GUI: Graphical User Interface.
In the past, due to the limited resources and processing capabilities of MCUs, there were very few general GUIs based on MCUs.
Now, with increased resources and stronger processing capabilities of MCUs, along with growing market demand, GUI functionalities have become richer.
Let’s take a look at some common MCU-based GUIs.

emWin is a GUI product under SEGGER, providing an embedded GUI solution. It is a leading embedded graphics library in the industry, offering professional embedded GUI capabilities.
emWin supports the creation of efficient, high-quality graphical user interfaces on any embedded system, catering to resource-constrained microcontroller systems and delivering stunning interactive interfaces.
emWin is compatible with both single-task and multi-task environments, usable with proprietary operating systems or compatible with any commercial RTOS. It is provided in C language source code, making it a professional and general-purpose GUI for the embedded market, applicable in various scenarios.
Features:
-
Create amazing graphics with a powerful, easy-to-use API
-
Suitable for any display and microcontroller
-
Compatible with any ANSI C/C++ development environment
-
Experience a reliable graphical solution
-
Embedded graphical user interface solution
Expansion: Relationship between emWin, STemWin, and μCGUI
Many of you are familiar with these GUIs, but do you know their origins and relationships?
In simple terms: STemWin and μCGUI both originated from emWin.

STemWin is licensed by SEGGER to ST (STMicroelectronics), allowing users of ST chips to use STemWin for free. Additionally, it has been specially optimized for ST microcontrollers, such as optimizations for floating-point processing when using STM32F4 chips with FPU.
Speaking of μCGUI, many of you may know μCOS, both belonging to Micrium. μCGUI is licensed by SEGGER to Micrium and is a customized graphic software library for them.
In summary, uC/GUI and STemWin are both products of Segger’s emWin.
LVGL stands for Light and Versatile Graphics Library.
LVGL is a highly customizable, low-resource, aesthetically pleasing, and easy-to-use graphics library for embedded systems.
With widespread platform support and abundant examples and documentation, LVGL has become one of the top choices for MCU enthusiasts and developers globally.
https://www.st.com/content/st_com/en/stm32-graphic-user-interface.html

TouchGFX is a GUI product from Draupner Graphics. In July 2018, TouchGFX was acquired by ST and can be used for free on STM32.
Currently, TouchGFX has expanded to the STM32 ecosystem and is integrated into STM32CubeMX.
Here’s a video showing TouchGFX running on STM32F4:

MiniGUI is a domestic GUI, an advanced window system and graphical user interface (GUI) support system for embedded systems, developed by Mr. Wei Yongming since late 1998. In 2002, Mr. Wei founded Beijing Feiman Software Technology Co., Ltd. to provide commercial technical support for MiniGUI while continuing to offer an open-source version. Feiman Software is the software company that has contributed the most code to the open-source community in China.
MiniGUI’s rich features and configurability make it suitable for both low-end devices running on 30MHz CPUs and high-end devices using GPUs, providing a mature, validated cross-platform GUI system for embedded and smart IoT devices.
Technical Advantages of MiniGUI
Compared to other graphical systems targeting embedded products, MiniGUI has the following major advantages in system requirements:
-
Strong scalability
-
Lightweight, low resource consumption
-
High performance, high reliability
-
Configurability
On August 21, 2019, Qt Company launched Qt for MCUs, enabling customers to create smooth user interfaces on cost-effective microcontrollers (MCUs). Recently, the first Long-Term Support version of Qt for MCUs, version 2.2 LTS, was officially released.
Main Advantages of Qt for MCUs:
-
Reuse your existing skills on microcontrollers
-
Reduce maintenance costs through technical consistency across devices (from high-end to mainstream devices)
-
Evolve to microcontrollers to lower hardware costs without compromising graphical performance
-
Upgrade traditional solutions to modern cross-platform graphical toolkits
Differences between Qt Commercial and Open Source Versions:

Qt for MCUs video:
AWTK stands for Toolkit AnyWhere, an open-source GUI engine developed by ZLG, aimed at creating a universal GUI engine for embedded systems, WEB, various small programs, mobile, and PC, providing users with a powerful, efficient, reliable, easy-to-use GUI engine that can easily create stunning effects.
For more, please refer to:
https://gitee.com/zlgopen/awtk
Currently, there are many GUIs available on the market, each with its own features, application scenarios, and platforms.
There are many both domestically and internationally, such as the well-known RT-Thread, which has a GUI called Persimmon UI.
When choosing a GUI for our project, we need to consider the actual project situation comprehensively and select the appropriate GUI. For learning purposes, choosing common ones like the ones listed above will suffice.
WeChat Official Account | strongerHuang