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 revolutionary, compact single board computer made in the United Kingdom 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 product, it may not be suitable for certain industrial applications.

However, the Raspberry Pi Foundation also produces Raspberry Pi Compute Module so 3rd party manufacturers can build industrial devices around the Raspberry Pi technology. The ComfilePi is an industrial panel PC built around the Raspberry Pi Compute Module 3/3+, and then augmented with additional hardware and features for industrial automation solutions (e.g. touch screen, RTC, RS-485, etc.).

View the Raspberry Pi Compute Module 3 Lite Datasheet
View the Raspberry Pi Compute Module 3+ Lite Datasheet

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 the 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 (Raspberry Pi OS) 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 Raspberry Pi OS Linux distribution is included with each purchase. You can always re-image your SD card by downloading our Raspberry Pi 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.

See SanDisk's SD Card specification and compatibility for more information about the different SD card specifications.

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

IO Features

GPIO Header

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. Please note this isolation circuit renders the Raspberry Pi Compute Module's internal pull-up/-down resistors ineffective. To have pull-up/-down behavior an external pull-up-down resistor must be added externally, or the pin must be explicitly driven high or low.

Underside IO Ports

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.

Recent models may have a 4th USB port dedicated to programming Compute Modules with an eMMC.

Side Panel IO Ports

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.


CODESYS is a development environment for programming controller applications according to the international industrial standard IEC 61131-3. CODESYS can be used on the ComfilePi by installing one or more of the CODESYS Raspberry Pi Control Modules.

Please note the following restrictions from the CODESYS system requirements:

  • The combination of Raspberry Pi and a CODESYS Runtime is primarily intended for test and teaching purposes.
  • The runtime system does not have real-time behavior. Its Jitter depends on many factors, especially on parallel executed Linux applications, and is ideally approximately 50 µs with maximum values of approximately 400 µs.

Sample Project

As a demonstration, please refer to the following sample project used to control the digital inputs and outputs of COMFILE Technology's CP-IO22, CP-IO19R, and CP-IO22-A4-2 IO boards.

Download Sample CODESYS Project

Configuring the GPIO Pins

The default GPIO configuration for CODESYS's Raspberry Pi Control Modules do not expose all of the GPIO pins that the ComfilePi offers. To remedy that, it is necessary to modify the device description files typically found at C:\Users\{Username}\CODESYS Control for Raspberry PI\{CODESYS Version}\Devices. Use the following file and procedure as a starting point.

Download the GPIOsComputeModule.devdesc.xml file

  1. Copy the GPIOsComputeModule.devdesc.xml file linked above to the C:\Users\{Username}\CODESYS Control for Raspberry PI\{CODESYS Version}\Devices folder.
  2. Install the file into the Device Repository.
  3. Update the GPIO device in the CODESYS project.

C/C++ (Remote Compiling)

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

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 (Cross-Compiling)

The Qt Company has released a product called Qt Visual Studio Tools to enable Qt development and cross-compiling from a Windows PC to a Linux embedded system like the ComfilePi.

See the Build and debug Qt on Linux with Qt Visual Studio Tools blog post for details

To install the latest Qt release on the ComfilePi run the following commands in a terminal:

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

Additional Qt libraries can be installed using libqt5* package names.

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/10/24 21:33 by COMFILE Technology