Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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

.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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).

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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

.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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.

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)
In this issue, we introduced 5 options, and we will continue to introduce in the next issue.

Previous Recommendations

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

Make a Portable IoT Display with ESP32

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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

Top 15 GUI Libraries for MCUs: Choose the Best GUI for Your Application (Part 2)

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

Leave a Comment

×