TouchGFX Embedded GUI Framework

Human Machine Interfaces and embedded GUIs have gone thru a transformation driven by the popularity of smartphone devices and their look & feel. Consumers are expecting to see products with larger screen, touch GUIs, and easy user interface experience. Emprog in partnering with TouchGFX embedded GUI is now providing a high end GUI for embedded MCUs, a GUI framework designed from the ground up for limited resource microcontrollers.

“Having Emprog as our TouchGFX representative will ensure the right way to expand our software framework in the Americas.” -Jorgen Mygind, Business Development Manager of TouchGFX Framework.

TouchGFX Technology:
TouchGFX is a software framework written in C++ that enables high-end GUIs on embedded systems with very limited hardware resources. The TouchGFX technology optimizes the utilization of smallhardware platforms, such as the ARM Cortex M-range microcontrollers (MCUs), resulting in faster image updates with less MCU load, outperforming competing frameworks.

TouchGFX Wearable

TouchGFX Embedded Wearable GUI Framework

Optimal Resource Utilization:
The core of TouchGFX technology is an advanced algorithm that decodes what is showing on-screen and enables the GUI to only use resources to draw the graphics visible at any given time. In addition, TouchGFX includes rendering algorithms and new advanced drawing mechanisms, giving you:
Higher GUI performance and smooth animations at a frame rate of 25 or more. Display-resolutions up to WSVGA: 1024×600. Low MCU load, typically ≤15%. Ultra-low power consumption.

Developer-Friendly Framework:
TouchGFX is structured to make the development simple and easily manageable. With automated developer-tools we have created an efficient framework that gives you the perfect platform for developing GUI applications in TouchGFX. The developer-friendly framework includes:
Object-oriented extendable API.
– Automated build chains for generating elements, such as bitmaps and fonts.
– PC simulator for prototyping and easy debugging.
– Optional built-in scheme for efficient memory allocation.
– A standardized structure for integrating the GUI with the rest of the system.


Modern GUI features:
TouchGFX enables transparency, alpha-blending, anti-aliased fonts and kerning, touch gestures, animations, screen transitions, high-resolutions displays, high frame rates, and much more.

TouchGFX uses the widely acknowledged Model-View-Presenter architecture to structure your application.

Multiple Alphabet/Script Support:
TouchGFX supports multiple alphabets and scripts, such as Latin, Cyrillic, Chinese, and Japanese. A converter turns translations into a memory-optimized internal format at compile time.

Static Memory Allocation:
The default memory allocation scheme operates on the Model-View-Presenter architecture and uses static memory allocation only.

TrueType Font Converter:
An integrated font converter creates internal representation of any TrueType font. TouchGFX uses the font-specific kerning information to adjust character positions.

PC Simulator:
A PC-based simulator running on Windows and Linux gives you an easy way to evaluate and analyze your application. You can also do non-target debugging.

TouchGFX Designer:
Design the visual appearance of your TouchGFX application in a fast and effective manner with our
graphical WYSIWYG editor, the TouchGFX Designer. TouchGFX Designer cuts hours of your development process. Create, iterate, and run your prototype applications on the PC simulator and supported development boards. Create apps with high-end graphics. When satisfied export your code to your favorite Embedded tools.

Multiple Image Format Support:
The integrated image converter will convert 24-bit BMP and PNG images to the internal format. The process supports opaque, transparent, and semitransparent pixels in PNG images.

High Image Quality:
The internal image format is represented in 16 bit color depth and uses advanced dithering algorithms to maximize performance and improve image quality.

Targeted Platforms & Resource Requirements:
TouchGFX runs on a multitude of hardware platforms. Depending on exact parameters, such as display resolution, memory latency, and bandwidth, a natural fit is any Cortex-M based platform:
Cortex-M0 MCUs at 24-48MHz for 320×240 QVGA displays.
Cortex-M3 MCUs at 48-64MHz for 320×240 QVGA displays.
Cortex-M3/M4 MCUs at 96-120MHz for 480×272 WQVGA displays.
Cortex-M3/M4 MCUs at 120-204MHz for 800×480 WVGA displays.
Cortex-M3/M4/M7 MCUs at 180-300MHz for 1024×768 XGA displays.

TouchGFX works perfectly with systems where the TFT controller is integrated in the MCU with frame buffers in external memory, or on systems that use LCD with integrated frame buffers and controllers. The resource requirements of TouchGFX depends on the size and complexity of the specific application. Below, you see framework usage figures as well as typical requirements for GUI implementations. The lower bounds represent less complex GUIs and the higher bounds represent very complex applications with ~200 screens.

Internal RAM: 10-20 KB (framework and stack).-
1-15 KB (widgets).-

Internal ROM: 20 KB (framework).-
1-100 KB (screen definitions, GUI logic).-

External RAM: Memory usage depends on the resolution of the display and the number of framebuffers.-
Examples: 320×240 QVGA displays with 2 framebuffers = 307 KB.
480×272 WQVGA displays with 2 framebuffers = 522 KB.
800×480 WVGA displays with 2 framebuffers = 1.5 MB.

Flash: Depends on the total size of the graphical elements, typically 1-8 MB.

Operating System: OS independent. Can run with or without OS.
With an OS, it requires a single task and two semaphores.

For more information and licensing please Contact Emprog or check Draupner Graphics A/S

* TouchGFX is a trade mark of Draupner Graphics A/S Finlandsgade 10 DK-8200 Aarhus.