- MPLAB® X IDE
- MPLAB Xpress
- MPLAB X IDE Debug Features by Device
- MPLAB® XC Compilers
- MPLAB® Integrated Programming Environment (IPE)
- Emulation Extension Paks
- Emulator and Debugger Accessories
- Software Solutions Home
- MPLAB Code Configurator
- MPLAB Harmony
- Microchip Libraries for Applications
- Additional Software Libraries
- Code Examples
- Embedded Code Source
- MPLAB Xpress Arrow
- MPLAB Xpress MCHP
- CAD/CAE Symbols
- SPICE Models
- MPLAB Mindi Analog Simulator
- Analog Simulation Files
- Other Software Libraries
- SAM & AVR Supported Tools
- Embedded Software Center
- MPLAB® Device Blocks for Simulink®
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
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
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
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
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
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
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.
Third-Party Graphics Library
emWin, available from SEGGER Microcontroller GmbH and Co. KG, is a software graphics library that provides efficient GUI building blocks for applications that operate with a graphical LCD. It is available for free within the MPLAB Harmony Software Framework for use by Microchip customers.
- Complete ANSI C code, no need to use C++
- RTOS independent
- GUIBuilder drag-and-drop design interface
- Robust graphics widget and shape drawing library
- Alternative for MPLAB Harmony Graphics Object Library and Primitive Layer
- SEGGER development toolchain and utilities
- Integrated with MPLAB Harmony Configurator