
Embedded Software Development
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.

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.

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.

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.

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

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.
Raspberry Pi 4 Touch Monitor Rotate
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.
Raspberry Pi 4 RAM Disk
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.
Raspberry Pi 4 USB-C Host Mode
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.

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.
Install Raspberry Pi OS on the Raspberry Compute Module 4
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.
Qt 5.15 cross compile for Raspberry Compute Module 4 on Ubuntu 20 LTS
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.
Configure Qt Creator on Ubuntu 20 LTS for Cross-Compile
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.

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.
Qt Modbus with TCP/IP connection
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.
Raspberry Pi 4 autostart Qt application at boot time
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 .
Run Windows .exe in Qt application
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.

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