The ComfilePi is an industrial touchscreen panel PC built around the Raspberry Pi Compute Module.
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.
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.
|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|
|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
|RS-485 Ports(*)|| 1 - COM1
|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|
(*) 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.
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.
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 firstname.lastname@example.org to request a replacement.
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.
.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.
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.
Download the AdvancedHMI Visual Studio solution which contains a Modbus RTU driver and test project specifically for the ComfilePi.
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.
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.
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.
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/ld.so.conf.d/01-Qt5.8.conf sudo ldconfig sudo rm /etc/profile.d/qt5.8-environment.sh sudo reboot now
This procedure describes how to create JavaFX applications for the ComfilePi using the Oracle JDK and OpenJFX.
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