Comprehensive Overview of General GUI for MCUs

Comprehensive Overview of General GUI for MCUs
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

Comprehensive Overview of General GUI for MCUs

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.

Comprehensive Overview of General GUI for MCUs

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

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.
Comprehensive Overview of General GUI for MCUs
With widespread platform support and abundant examples and documentation, LVGL has become one of the top choices for MCU enthusiasts and developers globally.

TouchGFX

ST official website:

https://www.st.com/content/st_com/en/stm32-graphic-user-interface.html

Comprehensive Overview of General GUI for MCUs

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

Comprehensive Overview of General GUI for MCUs

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

Qt for MCUs

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:

Comprehensive Overview of General GUI for MCUs

Qt for MCUs video:

AWTK

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.
Comprehensive Overview of General GUI for MCUs
For more, please refer to:

https://gitee.com/zlgopen/awtk

More

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.

Author | strongerHuang
WeChat Official Account | strongerHuang

Leave a Comment