Industrial Monitor - Raspberry Pi Monitor (black) a close up of a circuit board

HMI prototypes

fast and inexpensive

Embedded Software Development

Professional solutions

Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems.
It is typically specialized for the particular hardware that it runs on and has time and memory constraints.

Embedded Software Raspberry Pi - Yocto build Raspberry Pi 4 in a docker environment a screenshot of a computer

The project provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices that can be used to create tailored Linux images for embedded and IOT devices, or anywhere a customized Linux OS is needed.

Embedded Software Raspberry Pi - Yocto Raspberry custom splash screen with progress bar a white loading bar with black text

Normally, if you create your custom linux image with Yocto for a Raspberry Pi, you also want to show a custom splash screen with a progress bar.

Embedded Software - Yocto boot raspberry to Qt application a screenshot of a computer

In this guide we provide you informations, how to setup a Yocto Project to install Qt and a Qt demo application for a Raspberry Pi 4 and then autostart this Qt demo application.

Embedded Software Raspberry Pi - Yocto - Raspberry - PIGPIO - Qt a screenshot of a computer program
Include PIGPIO library and Qt toolchain

Configure Yocto to create a customized Linux for Raspberry Pi 4 with integration of pigpio library, Qt and a toolchain for cross compilation.

Embedded Software - VisionFive - Mender - Yocto a screenshot of a computer
Part 1 - Basic setup of the Yocto environment

Part 1 of a series of articles, how to set up a Yocto environment to create a Yocto Linux with the integration of a Mender client.

Recently I had to develop an application (kiosk system) for/on a Raspberry Pi 4. The special thing about it was that 2 touch monitors were to be connected via HDMI, which had to be rotated 90 degrees to the right. So portrait formats, 2 monitors on top of each other.
Rotating the screen and arranging it on top of each other did not cause any problems, as this is easily possible via the user interface - a "Raspbian Buster with desktop and recommended software" was installed.

Due to the frequent writing or overwriting of data, the lifespan of an SD card is affected.

For example, it is recommended to write temporary data (e.g. sensor values for comparative calculations) to a RAM disk for applications that often contain temporary data (e.g. sensor values for comparative calculations) that are no longer needed after a restart.

You can also use the USB-C interface of the Raspberry Pi 4, which is normally used for power supply, as a normal USB interface.
In this case, however, the Raspberry should supply power via the GPIO pins.

Embedded Software Raspberry Pi - Qt on the Raspberry Pi 4 a computer screen shot of a blue screen

Qt is often used to develop graphic interfaces. Qt contains C ++ libraries for creating graphical interfaces that can be compiled on various operating systems.
Since this compilation requires a lot of computing power, it is advisable for processors with relatively little power to carry out the development and compilation on a host computer and only then to load the finished application onto the target computer.

This is a guide for installing Raspberry Pi OS Lite on the Compute Module 4. As a work computer, I use Ubuntu 20, installed in a virtual machine.

This is a guide for cross-compiling Qt 5.15.2 for Raspberry Pi 4 and installing it on the Compute Module 4. It's an update to my blog post Qt on the Raspberry Pi 4, with the difference that this time I'm using Raspberry Pi OS Lite.

This is a guide for configuring the Qt-Creator to use cross-compiled Qt libraries for the Raspberry Pi 4 and to create applications for the Raspberry.

Embedded Software - Qt cross compile setup scripts for Raspberry Pi 4 a screenshot of a computer program

On this page we provide download links for scripts to automatically set up cross compiling on linux host and Raspberry Pi 4 and a description, how to use them.

In this blog, I would like to provide a small Qt Quick application (qml) as an example of a Modbus connection over TCP/IP.
In the Qt examples, I have only found QWidget examples for Modbus connections, and after recently creating a Qt Quick application for this, I would like to provide a slimmed-down version of it as an example.

If you have created a Qt application - or any other application - for the Raspberry Pi 4, you often want the application to be called immediately after restarting the Raspberry after the application has been completed.
This is often attempted with start scripts that can be entered in various places.
However, it is more reasonable to set this up via systemd .

The task was to write a Qt Quick application (GUI) to upload new firmware to a touch controller.
The upload software was provided by the manufacturer in a .exe application that loads a .bin file onto the touch controller.
I wanted to use the Qt classes "QProcess", which can be used to call and control shell applications. On the Linux side, I had already used this successfully several times - but on Windows it didn't work at first.

Embedded Software - HDMI Monitor Settings a screenshot of a computer program
Control HDMI Monitor Settings with ddcutil

Yocto recipe to install ddcutil and control settings of an HDMI monitor via I2C.

Embedded Software - libgpiod a yellow screen with black text
Include libgpiod in Yocto

Include libgpiod library in Yocto and use it in your embedded system.