- 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
- Embedded Software Center
- MPLAB Code Configurator
- MPLAB® Harmony v3 Articles and Documentation
- MPLAB Harmony v2
- Graphic Design Tools
- MPLAB Harmony 1.0
- Microchip Libraries for Applications
- Code Examples
- MPLAB Xpress MCHP
- CAD/CAE Symbols
- SPICE Models
- MPLAB Mindi Analog Simulator
- MPLAB Analog Designer
- Analog Simulation Files
- Other Software Libraries
- SAM & AVR Supported Tools
- MPLAB® Device Blocks for Simulink®
- Development Boards and Tools
- MPLAB Data Visualizer
- Ensemble Graphics Toolkit
- Microchip Studio IDE
Ensemble Graphics Toolkit
A Free, Open-Source Linux® GUI Toolkit Optimized for Microchip Microprocessors
Create a Modern GUI with a Lower BOM Cost for an Enhanced User Experience
The Ensemble Graphics Toolkit (EGT) is an open-source graphics software development toolkit that enables you to create modern, responsive Graphical User Interfaces (GUIs) for consumer, automotive, industrial and medical end products. Free of any licensing or royalty fees, EGT is a complete application-level graphics solution that integrates our existing drivers and libraries with the extensive Linux ecosystem. EGT is optimized to provide superior graphical performance and an exceptional user experience with reduced system cost and lower power consumption.
Tooled to Ease GUI Development
EGT offers these key benefits to simplify the development of your Linux-based GUI:
Enables Modern Design Flow
- Features modern C++14 design and simplicity, based on mature Linux graphical libraries such as Cairo for 2D vector graphics and utilizing DRM/KMS and X11 backends
- Imports SVG or HTML5/CSS3 content from your favorite graphical design tools
- Supports graphical development and simulation on a PC or directly on the target processor, allowing the software developer and the graphics designer to develop and review the GUI quickly and iteratively
- Supports video playback, raster images and vector graphics on all MPUs through mature open source programs such as gstreamer and ffmpeg
- Supports standard video and image formats and, when available, on-chip acceleration which can be used to optimize performance
Widgets and Animations
- Provides a rich and extensible default widget set for customizing look and feel of embedded touchscreens
- Offers themeable widget drawing, colors and fonts with built-in support for basic animations and effects
- Integrates easily with real physics libraries such as Box2D
Build on the Proven, Free and Open-Source Linux Ecosystem
As a complete application-level graphics solution, EGT is designed to take advantage of the latest Linux graphics stack technology. It is:
Free and Open Source
- Zero cost and royalty free using the permissive Apache 2.0 open-source licensing framework
- Leverages popular and mature open-source Linux applications such as Cairo, gstreamer and ffmpeg, which are well accepted by the Linux community and provide feature-rich, stable and thoroughly debugged code
A Proven Solution to Accelerate Time to Market
- Included as part of our Linux4SAM distribution so you can hit the ground running with a stable, tested and ready-to-go operating system and SDK
We support mainline Linux with Long-Term Support (LTS) for all our MPUs to help you take advantage of the reliability, security and worry-free simplicity of the Linux operating system. As a one-stop shop, we provide the expertise, service and support, including long-term maintenance, for the entire graphics stack and hardware throughout the lifecycle of your products.
Enhanced User Experience with Lower Power Consumption and Lower BOM Cost
Here’s how your design can benefit from using EGT:
Optimized for Microchip MPUs
EGT provides superior graphics performance on Microchip’s 32-bit MPUs, by taking full advantage of the LCD controller hardware planes as well as hardware blocks such as NEON Media Processing Engine and Hardware Video Decoder when available. The result is optimal graphical performance for Microchip MPUs.
User interface (UI) applications like automotive instrumentation clusters require a quick start time. EGT provides examples that are able to boot from a cold reset in under 3 seconds.
Lower BOM Cost
EGT is optimized to take advantage of the hardware features of our highly power-efficient MPUs to deliver an excellent user experience using less memory. This power and memory-efficient approach allows you to optimize memory and battery sizes to lower overall system cost.
For a quick technical introduction of the EGT project including licensing, features and comparisons to other graphical frameworks, review the EGT Technical Overview white paper. There is a variety of documentation, sample applications and code examples available in the EGT Repository to help you get started quickly. The EGT programmer’s manual may be used as an API reference or for a deep dive into EGT architecture, configuration and debugging. You can also visit the Linux4SAM website for additional information about using EGT with our SAM MPUs or go to our EGT Forum to get answers to your questions from the user community. Refer to the “Getting Started” section of the EGT Programmer’s Manual for complete instructions. Use these links to help you get started with EGT.
Complete demos are available as precompiled binaries from the main Linux4SAM repository. Simply program the binary to an SD card and plug the SD card into a supported Microchip MPU evaluation board with attached maXTouch® technology-enabled LCD display.
Current demos include:
EGT-Launcher Demo: This is the default graphics demo from the Linux4SAM repository. It loads several example XML files at startup. The launcher provides examples of EGT applications such as widget animations and video playback.
EGT-Thermostat Demo: This example thermostat demo supports real-time temperature measurements with the addition of a MikroElektronika Thermo click board. The demo also supports a USB camera input that displays on the LCD.