STM32 Graphical User Interface
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.
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 MPUs 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.
Build your own smartphone-like GUI
Built on four pillars, the STM32 GUI offer helps you move forward with your design, from idea to final product:
Define your needs and select your MCU & developer kit accordingly
Discover the STM32 portfolio of graphics enabled MCUs
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. Read blog post
- 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
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.
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
Easy GUI development
Develop outstanding GUIs effortlessly with the WYSIWYG GUI simulator and TouchGFX Designer.
The structure and flexibility of TouchGFX gives developers the tools they need to easily create unique UI designs:
- The enabling technology:
- Run simulator on PC or your target HW
- Combine your user-code with TouchGFX Designer generated code
- Create your own software elements with existing widgets
- Design your own widgets
- GUI written in C++
- The Model-View-Presenter pattern gives way for easy interfacing with other C/C++ application components
Faster UI project generation and low-level development
- Easily configure:
- Memory components
- Display resolution
- Color depth
- Select your preferred IDE
- Change to other RTOS or no RTOS
- The enabling technology:
- STM32CubeMX plugin to configure and generate TouchGFX Abstraction Layer (AL) for your STM32-based hardware
- TouchGFX AL enables graphics hardware acceleration and optimization
- IDE independent
Works smoothly with STM32CubeIDE, IAR Workbench, ARM Keil
The TouchGFX Engine technology enables you to achieve the highest level of smartphone-like GUI performance on STM32 devices
- The enabling technology:
- Optimized for minimum MCU Load and memory footprint
Compile and Run time Analysis
STM32 hardware acceleration
- Advanced rendering algorithms
Algorithm for optimized visible surface determination and customized invalidation techniques minimize the number of drawn pixels
- Advanced graphical objects
Draw lines, circles, custom shapes, and graphics, or apply scaling and 3D rotation to images at runtime with highly optimized and memory-efficient widgets
STemWin is a simple graphical software framework optimized for STM32 microcontrollers.
STemWin is based on a graphical library from SEGGER Microcontroller GmbH and is available in a binary form, which is free of charge on STM32 MCUs.
This library is a professional graphical stack library to build Graphical User Interfaces (GUIs) with any STM32, any LCD/TFT display and any LCD/TFT controller, taking advantage of STM32 hardware accelerations whenever possible.
The STemWin Library is a comprehensive solution that comes with a rich feature set, such as JPG, GIF and PNG decoding, many widgets (checkboxes, buttons…) and a VNC server enabling the remote display of local displays, as well as professional development tools, such as GUIBuilder to create GUIs with a simple drag and drop.
STemWin is distributed as part of STM32Cube software packages or in a standalone standard library-based version.
|STemWin||ST||Professional graphical stack library enabling the building up of Graphical User Interfaces (GUIs) (AN4323)|
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.
An extended ecosystem to support your development
Our dedicated and highly skilled TouchGFX Implementers help you move from idea to market-leading products. They bring you their innovative approach, combined with their extensive knowledge and experience with TouchGFX and STM32 microcontrollers, to help you design your next embedded product, and quickly move from idea to end-product.
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.
These display modules all based on STM32, and TouchGFX is also available for your prototyping.
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.