Raspberry Pi Pico W (Arduino Framework) display on 0.85 inch 128x128 LCD with GC9107 SPI driver, using GFX Library for Arduino (Arduino_GFX).

Below video show steps to to display on Waveshare 0.85 inch 128x128 LCD with GC9107 SPI driver with Raspberry Pi Pico W. It should work on Raspberry Pi Pico and WeAct RP2040 Dev. Board.


GFX Library for Arduino (Arduino_GFX) is needed, make sure it's installed in Library Manager.

To use Arduino_GFX on Raspberry Pi Pico (or RP2040), we have to use board of Raspberry Pi Pico/RP2040 by Earle F. Philhower III). Read the post former post to Install Earle Philhower Raspberry Pi Pico Arduino core on Arduino IDE. It will not work on board Raspberry Pi Pico from Arduino Mbed OS RP2040 Boards by Arduino.

In the video, it's tested with Arduino_GFX examples.
Examples > GFX Library for Arduino > HelloWorld
Examples > GFX Library for Arduino > Clock
Examples > GFX Library for Arduino > WiFiAnalyzer > PicoWiFiAnalyzer

And finally tested using PDQgraphicstest to compare Arduino_HWSPI() and Arduino_RPiPicoSPI()
Examples > GFX Library for Arduino > PDQgraphicstest

Connection between Raspberry Pi Pico W and GC9107 SPI LCD
	GC9107	        Pico
	---------------------
	VCC		3V3
	GND		GND
	DIN		GP19
	CLK		GP18
	CS		GP17
	DC		GP20
	RST		GP21
	BL		GP22
Arduino_GFX setting

Load the example from Arduino_GFX library, replace the code in Arduino_GFX setting.
//========== Arduino_GFX setting ======================================================================
#define TFT_DIN	19
#define TFT_CLK 18
#define TFT_CS	17
#define TFT_DC 	20
#define TFT_RST 21
#define TFT_BL	22

#define GFX_BL TFT_BL

//https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class#hardware-spi
//Arduino_DataBus *bus = new Arduino_HWSPI(TFT_DC, TFT_CS);

//https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class#raspberry-pi-pico
Arduino_DataBus *bus = new Arduino_RPiPicoSPI(TFT_DC, TFT_CS, TFT_CLK, TFT_DIN, GFX_NOT_DEFINED, spi0);

//https://github.com/moononournation/Arduino_GFX/wiki/Display-Class#gc9107-ips-lcd-128x128
Arduino_GFX *gfx = new Arduino_GC9107(bus, TFT_RST, 0 /* rotation */, true /* IPS */);
//=====================================================================================================
related:
ESP32-S3-Zero display on 0.85 inch 128x128 LCD with GC9107 SPI driver, using Arduino_GFX.


Comments

Popular posts from this blog

MicroPython/ESP32-C3 + 1.8" 128x160 TFT ST7735 SPI, using boochow/MicroPython-ST7735 library.

CameraWebServe: ESP32-S3 (arduino-esp32) + OV5640 camera module