To improve the accessibility of our content, please find the audio version of this blog post.
ST is releasing today TouchGFX 4.15, which enables richer UIs on low-power microcontrollers. We are also introducing the first 2.2-inch SPI display Nucleo expansion board, the X-NUCLEO-GFX01M1. Ultimately, both solutions will allow engineers to envision a system with a bill of materials (BOM) of about five dollars. It thus represents a unique opportunity to offer a new way of interacting with cost-effective products. Furthermore, we offer an expansion pack to use the new display board with the NUCLEO-G071RB base immediately. Additionally, developers using TouchGFX Designer can access a pre-compiled demo application after a simple drag and drop. TouchGFX is ready for download, and the X-NUCLEO-GFX01M1 is available for purchase at distributors or the ST.com website.
Let There Be Light… and Graphics
The industry continues to witness the increasing popularity of graphical interfaces on embedded systems. It was one of the trends we mentioned at the start of the decade. And each version of TouchGFX we covered on the ST blog brought foundational features like CacheableContainers or Optimized Texture Mapper. Each framework update helped ST partners run new and richer interfaces on products that usually didn’t have any.
There’s still a lot of work to enable UIs on embedded systems, and cost-effective MCUs have unique challenges. And requesting the use of a display is difficult when managers are trying to keep costs down. Designers know that a GUI can vastly improve the user experience. Instead of an obscure error code, the system can present meaningful messages. Similarly, a loading bar or an animation can better show what is happening and even serve to attract new users. However, what can designers do when a company wants to prioritize cost-effective MCUs? The X-NUCLEO-GFX01M1 and TouchGFX 4.15 offer unique answers.
X-NUCLEO-GFX01M1 and TouchGFX 4.15 for a Bill of Materials of $5
The 2.2-inch Display
In a lot of embedded designs, the display is the single most expensive component. Nonetheless, many understand that it is also not a luxury but a necessity when trying to improve the user’s experience. Even a simple 2-inch display can work wonders. Moreover, since the small screen size means that a touch layer is almost always unnecessary, the cost of a display is reasonable. Indeed, the surface is not large enough for a satisfying touch interface. However, sourcing the right device at the right price is far from simple. Put simply, ending up with a BoM of five dollars or less is a headache.
ST’s solution to this problem is to launch the X-NUCLEO-GFX01M1. In a BOM, the 2.2-inch QVGA (320 x 240) display of the expansion board would be about three dollars to three dollars and a half. Hence, most embedded systems that would use such a display would have a total BOM of about five dollars. Our figure includes things like the MCU, external Flash, and a two-layer PCB, among other things. Milages will vary depending on the amount of Flash, the MCU, and more. Nevertheless, engineers can start working with the X-NUCLEO-GFX01M1, knowing a BOM of about five dollars is within reach.
First Steps With the X-NUCLEO-GFX01M1
To help engineers experiment with the X-NUCLEO-GFX01M1 display board, we are also launching a software expansion package. It will contain drivers and simple “Hello World” examples for the NUCLEO-G071RB board. The X-CUBE-DISPLAY solution is compatible with the latest updates to the STM32Cube ecosystem. Developers can then study our implementation as they port the drivers or applications to another STM32 MCU. Additionally, TouchGFX Designer can run three demos for the cost-effective STM32G017 Nucleo board and X-CUBE-DISPLAY. The applications come as full source projects and assist developers as they implement their solutions. The demos may also jumpstart prototypes when using application templates for the STM32G071 and X-NUCLEO-GFX01M1 display.
Another component that tends to increase bills of materials is the external memory-mapped Flash. Depending on the graphical interface, some assets may not fit in the embedded memory. QSPI Flash is traditional in such designs because of its speed. However, any engineer working on a cost-effective solution knows that QSPI Flash is also very expensive. Hence, such external modules are often out of the question when prioritizing costs. TouchGFX 4.15 answers this challenge by allowing the use of inexpensive unmapped SPI Flash. The memory can store graphics and fonts, thus opening the door to multi-language interfaces. It also allows engineers to keep their BOM around the coveted five-dollar range.
X-NUCLEO-GFX01M1 and TouchGFX 4.15 for More Performance on Low-Power MCU
Optimized Partial Frame Buffering
The other major challenge that developers face is the ability to run an interface on smaller MCUs. For instance, creating a GUI for a system that relies on a Cortex-M0+ core can be tricky. Unfortunately, it also often means that the RAM and Flash are small. Traditionally, a minimal graphical interface would require a frame buffer of about 200 KB. However, when a microcontroller like the STM32G071 has only 36 KB of RAM, it can be a real problem. TouchGFX 4.15 solves it with its highly optimized partial frame buffering. The feature is so efficient that it is possible to keep the size of the frame buffer to only six kilobytes. Accounting for the framework’s application data, an entry-level UI would only need a total of 16 KB of RAM to run.
The partial frame buffering feature first appeared in TouchGFX 4.12. It works by storing only the portion of the screen that the system will update. The technology shines brighter on short animations like a clock, a loading bar, or a graph. Since the introduction of partial frame buffering, TouchGFX made significant optimizations to require even less memory. TouchGFX 4.15 is thus symbolic because it reveals the full potential of a feature we’ve worked on for years. We are also launching smart partial screen updates. The functionality complements partial frame buffering to optimize the order of updates on screen. The process saves resources, thus allowing more updates during the same period.
ST updated TouchGFX Documentation to help developers working on cost-effective embedded systems:
- Using Partial Framebuffer
- TouchGFX development on STM32G071 and the X-NUCLEO-GFX01M1
- Using Serial Flash
- Fonts in unmapped flash
Animations and Widgets
The challenge for developers is now to take advantage of the partial frame buffering. Indeed, it demands that teams think about the type of animations that work best with this feature. For instance, a traditional slide-in transition requires an entire screen refresh. However, some wipe animations are more efficient and remain impressive within the constraints of the small frame buffer. We updated TouchGFX Designer to help engineers take advantage of wipe animations. We also added a graph widget to show sequential data better or adjust the color and layout. It thus became easier to start creating UIs for designs with low-power systems.