µGFX - The GUI library for microcontrollers

µGFX is a library to interface all kinds of different displays and touchscreens to embedded devices. The main goal of the project is it to provide a set of feature rich tools like a complete GUI toolkit while keeping the system requirements at a minimum.

µGFX can either be run on top of an operating system like ChibiOS/RT, FreeRTOS and many others or on a bare-metal system.

The library is entirely written in C. It can be used in C++ applications without any modifications.
It's free to use without any usage restrictions for non-commercial products and open hardware projects. Commercial licenses are available. 

 

Key features

  • Very resource friendly
  • Font rendering with unicode, kerning and anti-aliasing for fixed size and any truetype font (*.ttf)
  • Optional framebuffer
  • Multiple displays
  • Remote displays
  • Support of landscape, portrait, inverted landscape and inverted portrait mode
  • Complete GUI toolkit
  • Window manager
  • Support for hardware acceleration
  • Easy access to files through different filesystems.
  • Built-in FatFS support

 

Architecture

The following diagram should give an overview of how the architecture of µGFX is build. Note that this is just an illustration, the "Operation System Abstraction" is something which each of the modules connected to it implements on his own.

architecture2 

 

Reasons to use µGFX

  • µGFX is actively developed and maintained. We have nearly daily commits to improve and extend the quality of the library.
  • The source code of the library is completely open.
  • Documentation: We take great care to keep an up-to-date and easy to understand documentation of the library.
  • The entire source code is doxygen documented.
  • News blog which keeps you up to date about all changes and new features.
  • Completely written in C, usable within C++ applications without limitations.
  • Very very resource friendly.
  • Both, community and professional support available.
  • Already over 30 drivers for displays and touchscreens available.