Decaf / PiXCL 20 FAQ

Last Update: May 23, 2023 @ 18:28
The first generation 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?

FreeRTOS,  a micro-kernel multi-threading real time operating system with device drivers for all the supported system resources including the LCD in being reviewed. 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.

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)

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 or ST-Link 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 or ST-Link 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 large 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 FreeRTOS  port, 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. 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 likely be supported in new product models.

Q12: Do you provide panel mounting hardware?

Technical drawings can be provided 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 Code Studio development tools. The necessary utilities to load firmware into boards are available on the Support Pages. UserID and Password are provided after sale.

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 such as found on the STM32F103VET boards. STM Cortex-M3 VGT series boards have 1024K flash and 96K ram, and the FSMC capability. There is also the issue of the LCD controller initialization code, if present. See also Q24 .

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

The support pages provide 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 me directly for more information.

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 large license fees. Here in Ottawa, contact 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 an open RGB565 .PXI format. PiXCL 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 mcu and memory resources needed to run the USB communication stacks.

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. Phidget analog sensors can be used directly  with Decaf boards, which use the same 3 pin connector.

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.

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 NEVER 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 was the Microsoft Surface RT with the ARM cpu: its 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.

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

A number of demo app firmware binaries are provided 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 me with the details.

Copyright © 2024 PiXCL Automation Tech Notes, Canada. All Rights Reserved.