Scalability to the Max – MCU and MPU Development with the Same License

Developing a portfolio of devices cost-effectively can be challenging. It helps when you need only one development tool for any hardware technology.

A Portfolio Example from the Past

In 2011, I worked in the product management at Nokia when we build the Nokia N9 smartphone running an operating system called MeeGo. When we developed the MeeGo operating system, a Linux-based operating system for smartphones and tablets, we were constantly thinking about scalability. We needed the OS to scale from low-end smartphones to high-performance tablets. The MeeGo OS had to run on anything from high-end Intel to low-end ARM CPU technologies. The UI had to scale from small smartphone resolutions to tablet-size devices.

We designed and developed the MeeGo OS and its applications to scale nicely to different display sizes. But we needed to build in-house various hardware adaptations and firmware for the different chipset technologies those days. The costly hardware adaptation to maintain a broad product portfolio was one of the challenges, among many others, Nokia faced in the final years with its smartphone business.

According to contributors at Wikipedia, Nokia attempted to scale their Meego smartphone portfolio to lower price points in a project with the codename Meltemi. The goal of the Meltemi project should have been a lightweight derivative of the MeeGo OS, which was "designed for borderline low-end smartphones." Building a derivative of the MeeGo OS for feature phones with smartphone-like experiences would have meant streamlining the UI framework and the OS middleware to adapt to the lower CPU and memory constraints. Having both a rich smartphone OS and similar experiences on less powerful hardware would have meant maintaining a streamlined version of some of the MeeGo OS components in the Meltemi project. Unfortunately, the MeeGo OS never had a chance to live up to its potential due to the platform strategy change to the Windows Phone OS. Also, the Meltemi project was discontinued in 2012, according to Wikipedia. 

Scaling A Device Portfolio

Nowadays, developing a portfolio of connected devices with displays doesn’t need to be black magic. Challenges such as hardening the firmware are still on every embedded device developer’s mind, but things are a bit easier today. Qt offers an integrated software development platform and reference hardware adaptations from low-end Micro-Controller Units (MCUs) to high-end chipsets with Micro-Processing Units (MPUs). Qt launched the development toolkit for MCU-powered devices at the end of 2019. The Qt for MCU toolkit allows companies to benefit from the integrated software development platform capabilities.

 MCU display

Image: Qt for MCU toolkit assets such as Qt Creator IDE

Qt for MCU Benefits

Front-end developers can import UI designs from Figma or Adobe XD and convert them to functional UI code running on both MCUs and MPUs. Full-stack developers can add the application logic to the UI in the Qt Creator IDE. The streamlined out-of-the-box UI controls accelerate the development process. The reference device images speed up the first boot on the target device. Since February 2022, customers no longer need a dedicated license to benefit from the MCU development toolkits. All the Qt capabilities for MCU and MPU-powered device development are available with any Qt Device Creation license package.

Overall, the Qt for MCU capabilities are a streamlined version of the UI enablers in the Qt framework bundled in dedicated software libraries. The lightweight graphics engine delivers a smooth, smartphone-like user experience. The entire application can then be compiled in different ways to optimize the performance for the available processing, caching, and memory configurations. While these capabilities were initially licensed separately, Qt for MCU is now available for all hardware device developers under the same license.

Summing it Up

 While the MeeGo OS is a story from my career that is not directly related to the Qt for MCU evolution, it shows that companies have tried different approaches to effectively build a homogeneous customer experience across various price points of the portfolio. Qt for MCU is Qt’s proven way to scale customer experiences from MPU- to MCU-powered devices. The Qt for MCU technology is now in release 2.1 and has been adopted by many customers successfully. If you want to know more about Qt for MCU, please check out the Qt for the MCU web page. If you are already a customer with a Qt for Device Creation license, then you can immediately re-use your existing Qt-based User Interfaces and scale them to lower price points and higher product volumes on MCU-powered devices.

Learn more!  


Blog Topics: