There was a time when writing embedded systems meant never having to deal with graphical user interfaces, and spending long hours trying to free up a dozen bytes of ROM to add a feature. Nowadays, an embedded system is likely to have a screen and what would have been a huge amount of memory even for a PC a scant decade ago. Qt has long been a popular choice for building software on desktop platforms, and — while not as popular — has even run on phones for a while. Now there’s Qt for MCUs which is clearly targeting the IoT market that everyone is trying to capture. You can see the glitzy video for the new product, below.
We generally like Qt, and the move recently has been towards an HTML-like markup language called QML instead of directly manipulating widgets. We guess that’s a good thing. However, Qt isn’t just for user interfaces. It provides a wide range of services in a straightforward way
The biggest draw though is that the system is portable. You mostly see Qt programs on Linux, but they work in a lot of other places including Windows and many cell phones. This will continue the drive to push Qt to as many places as possible. You can argue that Java does this, but a truly resource-friendly and hassle-free Java has been elusive. Even on big computers, the joke is often that Java is “write once, debug everywhere” — a play on the “write once, run everywhere” slogan.
We looked at QtCreator — a nice tool for working with Qt, back in 2016. You’ll see in that article, they offered an embedded Qt that was made to draw right to the framebuffer on a Linux platform. It will be interesting to see how the new product improves on that. Of course, the Raspberry Pi and its ilk can just run regular Qt, too. QtCreator can do more than Qt, with some help from some friends.