In embedded system development, choosing a suitable
GUI library
is crucial. When displayed on the screen, using
ready-made graphics libraries
allows developers to avoid figuring out low-level tasks, such as how to draw pixels, lines, shapes, and, at a higher level, certain objects like windows and buttons.
In the first part, we introduced 5 options, and today we continue with 5 more.

Top 15 MCU GUI Libraries: Choose the Best GUI for Your Application (Part 1)
Next, we will introduce
5 popular embedded GUI libraries
, analyzing their
features, pros and cons, use cases, and ecosystems
to help developers better choose the GUI library suitable for their projects.
6. Qt for MCU
https://www.qt.io/product/develop-software-microcontrollers-mcu
Qt for MCU is a version of the
Qt framework
, a
complete graphics framework and toolkit
designed specifically for embedded systems. Qt itself is a powerful,
cross-platform
C++ GUI development framework, while Qt for MCU focuses on providing high-performance graphical user interfaces in
resource-constrained embedded environments
.
Features
Graphic design tools: Qt for MCU provides
visual graphic design tools
that enable developers to easily design and layout user interfaces, facilitating rapid prototyping and development.
Cross-platform support: Qt for MCU inherits the
cross-platform features of the Qt framework
and can run on various embedded systems and operating systems, including embedded Linux, FreeRTOS, etc. For embedded, desktop, and mobile platforms,
all platforms share the same codebase
.
Hardware acceleration: Qt for MCU fully utilizes hardware acceleration technology to enhance graphics rendering performance, catering to embedded applications with high performance requirements.
Large ecosystem:
Qt has a vast ecosystem and community support
, offering rich documentation, examples, and support. This enables developers to better leverage the features and capabilities of Qt for MCU.
Use Cases:
Complex embedded systems: Qt for MCU is suitable for embedded systems that require complex graphical user interfaces, such as industrial control systems, medical devices, etc.
Projects with high GUI performance requirements: Due to the hardware acceleration features of Qt for MCU, it is suitable for projects that require high graphics performance, such as automotive dashboards, aerospace equipment, etc.
Learning Difficulty:
Qt for MCU has a steeper learning curve compared to some lightweight GUI libraries. This is mainly because the Qt framework itself is very powerful, but it also provides developers with extensive documentation and tutorials.
However, if you have experience in desktop development, MCU will be very quick to pick up.
Ecosystem Support:
Qt for MCU, as part of the Qt framework, inherits the vast Qt ecosystem and active community support. Users can gain extensive support and resources within the community, enabling them to better utilize the features of Qt for MCU.
Qt for MCU is a powerful graphical user interface framework suitable for embedded systems. Its graphic design tools, cross-platform support, and hardware acceleration features make it an excellent choice for complex embedded systems. However, for some resource-constrained embedded systems, it may require a trade-off between hardware resource usage and rich functionality.
7. Embedded Wizard
https://www.embedded-wizard.de/
Embedded Wizard is a GUI development tool designed specifically for embedded systems, aimed at
simplifying and accelerating the development process of embedded GUIs
. It provides graphic design tools,
Embedded Wizard Studio
, a code generator, and a
runtime engine
, enabling developers to quickly create beautiful and high-performance embedded user interfaces.
Features
Graphic design tools: Embedded Wizard provides modern and user-friendly visual graphic design tools,
Embedded Wizard Studio, allowing developers to design and layout user interfaces intuitively
. This design approach reduces the learning curve and makes the development process more efficient.
Cross-platform support: Embedded Wizard supports multiple hardware platforms and embedded operating systems, including ARM, MIPS, x86, etc., as well as FreeRTOS, RTOS, etc. This makes it a tool with
broad portability
.
Code generator: Embedded Wizard can
automatically generate optimized, embeddable GUI code
. This eliminates the tedious task of manually writing a lot of low-level code, improving development efficiency.
Runtime engine: The runtime engine of Embedded Wizard is optimized to
provide high-performance graphics rendering
, catering to embedded applications with high graphics performance requirements.
Graphical user interface elements: A
rich variety of interface elements
can be selected, supporting multi-frame and animated images, making it very suitable for animated icons, with rich GUI component templates and supported framebuffer color formats.
Use Cases:
Complex embedded systems: Embedded Wizard is suitable for embedded systems that require complex graphical user interfaces, such as automotive infotainment systems, medical instruments, etc.
Cross-platform embedded projects: Due to its portability, Embedded Wizard is suitable for
embedded projects across multiple hardware platforms
and operating systems.
Learning Difficulty:
Learning Embedded Wizard is relatively smooth, especially for developers with graphic design experience. Its visual tools allow developers to easily get started and quickly master the tool’s usage.
Ecosystem Support:
Embedded Wizard has an active community and a strong ecosystem. Users can gain support, share experiences, and access additional documentation and tutorials within the community. This helps developers better utilize the features and capabilities of Embedded Wizard.
Embedded Wizard is a powerful and highly customizable embedded GUI development tool. Its graphic design tools, code generator, and cross-platform support make it an ideal choice for complex embedded systems, especially for embedded applications requiring high performance and beautiful interfaces.
8. emWin
https://www.segger.com/products/user-interface/emwin/
emWin is a graphical user interface (GUI) solution designed specifically for embedded systems, developed by SEGGER. As a
commercial solution
, emWin provides rich features and flexible customization options to meet the needs of various embedded applications.
emWin is an embedded GUI solution compatible with single-task and multi-task environments with proprietary operating systems or any commercial RTOS (like embOS). The
GUI is provided in 'C' source code form
. emWin can adapt to any size, whether physical displays or virtual displays, independent of the display controller and target CPU.
ST users can use a specific version of emWin called ’emWin for STM32′ for free, in the form of a library.
Features
Flexibility and Customizability: emWin has highly customizable features, with
stunning graphic libraries
, allowing developers to adjust and optimize interface elements such as buttons, text, graphics, etc., according to project needs.
Cross-platform support: emWin supports various hardware platforms and embedded operating systems, including ARM, MIPS architectures, and RTOS (real-time operating systems) like FreeRTOS, Micrium, etc.
Efficiency: emWin is a high-performance graphics package.
It has been optimized for minimal memory consumption in RAM and ROM, as well as for speed and multifunctionality
. This makes it a cutting-edge GUI solution.
Comprehensive graphic elements: emWin provides a rich set of graphic elements, including buttons, sliders, text boxes, etc., and supports both touchscreen and non-touchscreen devices.
Use Cases:
Complex embedded systems:
emWin is suitable for embedded systems that require complex and highly customizable graphical user interfaces
, such as industrial control systems, medical instruments, etc.
Projects with high graphics performance requirements: Due to its hardware acceleration technology, emWin is suitable for projects with high graphics performance requirements, such as high-resolution displays and smooth animations.
Learning Difficulty:
emWin has a relatively steep learning curve, especially for beginners. Due to its rich features and flexible customization options, it may take some time to familiarize oneself with its API and workflow.
Ecosystem Support:
As a
commercial solution
, emWin has a strong ecosystem and technical support. SEGGER provides detailed documentation, sample code, and technical support, offering comprehensive assistance to developers.
emWin is a powerful, flexible, and high-performance embedded GUI solution. It is suitable for complex embedded systems and projects with high graphics performance requirements. Due to its commercial nature, developers need to consider commercial licensing fees. However, for embedded applications requiring powerful graphic capabilities, emWin is a strong choice.
9. TouchGFX
https://support.touchgfx.com/zh-CN/docs/introduction/welcome
TouchGFX is a high-performance graphical user interface (GUI) framework designed specifically for embedded systems, standing out for its impressive graphics performance and rich features, suitable for embedded applications with high user interface requirements.
TouchGFX is an advanced free graphics software framework optimized for STM32 microcontrollers.
TouchGFX leverages the graphics capabilities and architecture of STM32
to accelerate the IoT HMI revolution by creating stunning, smartphone-like graphical user interfaces.
Features
Hardware-accelerated graphics rendering:
TouchGFX achieves high-performance graphics rendering through hardware acceleration
, providing users with a smooth interface experience, suitable for projects with high graphics performance requirements.
Graphic design tools: TouchGFX provides powerful graphic design tools, allowing developers to intuitively design and layout user interfaces.
It can be used as a standalone software tool for easy and quick graphic evaluation and concept verification
. This reduces the learning curve and makes the development process more efficient.
Extensible and customizable: The TouchGFX framework has high extensibility and customizability, supporting various fonts, colors, and graphic effects, allowing developers to customize according to project needs and easily extend new graphic elements and features.
Supports both touchscreen and non-touchscreen: TouchGFX supports touchscreen and non-touchscreen devices, providing developers with more input options.
Cross-platform support: TouchGFX not only supports various embedded platforms but can also run on different operating systems, with excellent portability.
Use Cases:
Projects with high graphics performance requirements: TouchGFX is suitable for projects with high graphics performance requirements, such as automotive dashboards, medical devices, home appliances, etc.
Complex embedded systems:
TouchGFX is suitable for embedded systems that require complex and highly customizable user interfaces
.
Learning Difficulty:
TouchGFX has a relatively gentle learning curve, especially for developers with graphic design experience. Its graphic design tools and documentation allow developers to more easily get started and quickly master the tool’s usage.
Ecosystem Support:
TouchGFX has a strong ecosystem and technical support.
STMicroelectronics provides detailed documentation, sample code, and technical support, while the community is also active, providing developers with comprehensive support
.
TouchGFX is a powerful, high-performance, and customizable embedded GUI framework. Its hardware acceleration technology, graphic design tools, and cross-platform support make it an ideal choice for embedded applications with high graphics performance requirements. Although there may be commercial licensing fees involved, TouchGFX is a solution worth considering for projects requiring powerful graphics performance.
10. CrankSoftware
https://www.cranksoftware.com/storyboard/capabilities/ui-scalability-mcu
Crank Software is a company
focused on embedded user interface (UI)
development, offering a tool suite called Storyboard. Storyboard is a tool for creating rich, modern embedded user interfaces designed to simplify the development process and provide high customizability.
Storyboard’s unique architecture is compatible with MCUs, cross-processors, and MPUs, allowing you to freely create embedded applications scalable to market and hardware platforms. By introducing UI development tools that easily support hardware changes at any point in the development cycle, it helps reduce the risks of embedded projects.
Features
Focus on embedded UI: Crank Software is dedicated to providing user interface solutions for embedded systems, focusing on the development of graphical user interfaces for embedded devices. Developers can create stunning UIs from scratch or import files directly from their favorite design tools (like Photoshop, Illustrator, or Sketch).
Comprehensive tool suite: The main product of the company,
Storyboard provides a comprehensive tool suite
, including graphic design tools, interactive prototype design, code generation, and other functions, offering developers an integrated development experience. Storyboard includes features aimed at developing applications that occupy less space. By simplifying runtime to save resources and choosing between C callbacks and Lua APIs, Storyboard allows you to strictly control memory usage.
Storyboard allows importing GUI graphic content from design tools like Photoshop, Sketch, and Illustrator,
testing and validating functionality directly on target hardware devices (microcontrollers, cross devices, or MPUs) using simulators
.
Multi-platform support: Crank Software’s solutions support
multiple embedded platforms
, including ARM, MIPS architectures, while also running on different embedded operating systems like FreeRTOS, Linux, etc.
Use Cases:
Complex embedded systems: Crank Software’s solutions are suitable for embedded systems that require complex and highly customizable systems, such as automotive dashboards, medical devices, etc.
Collaborative development: The support for remote collaboration in Storyboard makes it suitable for projects requiring
multiple team members to collaborate on user interface development
.
Learning Difficulty:
The learning curve is relatively gentle, especially for developers with graphic design and embedded development experience. Storyboard provides detailed documentation and examples to help users quickly get started.
Ecosystem Support:
Crank Software has an active community and technical support. Users can gain support, share experiences, and access additional documentation and tutorials within the community. In terms of technical support, Crank Software also provides professional support services.
Crank Software is known for its
focus on embedded UI development
and
comprehensive tool suite of Storyboard
.
Storyboard is compatible with many microcontrollers (MCUs), cross-processors, and MPUs
. Its proprietary technology separates the UI from the backend until it is exported from its library using a hardware-specific runtime engine. It is suitable for embedded system projects that require highly customizable and complex user interfaces. Its multi-platform support, high customizability, and team collaboration features make it an important tool for developers in the embedded UI field.

Previous Recommendations

Make a Portable IoT Display with ESP32

[Open Source Project] Make a Desktop Weather Station with ESP32

Introduce an open-source Gui Lite with 4000 lines of code, and port it to STM32, save it

Introduce an open-source GUI, LittlevGL, with a demo of Wildfire STM32F429, using deep black skin

Another excellent open-source free small GUI, only requires three files