Waveshare ESP32-S3-Touch-LCD-4.3
4.3" 800x480 RGB panel with GT911 touch. I/O expander handles reset lines.
At a glance
| Maker | Waveshare |
| MCU | ESP32-S3 Xtensa LX7 dual-core @ 240 MHz, 512 KB SRAM (+ up to 8 MB PSRAM) |
| Display | Generic RGB565 panel, 800 x 480 px, RGB565 parallel (DPI), 16-bit colour |
| Touch | Goodix GT911 (capacitive, I2C) |
| Backlight | CH422G pin 2, on and off |
| PSRAM | Yes |
| Graphics library | GFX Library for Arduino |
Display pins
Generic RGB565 panel on RGB565 parallel (DPI): RGB colour order, inversion off.
| Signal | Pin |
|---|---|
| DE | GPIO 5 |
| VSYNC | GPIO 3 |
| HSYNC | GPIO 46 |
| PCLK | GPIO 7 |
| R0 - R4 | GPIO 1, 2, 42, 41, 40 |
| G0 - G5 | GPIO 39, 0, 45, 48, 47, 21 |
| B0 - B4 | GPIO 14, 38, 18, 17, 10 |
| RESET | CH422G pin 3 |
| Backlight | CH422G pin 2 |
Touch pins
GT911: I2C address 0x5D, 400 kHz.
| Signal | Pin |
|---|---|
| SDA | GPIO 8 |
| SCL | GPIO 9 |
| INT / IRQ | GPIO 4 |
| RESET | CH422G pin 1 |
Also on the board
- I2C0 (touch, CH422G, header) - SDA GPIO 8, SCL GPIO 9
- CH422G I/O expander at 0x24, driving the lines marked above
The preset adds these to the Hardware tab with the board, so a sensor can go straight onto the connector.
Check your revision. Touch reset (EXIO1), backlight enable (EXIO2) and panel reset (EXIO3) sit on a CH422G expander on the I2C bus at GPIO 8/9; the generated code brings the expander up first and drives them. EXIO4 is the SD card CS and EXIO5 selects USB - both left at their defaults.
Designing for it in LCD Wizard
- Choose Waveshare ESP32-S3-Touch-LCD-4.3 on the Hardware tab (or use the button above) and every pin on this page is filled in. The export writes the sketch,
lcd_pins.h, the GFX Library for Arduino configuration,lv_conf.handplatformio.ini- a project that builds for this board as it comes. - The GT911 is capacitive and needs no calibration. The firmware resets it and checks it answers on every boot.
- The backlight switches on and off; it is not dimmable from the firmware.
- An RGB panel keeps its frame buffer in PSRAM, which this board has.
- Screens are designed for 800 x 480 px in either orientation, with LVGL 9 or LVGL 8.
The parts
Generic RGB565 panel. Raw RGB glass with no controller IC. All timing comes from the MCU.
GT911. The address is selected by the INT pin level during reset, so wire INT and RST if you can.
ESP32-S3. The only common Arduino target with a hardware RGB565 LCD peripheral. PSRAM is effectively required for RGB panels.
GFX Library for Arduino. Moshi Liu's library. Best QSPI/AMOLED and RGB coverage. Configured in code.
Designs for this board
Nobody has published a design for this board yet. Publish yours from the designer and it appears here and in the gallery.
Similar boards
Next
- Quick start - from an empty screen to firmware on the board
- Boards and displays - presets, controllers, pins and touch in the designer
- Flashing and configuration - PlatformIO, the Arduino IDE and first-boot checks
- Troubleshooting - a white screen, mirrored image or touch that misses