If you looking to build a smartwatch then GC9A01 round LCD module is not the ready-to-use solution for you. The company Waveshare sells one unit with this display with integrated Raspberry Pi RP2040, accelerometer and gyroscope sensor. That is called RP2040-LCD-1.28 and the unit costs 1.5 times more than this GC9A01 round LCD module. This is the product description of that RP2040-LCD-1.28 :
1 | https://www.waveshare.com/rp2040-lcd-1.28.htm |
Variants are also sold by Waveshare:
1 2 3 4 | # touch https://www.waveshare.com/RP2040-Touch-LCD-1.28.htm # non-touch https://www.waveshare.com/RP2040-LCD-1.28.htm |
Only the display is also sold in two variants:
---
1 2 3 4 | # touch https://www.waveshare.com/1.28inch-touch-lcd.htm # non-touch https://www.waveshare.com/1.28inch-lcd-module.htm |
The normal, non-touch version has full official support and examples for Raspberry Pi, Arduino, STM32, etc. They have a Wiki page for this one:
1 | https://www.waveshare.com/wiki/1.28inch_LCD_Module |
They are not I2C devices, but SPI devices.
These displays can be used with ESP32’s 3.3-volt logic but you will need to use a voltage level converter if you wanted to use these with an Arduino board. If you want to avoid the technical matters then choose RP2040-LCD-1.28 (touch or non-touch). From this Wiki page:
1 | https://www.waveshare.com/wiki/1.28inch_LCD_Module |
The connection/wiring part with ESP32 is not super difficult.
1 2 3 4 5 6 7 8 9 10 | ################### 3V3 ---> VCC GND ---> GND PIN 23 ---> DIN PIN 18 ---> CLK PIN 22 ---> CS PIN 16 ---> DC PIN 04 ---> RST 3V3 ---> BL ################### |
You can add a potentiometer hooked up to pin 14. This will be required for some testing demo/example codes.
You can use TFT_eSPI Library or Adafruit’s this library:
1 2 | https://github.com/PaintYourDragon/Adafruit_GC9A01A https://github.com/Bodmer/TFT_eSPI |
You may need to edit, and comment out some lines. For example, on this file:
1 | https://github.com/PaintYourDragon/Adafruit_GC9A01A/blob/master/examples/graphicstest/graphicstest.ino |
Look at line 5:
1 2 3 | ... #define TFT_DC 9 ... |
Make it 7.
In Documents\Arduino\libraries\TFT_eSPI, in the User Setup.h you have to change the ILI9430 display to GC9A01 by commenting in and out.
You’ll get this link to the download page:
1 | https://www.waveshare.com/wiki/File:LCD_Module_code.zip |