Realising rapid implementation with Linux and QT, the example of a vending machine

Reduced workload for developers

The development of a vending machine not only puts special demands on a company, but also on developers. For example, the various hardware components must be integrated and combined and then the whole thing needs to be brought to life with appropriate software. The combination of GNU/Linux and QT helps the staff of the embedded system specialists Garz & Fricke from Hamburg to accomplish this.

At the very beginning, cigarette vending machines were a haptic and acoustic experience. At a late-night hour, you inserted a coin that ran through the checking technology with a metallic clatter. Then the click that released the column. Finally, you could pull out the metal tray and remove the box of the beloved, addictive substance. Later, everything went faster and less eventfully: money in, push a button, and the pack landed with a clattering noise in the output tray. Today, cigarettes and other vending machines are once again a bit of a shopping experience – thanks to large screens with touch controls.

Whoever goes to a vending machine in the corner of a bar finds a modern device with a large screen that also likes to be touched, even has to be touched. There are no longer any other mechanical inputs.

"We want to address users who are accustomed to using smartphones in their everyday lives, and meet the expectations they have of operating devices."

Embedded-Systems-Experte Christoph Kutzera

Thanks to touchscreens, the operation can be structured flexibly while guiding users. Small videos show them what to do next. Modern technology turns the purchase into a positive experience.

Better without keys or buttons

Vending machine display

It would have been easy to cut out a rectangle in the metal door. However, they decided to produce the entire front of glass. This made it a challenging project, which required the entire know-how of the company.

Linux preferred


The participants in the Yocto project created a development environment, with the help of which especially developers can build customised embedded Linux systems in the area of embedded systems and the Internet of Things.

"Programming with Qt and QML expedites the development process significantly. Even if you do not have QML experience, learning how to use it does not take long. You can create the first good projects rather quickly."

Christoph Kutzera

second display

Originally, two displays were to be used, and even though there was already a working prototype, this decision was overturned for various reasons, reverting back to a one-display model.

"The necessary layout, screen management, and control logic adjustments were completed in a few simple steps, as Qt with QML provides such a good programming model. It actively supports programmers and designers in their work."

Christoph Kutzera

With modern HMI in the IoT

The ready-to-use user interface, HMI, can be employed flexibly. It can be installed not only in newer type machines, but also update older machines to the current state-of-the-art without having to replace the entire mechanics. The system also communicates via the RS232 serial port. Furthermore, the controller can be connected to previous machines. In the first step, only the conventional keys and buttons are eliminated. The old controller is maintained and then communicates with the modern HMI. Later, the individual components can be included in the HMI step by step, and are mapped there.

Of course, the new HMI also offers modern interfaces such as Ethernet, USB, Wi-Fi, Bluetooth®, or wireless 4G, in addition to RS232 and MDB. This creates new communication opportunities, but also new points of attack. An attacker could try to exploit security gaps and consequently compromise the machines or the entire network of vending machines in the worst case. Updating the software components is a major challenge, because coordinating and timing updates during on-going operation is often difficult. Garz & Fricke, which have already implemented the networking of more than 40,000 machines, counter this difficulty with specially protected networks. In doing this, the transmission path is secured via a VPN tunnel (virtual private network), which ensures that communication is exclusively possible between the machines and the data centre.


Small circuit boards – great effect: The vending/IoT platform by Garz & Fricke, with 4G modem, not only brings new machines online, but also updates old machines to state-of-the-art technology with its MDB interface.