Developing attractive and intuitive applications for microcontroller units (MCUs) is no longer a pipe dream, but a crucial aspect of modern software development.
The demand for MCU-based applications has increased significantly due to hardware cost and resources, and as the MCU hardware landscape evolves, we see more device makers than ever weighing up their choice between MPUs and MCUs.
But let’s say you’ve made that choice. Your first device is live and MPU-based, and now you’re stuck right?
How can you even begin to migrate all the GUI or HMI work you’ve spent time and money on to a new MCU hardware platform?
Don’t worry, you’re not stuck, you just need to watch our Qt MPU to MCU webinar and read our highlights
The MCU glow-up is in full effect
For a long time, the idea of squeezing a flashy UI out of an MCU was seen as a fool’s errand. MPUs offered greater performance and significantly more memory, but this is no longer always the case.
“Microcontrollers are becoming more and more powerful, and it’s important to recognize the unique advantages they offer,” says Yoann Lopes, Product Manager for Qt Group.
Exploring the Advantages of MCUs Over MPUs for Qt-based devices
Some key advantages of using an MCU-based device for your application include:
- Real-time processing: lower latency for time-sensitive tasks.
- Power Efficiency: ideal for battery-powered devices.
- Thermal Management: Lower power means less heat generation.
- Quick Boot Time: perfect for user interfaces.
- Cost-Efficiency: Not only for the MCU itself but also for other components like memory. (Win, win!)
Migrating Qt from MPU to MCU – is it possible?
Yes – but it’s not all smooth sailing.
The technical process of code conversion is straightforward, even for intricate QML-based applications. However, you’ll still need to make certain adjustments, particularly in handling fonts, addressing layout disparities, and accommodating UI elements that are not present in the Qt for MCU framework.
Witekio Application Team Lead, Remi Roux, showcased two UI examples, looking specifically at where the migration had worked and where there were key differences.
“Placing items on the screen pixel-perfect or changing only the color or really taking care of the user experience, is not that easy,” he said. Understanding the intricacies of MCU environments and the complexities involved in creating intuitive UIs for these systems is crucial.
During a live demonstration of the code migration using the Qt Quick (QtML) tool, it was clear to see how much of the MPU project’s existing codebase was reusable in the MCU setting, saving significant development time.
Below is an example of an MPU and MCU application contrast after using the tool, showcasing the need for customised code fixes for any remaining issues. Yes, the Qt tool will drastically cut down your workload, however, if you have a customer-facing device app, issues like these can be the small difference between user adoption or not.
Where to start…
MCU migration is certainly easier, and more fruitful, but expertise is still needed. For those looking to try it themselves, what’s the best approach?
When we trialed Qt’s new tools we took two different approaches simultaneously to determine the best way forward. Either you take someone with a lot of MCU knowledge and teach them how to create applications, or you take an application development expert and bring them into the MCU world. Clearly, Witekio valued the second approach best.
Many of our GUI gurus were pleasantly surprised to discover that MCU development was not, in fact, an archaic and laborious process. Instead, dare I say, they actually had fun!
We fully suggest getting started with the Qt – Demo Images for Microcontrollers which will give you a framework to analyze the test code and therefore begin to see how much customization your device might require.
If, when you’ve had a play around with the tool, your team still feel out of their depth, or don’t know where to begin – drop us a line and we’d be happy to help you migrate.