graphical user interface (GUI) library
is crucial. When displayed on the screen, using
ready-made graphic libraries
allows developers to avoid figuring out underlying tasks, such as how to draw pixels, lines, shapes, and if more advanced, create certain objects like windows, buttons, etc.
In the previous two issues, we introduced 10 libraries; today we continue with 5 more.

Top 15 GUI Libraries for MCU: Choose the Best GUI for Your Embedded System (Part 1)

Top 15 GUI Libraries for MCU: Choose the Best GUI for Your Embedded System (Part 2)
Next, we will introduce
5
popular embedded GUI libraries, analyzing their
features, advantages, disadvantages, usage scenarios, and ecosystems
, to help developers better choose the GUI library suitable for their projects.
11. PEG Graphics Software
https://www.nxp.com/design/design-center/software/embedded-software/peg-graphics-software:PEG-HOME
PEG Graphics Software is a graphical user interface (GUI) library for embedded systems developed by
NXP Semiconductors
. PEG (Portable Embedded GUI) aims to simplify and accelerate the development of embedded GUIs, providing rich graphical elements and functions suitable for various embedded platforms.
NXP’s PEG Pro, PEG Plus, and PEG Lite products include a GUI library for embedded development that works perfectly with real-time operating systems. The graphical development solution tool allows developers to use the PEG library and external resources to deploy user interface screens and controls to generate C++ code.
Features
Cross-platform support: PEG Graphics Software is designed as a portable embedded GUI library,
supporting various processor architectures and embedded operating systems
, including ARM, MIPS, etc., as well as FreeRTOS, ThreadX, etc.
Lightweight design: PEG’s design focuses on being lightweight, making it suitable for resource-constrained embedded systems such as microcontrollers (MCUs).
Highly customizable: PEG provides rich graphical elements and themes, allowing developers to freely adjust appearance and interaction behavior according to project needs.
Hardware acceleration:
PEG supports hardware acceleration technologies
, improving graphics rendering performance, suitable for embedded applications with high graphics performance requirements.
Usage scenarios:
Resource-constrained embedded systems: PEG is suitable for resource-limited embedded systems, such as some simple MCU projects, providing a lightweight GUI solution.
Real-time embedded applications: Due to its support for hardware acceleration, PEG is suitable for embedded applications requiring real-time graphics rendering, such as automotive infotainment systems, home appliances, etc.
Learning curve:
The learning curve of PEG Graphics Software is relatively gentle, especially for developers with embedded development experience. Its documentation and sample code help users get started quickly.
Community support:
PEG Graphics Software has a relatively small community and ecosystem, but NXP Semiconductors provides corresponding technical support and documentation. Users can obtain relevant information and assistance through NXP’s support channels.
PEG Graphics Software is a lightweight, cross-platform embedded GUI library suitable for resource-constrained embedded systems. Its high customizability and hardware acceleration support make it a suitable choice for some simple embedded projects. However, for projects requiring more complex and feature-rich user interfaces, it may be necessary to consider other more comprehensive GUI libraries.
12. EasyGUI
https://www.easygui.com/
EasyGUI is a lightweight graphical user interface (GUI) library designed for embedded systems, aimed at simplifying the development process of embedded GUIs, reducing the learning curve, and providing basic user interface functions in resource-constrained environments.
EasyGUI allows for quick and efficient creation of graphical user interfaces for embedded systems. It supports almost all color and monochrome displays, C compilers, and microcontrollers. EasyGUI is your complete visual development system, offering advanced screen processing systems,
comprehensive font systems
,
complete graphic libraries and multilingual application support
, as well as full UNICODE support for Asian and Middle Eastern languages.
Features
Lightweight design: EasyGUI is characterized by its small size and low memory footprint, written in
pure C language
, suitable for resource-constrained embedded systems such as microcontrollers (MCUs).
Simple and easy to use: EasyGUI focuses on providing
simple and intuitive APIs
, enabling developers to get started quickly, reducing development time and costs. It has many graphical components, from simple text and lines to buttons and graphics, allowing the construction of both simple and complex GUIs.
Supports multiple embedded platforms: EasyGUI supports various embedded platforms, including different processor architectures and operating systems, making it more flexible.
Basic graphical elements: EasyGUI supports all color depths from
monochrome to 24-bit true color per pixel
, providing some basic graphical elements such as buttons and text boxes to help users build basic user interfaces.
Usage scenarios:
Resource-constrained embedded systems: EasyGUI is suitable for resource-constrained embedded systems, especially some simple MCU projects, providing a lightweight GUI solution for these projects.
Basic embedded user interfaces: EasyGUI is suitable for embedded applications with relatively simple user interface requirements, such as some sensor controls, simple displays, etc.
Learning curve:
The learning curve of EasyGUI is relatively gentle, especially for developers with some embedded development experience. Its simple and intuitive API design helps users get started quickly.
Community support:
EasyGUI has a relatively small community and ecosystem, but may provide basic documentation and sample code. Due to its lightweight nature, community support may be limited.
EasyGUI is a lightweight and easy-to-use embedded GUI library suitable for resource-constrained embedded systems with relatively simple user interface requirements. For some basic MCU projects or simple embedded applications, EasyGUI provides a lightweight and effective choice. However, for projects requiring more complex, feature-rich user interfaces, it may be necessary to consider other more comprehensive GUI libraries.
13. RamTex
https://www.ramtex.dk/
RamTex is a graphical display controller library for embedded processor systems, providing a powerful and flexible graphical user interface for embedded applications. All LCD, TFT, and OLED driver libraries implement basic high-level function interfaces, all libraries are provided as processor-independent, standard C source code.
Features
Display libraries: There are many libraries for different display controllers, including gray scale driver display libraries.
Font library: Font, symbols, and text manipulation tools IconEdit
Community support:
There is little information available online, use with caution.
14. Guiliani
https://www.guiliani.de/mediawiki/index.php?title=The_C%2B%2B_GUI_framework_for_all_embedded_engineers
Guiliani is a graphical user interface (GUI) framework for embedded systems developed by TES Electronic Solutions GmbH. Guiliani focuses on providing
highly customizable
and
scalable
user interface solutions suitable for various embedded applications, including automotive dashboards, medical devices, home appliances, etc.
Features
High customizability: Guiliani provides rich graphical elements and themes, allowing developers to freely adjust appearance and interaction behavior according to project needs.
It has a WYSIWYG Guiliani Streaming Editor (GSE) for rapid design work.
Cross-platform support: Guiliani supports various hardware platforms and operating systems, including ARM, x86 processor architectures, and embedded operating systems such as FreeRTOS, Linux.
Hardware acceleration: Guiliani utilizes
hardware acceleration technology
, providing high-performance graphics rendering, suitable for embedded applications with high graphics performance requirements.
Supports touchscreen and non-touchscreen devices: Guiliani supports both touchscreen and non-touchscreen devices, providing developers with more input options.
Expandable architecture: Guiliani’s architectural design supports modularity and scalability, allowing developers to easily integrate and customize new features.
Usage scenarios:
Automotive dashboards
: Guiliani is suitable for automotive dashboards and in-car entertainment systems, providing complex and modern user interfaces.
Medical devices
: Due to its highly customizable features, Guiliani is suitable for embedded applications requiring complex user interfaces, such as medical devices.
Home appliances and industrial control systems
: Guiliani is widely used in home appliances and industrial control systems, meeting projects with high user experience requirements.
GUI built with Guiliani for a coffee machine
Learning curve:
The learning curve of Guiliani is relatively gentle, especially for developers with graphic design and embedded development experience. Its documentation and sample code help users get started quickly.
Community support:
Guiliani has an active community and technical support. Users can obtain support, share experiences, and access additional documentation and tutorials within the community. TES Electronic Solutions GmbH also provides professional support services.
Guiliani is a powerful and highly customizable embedded GUI framework suitable for various complex embedded applications. Its cross-platform support, hardware acceleration, and expandable architecture make it an ideal choice for projects with high graphics performance and user experience requirements.
15. MPLAB® Harmony Graphics Suite
https://www.microchip.com/en-us/tools-resources/configure/mplab-harmony/graphics-suite
MPLAB® Harmony Graphics Suite is a graphical user interface (GUI) solution for embedded systems launched by Microchip. As part of the MPLAB Harmony framework, this graphics suite is designed to simplify the design and development of embedded GUIs and provide high customizability.
The MPLAB® Harmony Graphics Suite uses the powerful and free MPLAB Harmony Graphics Suite (MHGS), making it unprecedentedly simple to create professional-looking embedded graphical user interfaces (GUIs) using cost-effective 32-bit microcontrollers (MCUs). MHGS can be used within the MPLAB Harmony embedded software development framework, specifically designed to fully utilize Microchip's high-performance 32-bit capabilities.
Features
No professional graphic design skills required: The MPLAB Harmony Graphics Suite is designed to be user-friendly, allowing even developers without professional graphic design experience to create modern and visually appealing user interfaces.
Integrated into the MPLAB Harmony framework: As part of the MPLAB Harmony framework, this graphics suite is tightly integrated with Microchip’s other tools and libraries, providing developers with a comprehensive embedded development solution.
Cross-platform support: The MPLAB Harmony Graphics Suite supports various Microchip MCU platforms, including PIC32, SAM E series, making it suitable for different hardware architectures.
Graphical elements and components: WYSIWYG GUI drawing screens and tool organizers, providing a range of graphical elements and components, including buttons, text boxes, charts, etc., to simplify user interface design. Image resources, widgets, and text objects can be placed, moved, and modified directly in the display area, then accurately recreated on the target system.
Customizable themes and styles: Allowing developers to easily customize the themes and styles of user interfaces to meet specific project design requirements.
Usage scenarios:
Embedded system development: The MPLAB Harmony Graphics Suite is suitable for various embedded system developments, including industrial control systems, consumer electronics, etc.
Microchip MCU projects: Especially suitable for projects using Microchip MCUs, fully leveraging the advantages of hardware and software integration.
Learning curve:
The learning curve of the MPLAB Harmony Graphics Suite is relatively gentle, especially for developers familiar with the MPLAB Harmony framework. It provides detailed documentation and examples to help users get started quickly.
Community support:
As a Microchip product, the MPLAB Harmony Graphics Suite enjoys strong technical support and a large user community. Users can obtain support, share experiences, and participate in development discussions within the community.
The MPLAB Harmony Graphics Suite is a powerful embedded GUI solution provided by Microchip, suitable for various Microchip MCU projects. Its tight integration with the MPLAB Harmony framework, ease of use, and customizability make it an ideal choice for Microchip users designing user interfaces in embedded systems.
Lastly, let’s list the pricing of the 15 GUIs:
What other good domestic embedded GUIs are there? Feel free to comment in the message area!
Previous Recommendations

20 Classic and Ingenious Circuits in Actual Hardware Design, with Analysis, Keep It for Later Reading! (Part 2)

Play with Bluetooth E-Ink Screen Electronic Tags (Part 1) Lighting Up

20 Classic and Ingenious Circuits in Actual Hardware Design, with Analysis, Keep It for Later Reading! (Part 1)

How to Calculate Battery Capacity? Understand Battery Monitoring Technology Thoroughly in One Article