Decaf Boards, the RaspberryPie 2 / 3 and Windows 10 IoT

Last Update: Mar 14, 2018 @ 15:39

Preliminary Information subject to change

We are working on support for the RaspberryPie 2/3 (Rpi2/3) and Pine A64 boards.

March 2018: W10 IoT development on the Pine A64 appears to have stalled again, so we have scrapped using W10 IoT, and moved to linux on the Rpi and Pine A64.

December 2017: Development of W10 IoT support on the Pine A64 board by the manufacturer has picked up again, with some progress being made with a new version of the W10 IoT binaries. There are still some issues. For example, the HDMI support is limited to monitors that support a 64Hz refresh rate. Only one of the our monitors, curiously the cheapest, supports 64Hz. By comparison, the RPi2 W10 IoT binary supports a range of refresh rates and screen sizes.

April 2017: Development of W10 IoT support on the Pine A64 board by the manufacturer seems to have stalled around December last year.  The board does boot up with a W10 IoT binary, but networking support, required to connect to the IoT Manager, is not present. This makes the Pine A64 useless as a W10 IoT node at the moment. Until this is resolved, we are moving to Android support work.

December 2016: PiXCL received an Rpi3 kit for Christmas. It’s a bit faster than the Rpi2, and comes with Raspbian OS (Linux) on a microSD card. It boots up in about 10 seconds with a very nice desktop.

September 2016: We now have a Pine A64 board that also runs W10 IoT. This means that code that runs on the Rpi2/3 will also run on the Pine A64.

The intent of the W10 IoT package is to create apps that run on the RPi2 handling sensors and controls in a remote node. There is no mandatory requirement for a user interface on a screen, but it is most likely to be useful, especially during development.


What’s required to build a W10 IoT app?

  • Visual Studio 2015 (or later) installed on a host PC running Windows 10. Libraries and sample codes are provided in C#.
  • Windows 10 IoT written to a microSD Card, which is booted by the RPi2/3. The microSD card (Class 10 or better is mandatory, lesser cards won’t boot) contains some of the familiar Windows directories in a 64MB partition, including Program Files and Program Files(x86), Windows and Windows\System32. Most of these directories are nearly empty. There are at least three other partitions on the SD card, all hidden, and it is presently assumed that all the ARM-compatible drivers and other files are located there, away from prying eyes and (perhaps even) hackers.
  • An HDMI LCD capable of the default 1360×768. Other resolutions can be supported by changing some config files.
  • A USB mouse. The W10 IoT supports mouse activity, as you would expect.
  • A network cable to connect the host PC to the RPi2/3.

RaspberryPie 2 Specifications

  • A 900MHz quad-core ARM Cortex-A7 CPU plus external psu.
  • 10/100 Ethernet
  • 4 USB ports
  • HDMI connector
  • GPIO extension support (40 pins).

RaspberryPie 3 / 3B+ Specifications

  • A 1.2GHz (1.4GHz on 3B+) quad-core ARM Cortex-A53 CPU plus external psu.
  • 10/100 Ethernet
    • 300 Mb/s on the 3B+
  • Wifi 802.11n and Bluetooth 4.1 Classic and Low Energy
    • Wifi 802.11ac and Blutooth 4.2 on the 3B+
  • 4 USB ports
  • HDMI connector
  • GPIO extension support (40 pins).

Are Decaf Boards recognized by the RPi2/3?

Yes, W10 IoT includes the standard HID driver, and any HIDs are immediately recognized when plugged in.


The image above shows a mouse (USB Input Device) and two Decaf boards. USB Universal Video Cameras (UVC) are also identified and supported by W10 IoT.

USB power limit

The Rpi2 can provide power to Z-series LCD boards with no problems, as shown in the images above. It cannot provide enough power to an IOC-350 or 370. Plugging one in results in the Rpi2 board shutting down the USB functions, and a reboot (without the IOC-350/370 installed) is required.

Using a powered USB hub is the solution, and would be required anyway if more than two USB devices are required.

Why use Decaf boards with a RaspberryPie?

RaspberryPi 2/3 GPIO pin assignments

RaspberryPi 2/3 GPIO pin assignments


Pine A64 GPIO pin assignments, same as the RPi2/3

The GPIO options provide the means to add Serial Peripheral Interface (SPI) devices on dedicated pins, and other pins for digital inputs and outputs. All of these require external hardware that has to be supported by IoT app level software.

Decaf boards are HIDs and have a defined command set for digital and analog I/O and LCD user interface design and both extend and simplify sensor, control and user interaction options.  IoT app level software of course still has to be created.

What will we be doing with the RaspberryPie and Pine A64?

Our intent is make Decaf boards and their sensors and controls visible to Win 10 IoT apps. It’s probably a good idea to set up a way for a PiXCL app to locate Decaf devices on a network.  We are also investigating the feasibility of porting PiXCLe to the RPi2/3 and Pine A64.

RaspberryPie 3 and Pine64 Comparison

Both boards

  • have a 1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor.
  • use the same DC power supply and connector and battery backup connector.
  • As shown above, the GPIO pin assignments are also the same.
  • have HDMI, Ethernet and WiFi network and Bluetooth support.
  • USB2 A ports for mouse and external devices e.g. Decaf boards.



More information will added to this page as development progresses.