On my way building an automated wireless home automation system I have been finally been drawn to Embedded Linux. It just makes sense. Driving Internet of Things devices based on Arduino or other directly programmed MCUs is not very efficient. You will have so much work with just building up a network stack for example based around a CC3000 (Available as a nice breakout board from Adafruit). And you will just redevelop what is available for linux for decades. But: Embedded Linux is a beast of a monster. It’s just a whole different universe.
There are so many devices to choose from, the most prominent example being the Raspberry Pi of course. But I wanted a solution that I can use for a final product. For my work I need a very small device and I don’t need all these connectors (Ethernet, HDMI, etc) so I have been searching the large catalog of SoMs (System on Module) and found “Arietta G25” by Acmesystems. I really love this little device and Acmesystems provides a lot of tutorials and help documents to get started quickly.
Find more infos about their great product line-up here: acmesystems.it.
After I had attached a 3.5 TFT (acmesystems has a well written tutorial on how to do that) I wanted to use it for a great User Interface. As you don’t want to build your own UI-System you will most likely find Qt. Qt is more than just a UI frameworks. It’s awesome as it features more or less the same as the whole Apple iOS system. It features it’s own (great) IDE, Interface-Builder for doing design work the WYSIWYG way and features an almost complete Framework with hundreds of C++ classes for all kinds of stuff. They even have a well written network stack helping a lot in doing IoT stuff.
But: Getting Qt to run on an embedded linux device is not that easy. It’s hard work. Requires hours of hours of your time building stuff. Of course there are systems like Yocto and Buildroot – I just got started with them and so far I don’t see it’s easier. As acme systems provides a few images to get started, I wanted Qt installed based on the acme systems solution.