Support for the Waveshare ESP32-S3-Touch-LCD-1.28 board. More...
Support for the Waveshare ESP32-S3-Touch-LCD-1.28 board.
The Waveshare ESP32-S3-Touch-LCD-1.28 is a compact development board built around the ESP32-S3 microcontroller with an integrated 1.28-inch round TFT LCD display and capacitive touch panel.

The main features of the board are:
Most features of the board are provided by the ESP32-S3 SoC. For detailed information about the ESP32-S3 SoC variant (family) and ESP32x SoCs, see section ESP32 SoC Series.
The board integrates a 1.28-inch round IPS LCD driven by a GC9A01 display controller via SPI, a CST816S capacitive touch controller connected via I2C, and a QMI8658 6-axis IMU also connected via I2C. A BOOT button on GPIO0 is directly usable as a user button.
The default board configuration provides:
The following table shows the default board configuration sorted by peripheral function. This configuration can be overridden by application-specific configurations.
| Function | GPIOs | Remarks | Configuration |
|---|---|---|---|
| BTN0 | GPIO0 | ||
| ADC_LINE(0) | GPIO1 | Battery voltage | ADC Channels |
| SPI_DEV(0) CLK | GPIO10 | LCD SCLK, GC9A01 | SPI Interfaces |
| SPI_DEV(0) MOSI | GPIO11 | LCD SDA, GC9A01 | SPI Interfaces |
| SPI_DEV(0) MISO | GPIO12 | LCD SDO, GC9A01 | SPI Interfaces |
| SPI_DEV(0) CS0 | GPIO9 | LCD CS, GC9A01 | SPI Interfaces |
| LCD DC | GPIO8 | GC9A01 data/command | |
| LCD RST | GPIO14 | GC9A01 reset | |
| LCD BL | GPIO2 | Backlight control | |
| I2C_DEV(0) SCL | GPIO7 | Touch + IMU | I2C Interfaces |
| I2C_DEV(0) SDA | GPIO6 | Touch + IMU | I2C Interfaces |
| Touch IRQ | GPIO5 | CST816S interrupt | |
| Touch RST | GPIO13 | CST816S reset | |
| UART_DEV(0) TxD | GPIO43 | Console (fixed) | UART interfaces |
| UART_DEV(0) RxD | GPIO44 | Console (fixed) | UART interfaces |
For detailed information about the peripheral configurations of ESP32-S3 boards, see section Common Peripherals.
The following figures show the board hardware layout.


The board schematic and additional documentation can be found on the Waveshare Wiki.
Flashing RIOT is quite easy. The board has a USB-C connector with reset/boot/flash logic. Just connect the board to your host computer and run: For detailed information about ESP32-S3 as well as configuring and compiling RIOT for ESP32-S3 boards, see RIOT-OS on ESP32 SoC Series Boards.
Files | |
| file | board.h |
| Board specific definitions for the Waveshare ESP32-S3 1.28-inch round display board (Touch version) | |
| file | gpio_params.h |
| Board specific configuration of direct mapped GPIOs for the Waveshare ESP32-S3 1.28-inch round display board (Touch version) | |
| file | periph_conf.h |
| Configuration of CPU peripherals for the Waveshare ESP32-S3 1.28-inch round display board (Touch version) | |