Interface GC9A01 Round Display with STM32

This tutorial will cover how to interface the GC9A01 round TFT display with STM32 via SPI peripheral, with or without using the DMA. We will also see how to implement the LVGL into our project and use the Squareline Studio to build a basic UI for the round LCD display. In the next tutorial on this topic, we will display an actual analog watchface on this LCD. The clock will update with the data from the STM32 RTC peripheral.

Recommended Resources:

Since this tutorial is going to cover the LVGL integration into the project. You should take a look at the STM32 LVGL integration tutorials covered in the past.

Table of Contents

           Introducing GC9A01 Round LCD Display

The GC9A01 is a high-performance, compact round TFT LCD display driver commonly used with a 1.28-inch circular screen. Unlike traditional rectangular displays, this module features a fully round active area, making it ideal for modern embedded applications where visual design and user experience play a significant role. The most common resolution supported by this display is 240×240 pixels, which, despite the small size, provides sharp and detailed graphics due to its high pixel density.

The display is built using IPS (In-Plane Switching) technology, which offers wide viewing angles and accurate color reproduction, ensuring that the content remains clear and vibrant even when viewed from different angles. It supports 16-bit or 18-bit color depth, allowing up to 262,144 colors, which is more than sufficient for rich GUI elements like icons, charts, meters, and images.

Some of its features are:

  • Display Shape: Perfectly round display (typically 1.28” in diameter)
  • Resolution240×240 pixels with 1:1 aspect ratio, allowing high pixel density for clear visuals
  • Color Depth65K (16-bit) or 262K (18-bit) color support, enabling rich, vibrant color rendering
  • Interface: Supports SPI interface, which is simple to integrate with most microcontrollers
GC9A01 round LCD Display

Applications in Embedded Projects:

  • Smartwatches and fitness trackers
  • Industrial meters and dials (e.g., circular progress indicators)
  • Custom HMIs for appliances
  • Retro gaming devices with circular screens
  • Medical instruments with compact graphical displays
  • User interfaces in robotics or drones

                          Hardware Requirements

In this project, I will be using the WeAct Studio STM32H5-based custom development board. This board features 1MB (1024KB) of Flash memory and 640KB of SRAM, providing a balanced combination of storage and runtime memory. These specifications make it well-suited for memory-constrained applications, such as driving graphic displays where efficient memory management is crucial for smooth performance.
You are free to use any other development board, just make sure it has enough Flash (>=512KB) to handle the LVGL library.

I am using the 1.28 Inch GC9A01 Round TFT LCD Display Module available on ControllersTech Shop.

                            WIRING DIAGRAM

 

Below is the image showing the connection between GC9A01 round LCD and STM32.

GC9A01 Connection with STM32

As you can see in the image, the wiring is as follows:

GC9A01 PinFunctionSTM32H5 Pin
VCCPower Supply3.3V
GNDGroundGND
SCLSPI ClockPA5
SDASPI Data (MOSI)PA7
DCData/CommandPA4
CSChip SelectPA6
RSTResetPA3

Leave a Comment

Your email address will not be published. Required fields are marked *

Recent Posts

Interface GC9A01 Round Display with STM32

Learn how to interface the GC9A01 round TFT display with STM32 via SPI and implement LVGL for rich embedded GUIs. Step-by-step guide to wiring, code, and rendering graphics with LVGL. The project is available for download at the end of the post

Read More »

Interface SD Card via SPI (Polling & DMA)

Step-by-step guide to interface an SD card with STM32 using SPI and DMA. Tis tutorial covers CubeMX setup, FATFS init, SPI‑DMA config, and read/write file operations. The project is available to download at the end of the post.

Read More »

Internal RTC in STM32

Learn how to configure the built‑in RTC on STM32 using HAL and CubeMX. Includes setting time, date, alarms, LCD display, VBAT backup – step‑by‑step guide. The project is available for download at the end of the post.

Read More »
Scroll to Top