Woman touching a screen of a washing machine Woman touching a screen of a washing machine

STM32 for graphical user interfaces
Easily develop smartphone-like GUIs

Overview
Graphics for STM32 MCUs
Graphics for STM32 MPUs
 
Overview
Graphics on STM32 MCUs
Graphics on STM32 MPUs
STM32 GUI hardware portfolio
STM32 GUI software
STM32 GUI ecosystem
STM32 GUI Resources
stm32 logo
STM32 GUI hardware portfolio
The industry’s broadest portfolio of advanced graphics enabled MCUs and MPUs
stm32 gui software
STM32 GUI software
State-of-the-art graphical development tools available on STM32 MCUs and MPUs
stm32 gui ecosystems
STM32 GUI ecosystem
Reference designs, selected GUI software and design partners
stm32 gui resources
STM32 GUI Resources
Support, online community and documentation to help you find answers to your questions

The design trends in embedded HMI (Human-Machine Interface) are continuously evolving. With products getting smarter and offering an increasing number of features, end users expect HMIs to provide an engaging experience and easy access to product features.


Including a GUI (Graphical User Interface) in your products will allow you to design a more user-friendly, safe, and modern device, offering end users more value. The key design requirements of GUIs are shaped by the one device we all interact with every day: the smartphone in our pockets.


Ready to get started?

The STM32 family provides the tools required to easily add smartphone-like Graphical User Interfaces (GUIs) in embedded devices, accelerating the "HMI of Things" revolution.

Chart comparing STM32 displays showing the graphical user interface capabilities for each STM32 microcontrollers and microprocessors

STM32 GUI developer kits

The STM32 offer for Graphical User Interfaces includes a large choice of developer kits, software examples and demos.

Each developer kit comes with a flashed demonstration. The code for each demo is made available in the associated STM32Cube software packages.

An extended ecosystem to support your development

Display module makers

Avoid the hassle of sourcing your own display kit. Select a production-ready display module from one of our ST Authorized Partners and add it to your product.

ST Authorized partner logo for ST Partner Program

UI Tool providers

Several ST Authorized Partners provide GUI development tools for STM32 hardware. They are all committed to support you to ensure smooth GUI development on STM32.

Graphics on STM32 MCUs

Use GUIs to offer the best UX

To design embedded products offering an outstanding user experience, the STM32 family offers the industry’s broadest range of graphics-enabled MCUs with over 200 active part numbers, supporting different display interfaces and packaging options. The STM32 graphics enabled MCUs embed different features that allow developers to achieve the desired performance and optimization trade-offs required for embedded devices, such as:

  • The Chrom-ART Accelerator™ offers memory-efficient 2D graphics acceleration and enables smooth transitions and transparency effects while offloading the main CPU
  • NeoChrom GPU, New 2.5D Accelerator With Massive Hardware Optimizations for Rich UIs on STM32. The technology optimizes animations such as flips, spins, scaling, zooms, and more. In a nutshell, the new hardware IP accelerates texture mapping and alpha blending. Offloading these computations to NeoChrom GPU vastly increases the number of frames per second.
  • NeoChrom VG GPU is the first vector graphics accelerator specifically designed for vector graphics computations. It builds upon the technology of the NeoChrom GPU.
  • The JPEG codec allows you to add M-JPEG videos for branding and tutorials
  • Fast access to internal and external memory avoids bottlenecks, supporting smooth animations
  • The large internal memory supports a one-chip solution, without requiring an external RAM and Flash for small-resolution displays. This brings you additional flexibility to secure system architecture, your buffer strategy and memory budget
  • Support for large display interfaces with parallel interfaces, LCD-TFT, and MIPI-DSI embedded controllers
Wondering what type of GUI you can develop with our STM32 GUI solution?
Discover customer success stories in our brochure. Download now.

What it takes to develop a GUI

Creating a good GUI requires skills and expertise, and involves many building blocks, starting with the selection and sourcing of the right display and casing, the art-creation of menus and screens, the programming of the art-design into a user interface and the electronic development, before being able to connect the dots and to trigger the spark that will bring your design to life.

We know it can be overwhelming to develop a GUI.

That is the reason why ST provides state-of-the-art and MCUs, combined with the tools and the support you need every step of the way, to ensure you bring your GUI project to success.

design gui components
1

Define your needs and select your MCU & developer kit accordingly

STM32 portfolio of graphics enabled MCUs

Chart comparing STM32 displays showing the graphical user interface capabilities for each STM32 microcontrollers

STM32 GUI developer kits

The STM32 offer for Graphical User Interfaces includes a large choice of developer kits, software examples and demos.

Each developer kit comes with a flashed demonstration. The code for each demo is made available in the associated STM32Cube software packages.

2

Download TouchGFX

What is TouchGFX

Integrated in the STM32 ecosystem, TouchGFX is a free GUI tool providing everything you need to create cutting-edge GUIs.

TouchGFX is delivered in the X-CUBE-TOUCHGFX package which includes:

  • TouchGFX Designer, a PC GUI-builder and simulator
  • TouchGFX Generator, to configure and generate a TouchGFX project
  • TouchGFX Engine, which is an optimized, hardware-accelerated graphical library
3

Start creating your own GUI

Select examples, watch demos, or start from scratch by importing graphical assets and use widgets in TouchGFX Designer to create your GUI application.

4

Flash your design kit and run your smartphone-like GUI

With your developer kit connected to your PC, you just hit the “Run Target” and TouchGFX Designer will automatically use installed STM32Cube Programmer to flash to your kit.

TouchGFX Experts

STM32 TouchGFX Expert badge for ST Authorized partners

Our dedicated and highly skilled TouchGFX Experts help you move from idea to market-leading products. They are able to provide support and services on STM32 and TouchGFX solution, bringing their innovative approach, combined with their extensive knowledge and experience, to help you design your next embedded product and quickly move from idea to end-product.

Additional resources

Videos

TouchGFX 4.23 fast flash programming and vector font

STM32U5G9 cost-effective solution

STM32 graphics cost-effective GUI solution

Run MPU-like GUI applications on STM32H7RS

STM32U599 Neochrom GPU demonstration

STM32 GUI development with low-flash usage

Graphics on STM32 MPUs

The STM32 graphics offer is designed to help you create stunning graphical user interfaces (GUIs) on STM32 MPUs with ease. Building a GUI on an MPU requires optimization for memory usage, performance, input/output devices, power consumption, and user experience. ST recognizes these challenges and offers a range of graphics solutions, with ST Authorized partners' support, to help you create a GUI that is both visually appealing and optimized for performance. This comprehensive approach takes into account the unique constraints of embedded systems, ensuring your MPU-based GUI delivers a smooth and responsive user experience.

3D Graphics Processing Units (GPUs) offer the capability to handle complex 3D graphics calculations and rendering much faster than CPUs, while also being more power-efficient.

STM32 MPU wiki logo
STM32MPU wiki

Helps you get started your GUI design on STM32MPUs

Select your MPU

STM32MP13 STM32MP15 STM32MP25
Camera interface DCMI
Up to 240 Mbytes using a 120 MHz
pixel clock and 16-bit of data.
3 megapixels @30 fps in color
5 megapixels @15 fps in color
DCMI
Up ot 140 Mbytes using an 80 MHz pixel clock and 14-bit of data
MIPI CSI-2 with Lite-ISP (5 megapixels @30 fps DCMI
1megapixels @15 fps)
Display interface LCD-TFT
WXGA (1366×768) @60 fps
up to full HD (1920 x 1080) @ 30 fps
LCD- TFT
WXGA (1366 × 768) @60 fps
up to full HD (1920 × 1080) @30 fps
MIPI® DSI 2 data lanes
LCD-TFT
FHD (1920 × 1080) @60 fps LVDS
Up to QXGA (2048 × 1536) @60 fps with dual link
DSI Up to QXGA (2048 × 1536) @60 fps
NEON (Arm Cortex®-A) video encode/decode, 2D/3D graphics video encode/decode, 2D/3D graphics audio, video, 3D graphics, image, and speech processing
GPU 3D GPU: Vivante®
OpenGL® ES 2.0 - Up to 26 Mtriangle/s, 133 megapixels
3D GPU: VeriSilicon® - Up to 900 MHz
OpenGL® ES 3.2.8 - Vulkan 1.2-OpenCL™ 3.0, OpenVX™ 1.3 Up to 150 Mtriangle/s, 900 megapixels

Libraries running on the STM32 ecosystem

Develop smartphone-like UIs thanks to powerful tools, fully supported with OpenSTLinux or OpenSTDroid and enrich your designs on STM32MPU platforms.

GTK logo : Free and open-source cross platform widget toolkit for creating graphical user interfaces.
    GTK - GIMP Toolkit
  • Free and open-source
  • C and many other languages
  • Set of widgets ready to use
  • OpenSTlinux support (Yocto and Buildroot)

Free and open-source cross-platform widget toolkit for creating graphical user interfaces. GTK provides a set of widgets and tools for building GUIs, including buttons, text boxes, menus, and dialog boxes. It’s written in C and provides bindings for many other programming languages, including Python, Perl, and Ruby.
Widely used in the Linux and Unix communities, GTK is licensed under the LGPL (Lesser General Public License), which allows developers to use and distribute GTK in both open-source and commercial applications.

Android logo
  • Free and open-source (Android open-source project)
  • Variety of graphics rendering APIs for 2D and 3D
  • Android support

The Android framework provides plenty of standard tools for creating attractive, functional graphical user interfaces. However, if you want more control of what your application draws on screen, or are venturing into 3D graphics, you need to use a different tool. The OpenGL ES APIs provided by the Android framework offers a set of tools for displaying high-end, animated graphics that are limited only by your imagination and can also benefit from the acceleration of graphics processing units (GPUs) provided on many Android devices.

Qt logo
    QT
  • Set of widgets ready to use
  • C++ and many other languages
  • Supported on many platforms
  • OpenSTlinux support (Yocto and Buildroot)

QT is a popular cross-platform framework for developing graphical user interfaces (GUIs) and applications. It provides a set of tools and libraries for building GUIs, including widgets, layouts, and styles. QT is written in C++ and provides bindings for many other programming languages, including Python and JavaScript.

LVGL logo
    LVGL - Light and Versatile Graphics Library
  • Free and open-source
  • C language
  • Set of widgets ready to use
  • OpenSTlinux support (Yocto and Buildroot)
  • Bare metal support

LVGL is an open-source graphics library that provides a set of graphics and user interface components for creating embedded GUIs. It is designed to be lightweight and flexible, making it suitable for use in a wide range of applications, from simple displays to complex graphical interfaces. LVGL supports a variety of display drivers and input devices and can be easily integrated into Linux and bare metal-embedded systems.

Emdedded Wizard logo
  • WYSIWYG tools
  • Drag and drop interface

Embedded Wizard is a GUI technology that enables you to create a platform-independent and high-performance GUI. Embedded Wizard simplifies the HMI development and lets the customer create high-performance graphical user interfaces with minimal effort by reducing the overall memory footprint.
Embedded Wizard is highly adapted to support STM32MPU in the best way by using, OpenGL ES 2.0, or even highly optimized software renderers.

Crank logo
  • WYSIWYG tools
  • Drag and drop interface

Crank Software’s team of friendly GUI experts are specialized in back-end, front-end, and GUI design and are ready to assist with custom engineering services for those projects that lack resources.

Candera logo
  • WYSIWYG tools
  • Drag and drop interface

Candera is a software company that provides GUI development tools and services for embedded systems. STM32MPU now runs on Candera’s CGI studio, a software tool for creating and developing GUIs for embedded systems.

Altia logo
  • WYSIWYG GUI editor
  • Can be scaled to a variety of STM32

Altia specializes in graphical user interface (GUI) development solutions for production-embedded displays. The Altia software tool chain includes an integrated, efficient, and easy-to-use workflow with advanced 3D capabilities, global language support and much more.

Slint logo
  • Works with LVGL or GTK libraries
  • Programming language needed

Slint is a Linux distribution that can be used on STM32MPUs to create GUIs for embedded systems. With a range of tools and libraries for graphics development, Slint is a popular choice for developers who need to create high-quality and visually appealing graphics applications for a variety of platforms and devices.

STM32MP13x STM32MP15x STM32MP25x Via partners
Bare metal Yocto Buildroot Yocto Buildroot Yocto Buildroot Android
GTK
LVGL
Qt
Candera
Embedded wizard
Crank
Altia
Slint
Android

Videos

A quick demo on
STM32MP157 DK

Candera CGI studio demo

STM32MP135 EV-charger