Decaf / PiXCLe 11 FAQ

Last Update: Mar 14, 2018 @ 10:38
The first Decaf LCD and IOC boards were released in May, 2017.

Here’s the answers to some Frequently Asked Questions on Decaf boards.

Q1: Do these boards have an operating system and device drivers?

The initial release of Decaf board firmware implements them as USB HID gadgets. We have a micro-kernel multi-threading real time operating system (RTOS) with device drivers for all the supported system resources including the LCD in final development. This means that multiple operations (threads) can be running and won’t interfere with each other in unexpected ways. This is vitally important when, for example, multiple threads need to access the LCD, or analog or digital input events have to be processed.  Once released, the RTOS can be easily upgraded by the user.

Q2: What are the licensing details?

Briefly, the RTOS and PiXCLe are fully licensed on a per board basis, which includes the license to use the PiXCL Code Studio. PiXCL Code Studio is licensed per developer seat, which allows one primary workstation and one additional backup system e.g. a laptop for that developer. Commercial quantity licenses are available, and can include some source codes if required.

Q3: How fast does a Decaf board boot up?

All the Decaf boards boot in less than a second, essentially as soon as power is applied to the board.

Q4: What USB device class(es) do Decaf boards support?

When plugged into a Windows host, boards appear either as as

Human Interface Device (Graphics and Touch Screen where relevent, and I/O), or a Composite USB device consisting of a

  • Human Interface Device (Graphics, Touch Screen and I/O).
  • Mass Storage Device (the SD card with FAT file system) if relevent.

Q5: Does the host have to be connected?

Yes, if USB device only firmware is installed. If the RTOS is installed with PiXCLe, once programmed using the PiXCL Code Studio, the boards can run stand alone with an external power supply. A host PC can be connected if desired.

Q6: Can the host send commands to the board?

Yes, the PiXCLe app code can accept and process strings of PiXCL commands from a host if required. The host can also query sensors and control devices by sending requests to a running PiXCLe application that has enabled host communications.

Q7: Do I need a JTAG device to download application code? When is a JTAG required?

No, application code is prepared by the PiXCLe compiler in the PiXCL Code Studio, and downloaded via USB to the SD card. During manufacture we install the initial DFU Loader firmware via the board serial port.  A JTAG device is never required by end users and the JTAG connector is not installed on production boards.

Q8: Can I write my own programs in C or C++ and add them to the boards?

Not at present. The intent of the built in RTOS and PiXCLe is to remove the need and knowledge gaps to do this. There is an optional PiXCLe extension command library planned, similar in concept to the PiXCL 10 Extension SDK .

Q9: Is source code available?

For PiXCLe, no. For the RTOS yes, excluding our proprietary extensions, according to terms of the License. All relevent source code is made available on request only after purchase of products.

Q10: Does this board run Linux and Android?

No, Decaf boards do not run any version of Linux, and are not Android tablets. They will be able to work with Android 4.4 and later tablets as standard USB devices with required firmware updates. We’ll look at this if market demand exists. See also Q25.

Q11: What size Colour LCDs are supported?

2.8″ 320×240,  4.3″ 800×480, 5.0″ 800×480 and 7″ 800×480. All size LCDs are not available on all core cpu boards. All render colour as RGB565 or RGB24. LCD technologies continue to advance, so other sizes e.g. 7″ 1024×600 and bigger will be supported in new product models.

Q12: Do you provide panel mounting hardware?

Not at present, but this is planned for late 2018. We can provide technical drawings as needed on request.

Q13: I have located some hardware that looks the same as or very similar to yours. Can I get your software?

Yes. You will have to return some details about your board. If your board is compatible, we will be happy to sell you a copy that works on your specific board only, along with the license to use PiXCL 11 Code Studio development tools.

Q14: I have an ARM Cortex-M3 board that’s quite different to yours. Will your software work on it? What about Cortex-M4 and M7 boards?

Maybe. The main issue is the available Cortex-M3 chip memory resources. There has to be at least 512K flash and 64KB ram as found on the STM32F103VET boards. STM Cortex-M3 VGT series boards have 1024K flash and 96K ram, and the FSMC capability. We are working on support for Cortex-M4 and M7 boards. See also Q24 .

Q15: How do I upgrade the RTOS and PiXCLe versions?

We provide via our support pages what’s called Device Firmware Upgrade or DFU, utilities and the necessary upgrade binaries. Upgrading is done over USB and takes less than a minute. No additional hardware is required. See also Q7.

Q16: We could use a box of these boards. What are the commercial license terms?

Please contact us directly for more information. Commercial licenses are available, include all necessary firmware download utilities, and can include source code if and as necessary.

Q17: Are these boards rated for mission critical applications?

No. They are not intended for, are not warranted for, and should not be used for, any mission critical  medical, aerospace, automotive, nuclear, transportation or industrial application. There’s plenty of other suppliers to this high-end (and pricey) market.

Q18: Is the RTOS rated Secure?

No. If you need an RTOS with Secure Certification, then please consult any of the major vendors and pay the required license fees. Here in Ottawa, we suggest QNX or Wind River.

Q19: Why the Decaf name?

Because they don’t use or need Java …

Q20: What does PiXCLe stand for?

Pixel-based eXtendable Command Language, embedded.

Q21: Can the boards display .JPG and .PNG files? How do I get images on to the board?

Decaf boards can display RGB24 BMP files, and our open RGB565 .PXI format. PiXCL 11 includes commands to import any of 15 supported image formats, convert to RGB24, then export to a .PXI format. PXI images can be imported and converted into other image formats. A utility application written in PiXCL is supplied to do this. Depending on the available board memory resources, we may provide the ability to decode other formats, such as PNG.

Q22: Can other USB devices be attached to a Decaf board? Can the Decaf board act as a USB Host device?

The short answer is no, at present Decaf IOC  boards are USB slave devices only, with a standard B or mini-B connector. The main issues are the cpu and memory resources needed to run the USB communication stacks. We are also looking at more capable board + LCD kits that use Cortext-M4, M7 and A8 cpu chips and have more USB ports and High Speed (480Mbs) controllers.

Q23: Can I/O boards from Phidgets Inc be used directly with Decaf boards?

See Q22 . With Phidget boards there is also the need to create USB access and device control libraries.

Q24: The Cortex-M3 has been superseded by the M4 and now the M7. Will your software work on these boards?

The 168 MHz M4 has more than twice the memory of the M3, The 300MHz M7 even more and porting the RTOS to them is expected to be a relatively simple exercise. We are defining new M4 and M7 based products at the moment.

Q25: Why can’t I use a Linux / Android board or tablet for something like this?

The short answer is that of course you can. The longer answer is that the technical issues (USB firmware stack, RTOS, TCP/IP middleware, graphics libraries, relevent commercial licensing fees) are more complex than you may have realized. It really depends on whether you are making a gadget for your own use, or creating a commercial product. Remanufacturing or adapting a consumer-grade tablet is usually not a commercially viable option. It may be impossible if the OEM tablet base firmware does not support alternative operating systems, or the necessary technical information is not available to achieve loading of custom firmware. A perfect example of this is the Microsoft Surface RT with the ARM cpu: it’s firmware prohibits loading of linux, and all attempts to do it via “jail-breaking” and similar have been abandoned since 2015.

Q26: Will PiXCLe run on an embedded-Linux or Android device?

At present, no. The PiXCLe code base is modular with separate sections for the file system and graphics. This device independent design means that producing an embedded-Linux or Android version is possible. Maybe next year if the market demand is present.

Q27: What other source code, apps or libraries come with the Decaf boards?

We provide a number of demo app firmware binaries that can be loaded using the Device Firmware Upgrade (DFU) utility. These apps serve several purposes, firstly to demonstrate that the boards are fully functional, and secondly to give you more ideas of how you can use the boards in your projects. There’s a Windows DLL and API compatible with all Decaf boards, with Linux and Android support coming. More information…


Do you have a question that’s not answered here? Please contact us with the details and we’ll see what we can do.