STM32 and Graphics (HMI graphics interface)

If you like it, share it

Up to now there are a lot of graphical libraries for STM32.The most popular are listed below.

See also the link below

  • STM32 video Graphics tutorials are here
  • STM32 GUI solutions Advanced HMI is here.
  • Trainings and extra doc are here.

For know how many RAM is necessary for your graphics page see the image below.
The below images are referred to the STM32H7A3/B3 that has 1,4 MB of internal RAM (1MB RAM for buffer frame) but the concepts are valid for all STM32, take in consideration the size of RAM present in your STM32.



STM-TouchGFX

STM-TouchGfx – TouchGFX is an advanced free-of-charge graphic software framework optimized for STM32 microcontrollers.
Taking advantage of STM32 graphic features and architecture, TouchGFX accelerates the HMI-of-things revolution through the creation of stunning, smartphone-like graphic user interfaces.
TouchGFX makes GUI development easy, combining WYSIWYG simulator and automatic code generation.

NOTE
Now there is a TouchGFX CUBE, for more info see here.

Key Features

  • Structure: easy creation of multiple screen contents and associated transitions
  • Widgets: wide selection of customizable widgets, such as a swipe container and cycle progress, for effortless GUI creation
  • Skins:
    • Set of ready-to-use graphical skins enabling consistent prototyping with no need for a graphical designer
    • No restriction to the use of custom graphics
  • Interactions: dynamic interactions for the creation of user-friendly applications
  • Custom container:
    • Creation of custom reusable application control
    • Easy platform development with unified look and feel
  • Text handling:
    • Fonts and typographies specified and managed in one single place
    • Full translation service
    • Full support of multiple alphabets and scripts such as Latin, Cyrillic, Arabic, Chinese, and Japanese
  • Code Generation:
    • TouchGFXDesigner generates and maintains performant C++ code
    • Tool-generated code entirely separated from user code
    • All types of code extensions possible for unique animations as well as system interconnections
    • Support of several integrated development environments such as IAR Embedded Workbench, Arm Keil, and GCC-based IDEs

Official documentation of TouchGFX is here

Video tutorials are here (STM YouTube channel – MOOC), see the image below.

  • Read STM blog article to know more or see here.
  • Extra TouchGFX documentation is here
  • Support area for TouchGFX is here
  • If you need use TouchGFX without FreeRTOS see here and go down

STemWin

Thanks to a partnership with SEGGER Microcontroller GmbH, STM can provide the STemWin solution, based on SEGGER emWin one.

This library is a professional graphical stack library, enabling the building up of Graphical User Interfaces (GUIs) with any STM32, any LCD/TFT display and any LCD/TFT controller, taking advantage of STM32 hardware accelerations whenever possible.

STemWin is provided under binary form to any STM32 customer, for free.

STemWin Library is a comprehensive solution coming with rich features such as JPG, GIF and PNG decoding, many widgets (checkboxes, buttons…) and a VNC server allowing to display remotely a local display, but also professional development tools such as GUIBuilder to create GUIS with simple drag and drop.

Key Features

  • Rich set of widgets (buttons, checkboxes, calendars, gauges, …)
  • Window and overlap manager
  • Full set of Development tools: GUIBuilder to create screens, Font converter, simulator, etc.
  • Free professional graphical stack library available in binary form
  • Memory-sparing features (memory pool, per band screen creation, refresh only changed portions, …)
  • Able to handle many kinds of displays with optimized mechanisms
  • Alpha blending, Antialiasing, Cursors
  • VNC server to display remotely the display via VNC protocol (based on TCP/IP)
  • Raw graphical renderer (Pixels, Shapes, Fonts, …)
  • Optimization using STM32 Chrome-ART HW accelerator to decrease the CPU load.

NOTE:

Now the STemWin library and documentation are inside the HAL Libraries.

For example, in the STM32F7 library there is a directory in which there is an extensive documentation about the SEGGER graphics libraries (STemWIN).
Download the HAL library, unpack it and look in the directory below.
C: \ ….. \ STM32Cube_FW_F7_V1.2.0 \ Middlewares \ ST \ STemWin

In the directory below, there is an example for the STM32F7-DISCOVERY, which uses Segger libraries .
All STM examples are refered to the SEGGER examples that are here.
Read the: readme.txt file that is located in:
C: \ ….. \ STM32Cube_FW_F7_V1.2.0 \ Projects \ STM32746G-Discovery \ Applications \ STemWin \ STemWin_HelloWorld
The main directory is this:
C: \ ….. \ STM32Cube_FW_F7_V1.2.0 \ Projects \ STM32746G-Discovery \ Applications \ STemWin

See also this demo: STemWIN – graphics demo for STM32F746G-DISCO and AC6


Tutorial and extra docs

ATTENTION:
At the moment, the docs below shall be issued only to AVNET-SILICA customers

If you are SILICA customer send me an email and ask me:
the doc/sw that you need and do not forgot to specify the Ref.Cod.
please specify also your Name, Surname, City, Country and your contact in SILICA.
If you are STM customer please contact directly your local office of STM.

  • Ref.Cod.
    STM32 graphics training (Dec.2016 – STM Italy)
    In this training there is an example based on STM32F7-Discovery for STemWIN and AC6 – The SW tools to use are in this file (it’s not necessary a password for open it), please read the: ReadME.pdf enclosed in the compressed file.