Qt for MCUs: Starting guide
Before getting down to the specifics of this Witekio project, let me go over the basics of Qt for MCU.
As the Qt Company explains, Qt for MCUs is a complete graphics framework and toolkit with everything you need to design, develop, and deploy GUIs on MCUs. You can use the same tools that you are used to, to create a graphical application on a bara-metal or on a real-time operating system. It’s versatile, lightweight, and fully documented, making it easy for you to build GUIs and applications for microcontrollers in any number of domains.
Long story short, Qt for MCUs supports now GUIs without an operating system
If you have experience using Qt on other platforms, Qt for MCU is familiar and let you use and reuse the same technology and approach for entire product family. If you’re new to Qt, Qt for MCU has a smooth learning curve and is accessible thanks to the tutorials, video walkthroughs, and technical documentation provided by the Qt Company. These resources cover a wide range of use cases and solutions for your project.
Thanks to their low cost, and small size, MCUs can be used in virtually any product where software can make a difference. And because Qt for MCUs can run even on small microcontrollers, the possibilities are almost limitless!
Our discussion here uses Qt for MCU in a way that speaks to every coffee-fueled embedded software developer.
The System Architecture of a Hands-Free Cup of Coffee
The challenge that we took on was to develop a graphical interface to purchase a cup of coffee from a vending machine without the user touching the machine. Proposing a hands-free or contactless shopping experience is important nowadays, and vending machines are a good example of this trend in retail. With the increasing focus on personal hygiene and the increased use of cash alternatives such as contactless and mobile phone payments, it is only natural for a vending machine to support these use cases, and offer the chance to collect a cup of coffee without the need for physical interaction.
So how to design and support this touchless experience?
We started with basic system architecture.