SAME5x User Guide for Microchip Graphics Suite (MGS) Harmony

Last modified by Microchip on 2024/05/28 13:54


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 KitDescription

ATSAME54P20A-based development board with Ethernet connectivity, expansion options, and audio input and output capability.

  • Flexible display interface to maXTouch® Curiosity Pro Board display
    • 8-bit parallel 8080
    • 4-wire SPI 
  • 16-bit RGB565 graphics


Integrated HMI platform using ATSAME51J20A.

  • On-board HVGA (480x320) display using 8-bit parallel 8080 interface
  • Integrated touch using on-chip peripheral touch controller
  • 16-bit RGB565 graphics

Back to Top

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.

Back to Top

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 KitQuickstart Application
SAME54 Curiosity Ultra

Back to Top

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.

Back to Top

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.

For advanced usage and optimization on the PIC32MZ DA, see the "PIC32MZ DA User Guide for MGS Harmony" page.

Back to Top

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.

OrientationLE External Controller ConfigurationDescriptionExample Projects
Portrait Portrait Display Settings
  • Display Settings to match the orientation width (320) and height (480)
  • Set the Memory Access Control Command parameter to 0x48
LandscapeLandscape Display Settings
  • Display Settings to match the orientation width (480) and height (320)
  • Set the Memory Access Control Command parameter to 0x28
Legato Quickstart (SAME51 IGaT)

Note that the touch events may also need to be oriented to match the display orientation. This can be done either at the touch controller level (HW orientation) or the Input System Service level (SW orientation).

To re-orient the touch events using software, configure the touch coordinate transformation using the Input System Service component in MCC Harmony.

Back to Top

Control the Display Backlight

Development BoardPin and Peripheral configurationExample

PWM using TC3 via PA15

PWM using TC3 via PA15


Legato IGaT Showcase
SAME54 Curiosity with maXTouch Curiosity Pro (8-bit parallel)

PWM using TC2 via PA01

PWM using TC2 via PA01


Legato Showcase Plus

Back to Top

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 ExampleDescription
Legato Quickstart External Resources

This demonstration shows how to use the Legato Graphics Library to retrieve externally stored assets.

Back to Top

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".

Back to Top