User Tools

Site Tools




The ComfilePi is an industrial touchscreen panel PC built around the Raspberry Pi Compute Module.

What is the Raspberry Pi?

The Raspberry Pi is a compact single board computer made in the U.K. by the Raspberry Pi Foundation. It typically runs the Linux operating system.

What is the ComfilePi?

The Raspberry Pi, as typically sold by the Raspberry Pi Foundation as a credit-card sized PCB, is primarily a tool for students and hobbyists. Although it is a fantastic and even revolutionary product, it may not be suitable for certain industrial applications.

The Raspberry Pi Foundation released the Raspberry Pi 3 Compute Module so 3rd party manufacturers could build industrial devices around the Raspberry Pi technology, and the ComfilePi is exactly that.

Introduction and Demonstration

ComfilePi Features

CPi-A070WT CPi-A070WR CPi-A102WR CPi-A101WR CPi-A150WR
CPU 1.2GHz 64-bit Quad-Core
ARM Cortex-A53 processor
(Same as Raspberry Pi 3)
GPU Broadcom VideoCore IV
Storage 1 microSD Slot
LCD 7“ 800×480 10.2” 800×480 10.1“ 1024×600 15” 1024×768
Aspect Ratio 16:9 4:3
Colors 262K 16.7M
Contrast Ratio 500:1 300:1 600:1 800:1
Brightness 400cd/m2 350cd/m2 250cd/m2 420cd/m2
Backlight Lifetime >20,000 Hours >30,000 Hours
Touchscreen Pressure-sensitive (Resistive Film Type)
Housing Flame retardant ABS
IP65 Water-Resistant Front Panel
Power 12~24VDC @ 6W 12~24VDC @ 10W 12~24VDC @ 10W 12~24VDC @ 21W
RTC No Yes (Battery rated for 5 years)
GPIO No 22 (includes ESD protection circuit)
40-pin header socket
USB Host Ports USB2.0 x 3
Ethernet Port RJ45 10/100 Mpbs
RS-232C Ports 1 - COM0 /dev/serial0
RS-485 Ports(*) 1 - COM1 /dev/serial1
I2C Ports 1
Piezo Buzzer Yes
Audio Output 1/8“ Stereo Output Jack
WiFi Yes (with USB dongle)
Operating System Linux (Rasbian) only (Android and Windows 10 IOT are not supported)
Operating temperature 0°C ~ 70°C
Storage temperature -20°C ~ 80°C
Weight 0.50kg 0.92kg 0.92kg 3.26kg
Dimensions Details Details Details Details
Buy Buy Buy Buy Buy

(*) The ComfilePi's COM1 (/dev/serial1) port uses the Raspberry Pi's mini UART. The mini UART has a few limitations (e.g. no parity bit). For more information please see the official Raspberry Pi documentation.

Hardware Revisions

Warnings and Precautions

Operating System

An SD card with a slightly modified Raspbian Linux distribution is included with each purchase. You can always re-image your SD card by downloading our Raspbian OS image and following the instructions there.

Other operating systems may work, or may partially work, but we only provide support for the operating system linked above. If you run into any problems, please be sure you are using our latest operating system image.

SD Cards

For hardware revisions v2.3 and higher, SD, SD HC, SD HC I, and SD HC II can all be used.

For hardware revisions v2.2 and lower, we recommend SD or SD HC cards. SD HC I and SD HC II cards have demonstrated a tradeoff favoring speed over reliability. See SanDisk's SD Card specification and compatibility for more information about the different SD card specifications. If you received an SD HC I card from us in a previous order, please send an e-mail to to request a replacement.

IO Board Accessories

CP-IO22 CP-IO19R CP-IO22-A4-2
Digital Inputs 11 @ 12~24VDC 11 @ 12~24VDC 11 @ 12~24VDC
Digital Outputs 11 @ 30VDC Max 8 Relays 11 @ 30VDC Max
Analog Inputs 4 @ -5 ~ +5VDC
Analog Outputs 2 @ 0~5VDC
More Information Details Details Details
Buy Buy Buy

I/O Features

The 40-pin header socket on the rear panel of the ComfilePi is almost the same pinout as the Raspberry Pi GPIO.

The GPIO pins are exposed through a transparent (3.3V ←→ 3.3V) level shifter for ESD protection. For electrical characteristics please see the level shifter's data sheet : TXS0108E.

The underside of the ComfilePi exposes 12~24VDC power input, 1 RS-232 serial port, 1 RS-485 serial port, 3 USB 2.0 ports, an I2C port, 5V power output, and an RJ45 Ethernet port.

IMPORTANT: Please note that the I2C pins (SDA and SCL) are 3.3V; the 5V pin is supplied to ensure users have enough voltage and current to power their external devices and does not imply a 5V I2C port.

The right panel of the ComfilePi exposes a MicroSD Card Slot and a stereo audio output jack.

Developing Software for the ComfilePi

.Net (C# & VB.Net)

Using .Net Core

A .Net Core real-time web application running on the ComfilePi

.Net Core brings a professional .Net runtime to Linux-based PCs like the ComfilePi. Although there are not yet any GUI frameworks like Winforms or XAML (out-of-the-box at least), .Net Core 3 comes with the new Blazor and Web Assembly technologies that can be used to build GUI applications for the ComfilePi's modern web browser.

Blazor allows both client and server to be programmed almost entirely in C#. The System.Devices.Gpio namespace provides just about everything one would need to do IO on the ComfilePi. Blazor also includes support for real-time web applications that can be viewed and interacted with from multiple local or remote clients as demonstrated in the video above.

Visit .Net Core Development on the ComfilePi for a detailed introduction.

Using the Mono Framework


The AdvancedHMI software allows you to create HMI's that are not possible with other off the shelf packages. The software is based on the .NET framework and uses the popular Visual Studio as it's designer. When developing with AdvancedHMI, you are creating a true executable that is quite fast for the Linux-based ComfilePi. Don't let Visual Studio mislead you into thinking it requires code writing experience because most HMIs are created without writing a single line of code.

Watch an Introductory Video

Download the AdvancedHMI Visual Studio solution which contains a Modbus RTU driver and test project specifically for the ComfilePi.

C/C++ (Remote Compiling)

Microsoft added limited Linux support to Visual Studio 2015. Those features also available in Visual Studio 2017.

The Visual Studio Linux Features do not inherently support cross-compiling on a Windows PC. Instead, Visual Studio will upload the the source files to the ComfilePi, and use the ComfilePi's toolchain to build the executable. The executable is then executed on the ComfilePi, and the Visual Studio Remote GDB Debugger attaches to it.

  1. Install Visual Studio Linux Features - How to install the Linux Development Features in Visual Studio 2015 and Visual Studio 2017
  2. Create a Linux Project - How to create a new Visual Studio Project for Linux Development

For more information about using Visual Studio for Linux software development, see thisVisual C++ For Linux Development blog post, and the Visual C++ Linux Documentation.

C++ with Qt 5.8 (Cross-Compiling)

NOTE: COMFILE Technology is no longer maintaining the Qt SDK for cross-compiling from Windows to the ComfilePi. Qt can still be installed onto the ComfilePi from the Raspbian packages using the following procedure:

sudo apt-get update
sudo apt-get install qt5-default qtbase5-examples qt5-doc qt5-doc-html qtbase5-doc-html

NOTE: COMFILE Technology does not provide technical support for Qt; please contact The Qt Company for support.

This procedure makes use of Qt's open source distribution. Please see Qt's Licensing, FAQ, and Licensing Comparison for more information about Qt licensing.

  1. Install Qt Creator - Qt Creator is the IDE that will be used for developing Qt software.
  2. Install the ComfilePi SDK - COMFILE Technology has created an SDK that contains all necessary components for compiling and debugging ComfilePi a Qt project with a Windows PC.
  3. Test a Qt Quick Example Project - After Qt Creator and the ComfilePi SDK have been installed, open a sample project, deploy it to the Comfile Pi, and debug it from within Qt Creator
  4. Create a New Qt Quick Project - Start from scratch: Create a new project, deploy it to the Comfile Pi, and debug it from within Qt Creator
  • Modbus with Qt - The Qt Modbus component supports both Modbus RTU and Modbus TCP. Examples with Qt Widgets and Qt Quick.

For more information about software development with Qt, see the Qt documentation.

NOTE: The build of Qt used in this demonstration uses the EGLFS backend. Be sure to set the ComfilePi's GPU memory to 256MB or you may experience errors or display anomalies.

Uninstalling Qt5.8

I you do not wish to use Qt5.8 or you wish to revert to the version of Qt from the original Raspbian distribution, run the following commands to remove Qt5.8:

sudo rm -rf /opt/Qt5.8
sudo rm /etc/
sudo ldconfig
sudo rm /etc/profile.d/
sudo reboot now

Java Software Development with JavaFX

This procedure describes how to create JavaFX applications for the ComfilePi using the Oracle JDK and OpenJFX.

  1. Install the Oracle JDK and OpenJFX - Install the Oracle JDK and OpenJFX framwork on the ComfilePi.
  2. Install NetBeans - Install and Configure the NetBeans IDE on a development PC.
  3. Test a JavaFX Example Project - Use the NetBeans IDE to open an example JavaFX project, configure the Java platform, deploy the project to the ComfilePi and debug it in NetBeans.
  4. Fixing Multiple Touch Events in JavaFX - If you experience multiple touch events for a single touch while using a JavaFX application, please follow these instructions for a workaround.

For more information about software development with JavaFX see the Oracle JavaFX documentation.

See also the Raspberry Pi Java Programming forum.


Raspberry Pi is a trademark of the Raspberry Pi Foundation

comfilepi/index.txt · Last modified: 2020/03/27 09:42 by COMFILE Technology