SAME5x User Guide for Microchip Graphics Suite (MGS) Harmony
Introduction
The Microchip SAM E5x series refers to a family of microcontrollers (MCUs) developed by Microchip Technology Inc. These MCUs are based on the high-performance 32-bit Arm® Cortex®-M4 RISC processor and are designed for a variety of applications that require significant processing capability, low power consumption, and a range of connectivity options.
The SAME5x device can be used to drive display modules with external controllers with a 4-wire SPI or 16/8-bit parallel 8080 interface.
Development Kits
Microchip Graphics Suite (MGS) Harmony UI development is supported in the following SAME5x development kits. Refer to the references for more information.
Development Kit | Description |
ATSAME54P20A-based development board with Ethernet connectivity, expansion options, and audio input and output capability.
| |
Integrated HMI platform using ATSAME51J20A.
|
Application Examples
Use the application Quickstart examples to start developing an embedded GUI project using the SAME5x microcontroller.
These examples are published on the GFX applications Github repository.
Use the MPLAB Code Configurator (MCC) Content Manager to download these examples or clone/download directly from the GitHub repository.
Legato Quickstart Applications
Legato Quickstart provides a good starting point for Graphical User Interface (GUI) development with MGS Harmony graphics.
To get started, build and program the appropriate Legato Quickstart project based on the development and the display module interface.
Refer to the application documentation for details on how to run.
Development Kit | Quickstart Application |
SAME54 Curiosity Ultra | |
SAME51 IGaT |
Designing the GUI with MGS Harmony
To start designing the GUI on the SAME5x graphics development kits, we recommended that the Legato Quickstart Application be used as the starting project.
Refer to the MGS Harmony User Guide for information on how to use the MGS Composer and MGS Harmony widgets to design the GUI.
Optimizing the GUI Design
For general guidelines on how to optimize the GUI design for improved performance or memory/Flash usage refer to this user guide.
How-To Guides
Set Display Orientation (Landscape or Portrait)
The SAME51 IGaT and maXTouch Curiosity Pro Board display modules use the ILI9488 controller. The ILI9488 controller supports different display orientations which enables the UI to be displayed in either landscape or portrait mode in hardware.
The display controller orientation can be set by configuring the external controller driver generator component in the MCC Harmony project.
Orientation | LE External Controller Configuration | Description | Example Projects |
Portrait |
| ||
Landscape |
| Legato Quickstart (SAME51 IGaT) |
Control the Display Backlight
Development Board | Pin and Peripheral configuration | Example |
SAME51 IGaT | PWM using TC3 via PA15
| Legato IGaT Showcase |
SAME54 Curiosity with maXTouch Curiosity Pro (8-bit parallel) | PWM using TC2 via PA01
| Legato Showcase Plus |
Use External Flash Memory
External Flash memory like QSPI/SQI/NOR Flash can be used to store graphics assets like images and fonts. These are useful when using large amounts of images or multi-language fonts. Refer to the following example applications on how to configure an MGS Harmony project with external resources.
Application Example | Description |
Legato Quickstart External Resources | This demonstration shows how to use the Legato Graphics Library to retrieve externally stored assets. |
Use a Third-party Display
Third-party displays with an onboard display controller using 8-bit parallel 8080 interfaces may be used with the SAME54 Curiosity Development Board using the GFX Proto board for Curiosity (EV48R50A). The GFX Proto board enables users to solder the appropriate cable connector for the display and route the display signals to the SAME54 Curiosity Board. Refer to the "Graphics Prototype Board for Curiosity Boards User Guide" for more information.
For Serial Peripheral Interface (SPI)-based displays, in most cases, these can be hand-wired directly to the EXT1 or EXT2 headers on the SAME54 Curiosity Board.
To configure the external controller driver for the onboard display controller, refer to the "Microchip Graphics Suite (MGS) External Controller Driver User Guide".