This document discusses Qt for MCUs and its value proposition for modern microcontroller application development. Qt for MCUs allows for a designer-friendly workflow with UI specification, product implementation, and deployment testing. It features a modern GUI toolkit, animation support, internationalization, examples, and optimization for embedded targets. The document demonstrates migrating a demo to Qt for MCUs 2.0, optimizing resources, and managing hardware from a QML application.
3. MCU Workflow Value Proposition
The Goal
Better communication between
designer and developer
Designer is responsible of the UI
from the beginning to the end
Faster time to market
4. Design Development
UI specification Product implementation
Deployment
Deploy and
test
MCU Workflow Value Proposition
Current design development workflow
7. Modern microcontroller (MCU)
application development with Qt
Arnaud Armengaud
Sr Technical Artist EMEA
Cédric Le Dillau
Sr Solution Architect EMEA
Qt for MCUs
Value
proposition
8. Modern microcontroller (MCU) application development with Qt
Qt for MCUs’ value proposition
- Modern GUI
- Designer friendly
- Animation, states, etc.
- Manage properties, signals & slots
- I18n (internationalization) support
- Many examples and demos
- Optimized at compile time
https://doc.qt.io/QtForMCUs/qtul-cmake-manual.html
- Static and dynamic fonts (Unicode)
https://doc.qt.io/QtForMCUs/qtul-fonts.htm)
- RTOS support for several platforms
- Porting interface and Qt Ultralite (QUL) are
recompilable
https://doc.qt.io/QtForMCUs/index.
html
9. Qt for MCUs
Versions
v2.0 Dec 21, 2021
v1.9 Jun 23, 2021
v1.8 Apr 8, 2021
v1.7 Feb 15, 2021
v1.6 Dec 10, 2020
https://doc.qt.io/QtForMCUs/migration-guide-
migration.html
11. Modern microcontroller (MCU) application development with Qt
Qt for MCUs demo slot#1
QtCreator session
• Migration to Qt for MCUs 2.0
• Set hints to optimize application and
resources
• Show LightBlueInteractive demo on
STM32469i-DISCO
12. Modern microcontroller (MCU) application development with Qt
Qt for MCUs Flash usage
- Minimal from Qt for MCUs: 158 kB
- Mini Qt Design Studio 3.0 (QtMCUs 2.0): 167 kB
(+default controls)
- LightBlue Static fonts: 7.7 MB
- LightBlue Dynamic fonts: 9.8 MB
14. Modern microcontroller (MCU) application development with Qt
Qt for MCUs demo slot#2
QtCreator session
• Drive SoC hardware “library”
• Manage hardware from QML
application
• Show on Renesas RA6M3G +
peripherals
15. Modern microcontroller (MCU) application development with Qt
Qt for MCUs
- Designer tool (Photoshop) to MCU testing
- Import and animate in Design Studio
- QtCreator: port to version Qt for MCUs 2.0
- Add dynamic fonts
- Add hardware management
Arnaud Armengaud
Sr Technical Artist EMEA
Cédric Le Dillau
Sr Solution Architect EMEA
Hinweis der Redaktion
It's not the designer who builds the design - it's the developer
Designer shares graphic assets and images - as photo or background
For performance requirements, maximum part of the UI part must be dynamic
The job of the designer is to communicate the specs, screen and animation to give a more precise idea of what is needed
But the designer builds the user interface from scratch
Same pain point for deployment
On the target device, the design needs to be adapted and reworked
Because tools are not common
Except some assets, the developer can’t reuse the work of the designer
Much of this wok goes the trash
It's a very big waste of time
This makes it more difficult to achieve satisfactory graphics quality
It is a source of tension between the Design and development teams
1 - QT creates a QT bridge on the four main design tools: Photoshop, Figna, Sketch (IOS) and soon Xd - These Bridges allow to export the work of the Designer on DS
2 - DS imports the "pixel perfect" screen - It can now add a large proposal of effects and animation
3 - IMPORTANT - The magical difference between us and competing tools: imports and animation are interpreted in QML language - it is a descriptive language both usable by the designer and the developer
4 - No need to wait for the full deployment of the application on the device - the preview allows the designer to verify and validate
Modern GUI: similar to high-end embedded and desktop systems
Manage properties, signals & slots: which are the basis for UI interactivity
I18n (internationalization) multiple language support
Many examples and demos: where demos are far closer to a real product.
The differences from Qt Framework are the following:
Optimized at compile time: the QML code is compiled through C++. You can give hints to CMake to choose for compression, cache, RAM and Flash location preferences for your application assets.
Static or dynamic font engine (Unicode): dynamic font engine uses Monotype Spark engine to render precomputed True Type Fonts. unicodeCoverage
RTOS support for several platforms which is not shown here
Porting interface and Qt Ultralite are recompilable: as all source code for MCU and the tooling are delivered to ensure the best support.