Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes


MPLAB® Harmony Graphics Suite (MHGS) Embedded GUI Development Tool
for 32-bit MCUs

Powerful Tools and Integration to Reduce Embedded Graphics Development Cost, Time and Risk




Lamb Game


Bridge and Aria Image Viewer Demo

Creating professional-looking embedded Graphical User Interfaces (GUIs) with cost-efficient 32-bit microcontrollers (MCUs) has never been easier when you use the powerful and free MPLAB Harmony Graphics Suite (MHGS). Available within the MPLAB Harmony embedded software development framework, MHGS is specifically designed specifically to take advantage of the capabilities of Microchip’s high-performance, 32-bit embedded graphics MCUs. This tightly integrated system of tools and software allows you to quickly and easily add GUIs, animation and imagery to a graphical display. Its “What You See Is What You Get” (WYSIWYG)-based embedded GUI development system comes with unique features that enable you to spend less time fixing bugs and re-integrating code from external tool sets and libraries, reducing your development time, cost and risk in designing compelling new products for your end users.

Why Should You Use MPLAB Harmony Graphics Suite for Your Embedded GUI Development?

  • Tightly integrated tools environment: The tight integration between MPLAB X Integrated Development Environment (IDE), MPLAB Harmony embedded software development framework and MPLAB Harmony Graphics Suite produces an enhanced, interactive development environment so you can focus on creating and debugging your application-specific code. This leads to lower overall development costs, a shorter time to market and higher-quality products.
  • Performance: MPLAB Harmony Graphics Suite was designed from the ground up to enable code portability across multiple families of 32-bit MCUs while also making maximum use of the Graphics Processing Units (GPUs), multi-layer overlay graphics controllers and DRAM available on Microchip’s high-performance 32-bit MCUs.
  • Cost: MPLAB Harmony Graphics Suite is free to design with and use with our 32-bit MCUs. It is also royalty free. All components are available in each public release of MPLAB Harmony and work with the free version of the MPLAB XC32 compiler.

Components Available in MPLAB Harmony Graphics Suite

GUI Editor

Whatever your experience level is, the GUI Editor allows you to quickly and easily create professional-looking embedded graphical interfaces that closely match other corporate-branded elements of your product.

  • WYSIWYG GUI drawing screen and tool organizer
  • Objects such as image assets, widgets and text can be placed, moved and modified directly on the display area and then precisely recreated on the target system
  • Also provides tools for layer management and widget editing
  • Display area is tightly coupled to the Display Manager, allowing the GUI Editor to exactly match a wide range of resolutions and aspect ratios

Display Manager

Cut your development and prototyping time for non-standard displays with this industry-exclusive, customized driver generator. The Display Manager is designed to eliminate coding and use data taken straight from the display’s datasheet, lowering the barrier of entry for novice graphics and hardware developers.

  • No coding required—configure display drivers through an easy-to-use embedded GUI interface
  • Uses readily available information from display data sheets
  • Supports standard and non-standard display resolutions and aspect ratios
  • Provides simulated timing characteristics for rapid visual inspection and validation
  • Works with internal, external or low-cost-controllerless driver models  
  • Compatible with different color spaces: 8- to 32-bit, monochrome and color

Font Manager

Fonts are an important part of maintaining a consistent and professional look and feel between products and corporate marketing collateral. The Font Manager makes quick work of importing and applying the correct fonts for your embedded graphics application.

  • Language-independent font import supports efficient application localization
  • Can automatically select necessary glyphs to save memory, leading to potentially smaller, lower-cost designs, or filter glyph selections in a user-selected range
  • Import and use custom corporate fonts as well as system fonts to support brand management
  • Word-processor-like font style support for ease of use and customization
  • Support for custom character and line spacing, UTF-8 and UTF-16 multi-language fonts
  • Support for preprocessed glyph-level anti-aliasing for clean-looking text

Event Manager

It’s natural for embedded designs to require that graphics react to external events, such as button presses and changes in sensor readings. The wizard-based Event Manager drives minimally coded tight coupling to enable touch user events and external logical events that change the graphics state machine and graphics properties.

  • GUI interface manages all touch events and gestures associated with embedded graphics applications
  • Fine-grained event and gesture definition enables the customized look and feel for your user interface
  • Import or create custom, user-defined actions per event and gesture, or use actions already associated with in-tool widgets
  • Macro-based development environment to program graphics actions to external events

String Manager

To be practical and profitable, embedded graphics designs must be flexible and memory efficient. The String Manager contains many easy-to-use features for text customization for branding, localization and stylization.

  • Built-in, GUI-based localization support enables quick and easy language editions
  • Languages can be selected and deselected at build time to reduce memory footprint, which reduces costs
  • Style binding of test strings enables rapid customization and prototyping to easy form, fit and function text design
  • Translations can be imported via a spreadsheet file, enabling expert localization support

Need Help Getting Started or Want to Learn More?

The Microchip MPLAB Harmony v3 Graphics Wiki on GitHub has resources to help you get started with designing amazing GUIs with our microcontrollers. The wiki includes information on basic graphics concepts, a discussion of the importance of graphics in embedded devices, a breakdown of the available widgets in the MHGS library and details on how MHGS works to help you develop fast, beautiful GUIs for your design. It also includes repositories for the MPLAB Harmony v3 Graphics Support Package and Graphics Application Package. Use the links on the right to navigate to the wiki.

Check Out These Quick Start Guides

Creating a New Graphics Application

Go from concept to glass in minutes instead of days. This “how-to” guide takes you step by step through the process of creating a graphics-enabled application from scratch using MHGS.

Adding an Event to a Graphics Application

An excellent embedded GUI allows the user to easily interact with it. This guide shows you how to enable your graphics application to recognize and respond to touches, swipes and other user interactions.