Waveshare · ESP32-S3 · 2.8" · 480×480
Waveshare ESP32-S3-Touch-LCD-2.8C (round, 480x480) specifications
The ESP32-S3-Touch-LCD-2.8C is Waveshare's largest round display in the ESP32-S3 touch range: a 2.8-inch circle with 480×480 pixels, driven by an ST7701 over a 16-bit RGB interface, with GT911 capacitive touch on top.
Its round board measures about 96 mm across and carries an ESP32-S3R8 (8 MB PSRAM, 16 MB flash), a PCF85063 RTC with backup battery header, a QMI8658 6-axis IMU, a buzzer, a TCA9554 I/O expander, a microSD slot and a lithium battery charger with a power button.
Two USB-C ports — native USB and a CH343P USB-to-UART with auto-download — and an IPEX connector for an external antenna make it a strong base for wall-mounted round controllers that need to look like a finished product. In LCD Ultra Pro the canvas shows the round mask, so you can see exactly which parts of the 480×480 frame will be visible.
- Screen
- 2.8" · 480×480
- Chip
- ESP32-S3
- Memory
- 16 MB flash, 8 MB PSRAM
- Input
- capacitive touch
Key features
- Round 2.8-inch, 480×480, ST7701 over RGB
- Capacitive touch (GT911)
- ESP32-S3R8: 8 MB PSRAM, 16 MB flash
- PCF85063 RTC, QMI8658 IMU, buzzer
- LiPo charging with power button
- Two USB-C ports, microSD, IPEX antenna option
Specifications
| Manufacturer | Waveshare |
|---|---|
| Screen size | 2.8" |
| Resolution | 480×480 px |
| Colour depth | 16-bit |
| Display controller | ST7701 (RGB Parallel + 3-wire SPI init) |
| Display interface | RGB565 Parallel (DPI) + SPI init sequence |
| Touch | GT911 (I2C, addr: 0x5D) |
| Microcontroller | ESP32-S3 |
| Module | ESP32-S3R8 |
| CPU clock | 240 MHz |
| Internal SRAM | 512 KB |
| PSRAM | 8 MB |
| Flash | 16 MB |
| Wi-Fi | Yes |
| Bluetooth | Yes |
| Display type | TFT, round, RGB interface (RGB565, about 65K colours) |
| Touch | Capacitive, GT911 (I2C) |
| RTC | PCF85063 with backup battery header |
| IMU | QMI8658 6-axis |
| Audio | On-board buzzer |
| Battery | 3.7 V lithium via MX1.25, charge manager, power button |
| USB | USB-C native + USB-C CH343P USB-to-UART |
| Diameter | 95.86 mm |
| Development platforms (manufacturer) | Arduino IDE, ESP-IDF 5.3.1+, LVGL, SquareLine Studio |
GPIO pinout
The GPIOs the board itself uses — display, touch and on-board peripherals — as published in the manufacturer’s documentation.
| GPIO | Function |
|---|---|
| GPIO 1 | LCD_MOSI (init SPI) |
| GPIO 2 | LCD_CLK (init SPI) |
| GPIO 3 | LCD_DATA12 (RGB) |
| GPIO 4 | BAT_ADC (battery voltage) |
| GPIO 5 | LCD_DATA0 (RGB) |
| GPIO 6 | Backlight (LCD_Backlight_PIN) |
| GPIO 7 | I2C_SCL (Touch/RTC/IMU) |
| GPIO 8 | LCD_DATA13 (RGB) |
| GPIO 9 | LCD_DATA10 (RGB) |
| GPIO 10 | LCD_DATA9 (RGB) |
| GPIO 11 | LCD_DATA8 (RGB) |
| GPIO 12 | LCD_DATA7 (RGB) |
| GPIO 13 | LCD_DATA6 (RGB) |
| GPIO 14 | LCD_DATA5 (RGB) |
| GPIO 15 | I2C_SDA (Touch/RTC/IMU) |
| GPIO 16 | TOUCH_INT (GT911) |
| GPIO 17 | LCD_DATA15 (RGB) |
| GPIO 18 | LCD_DATA14 (RGB) |
| GPIO 19 | USB D- (on the header, usable as GPIO only without native USB) |
| GPIO 20 | USB D+ (on the header, usable as GPIO only without native USB) |
| GPIO 21 | LCD_DATA4 (RGB) |
| GPIO 38 | LCD_HSYNC |
| GPIO 39 | LCD_VSYNC |
| GPIO 40 | LCD_DE |
| GPIO 41 | LCD_PCLK |
| GPIO 42 | SD_MISO (microSD; MOSI / SCK share GPIO 1 / 2 with the LCD init bus, CS on EXIO4) |
| GPIO 45 | LCD_DATA1 (RGB) |
| GPIO 46 | LCD_DATA11 (RGB) |
| GPIO 47 | LCD_DATA3 (RGB) |
| GPIO 48 | LCD_DATA2 (RGB) |
Source: www.waveshare.com. Always check against your board revision before wiring.
Free GPIOs and connectors
These GPIOs are not used by the display, touch or on-board peripherals, so you can wire your own sensors, buttons or relays to them.
| Pin | Capabilities | Note |
|---|---|---|
| GPIO 0 | GPIO, BOOT | BOOT button — also on the 12-pin header |
| GPIO 43/TX | GPIO, UART_TX | UART0 TX — on the UART connector and the 12-pin header (only when the USB-to-UART Type-C port is not connected) |
| GPIO 44/RX | GPIO, UART_RX | UART0 RX — on the UART connector and the 12-pin header (only when the USB-to-UART Type-C port is not connected) |
- 12-pin header — GPIO 0, 43, 44 (IO0, TX, RX)
The header also carries USB D- / D+ (GPIO 19 / 20) and the I2C bus (GPIO 15 / 7) — GPIO 0 is the BOOT button (keep it high at power-up)
- UART connector — GPIO 43, 44 (TX, RX)
Only when the USB-to-UART Type-C port is not connected
- I2C connector — GPIO 15, 7 (SDA, SCL)
Same I2C bus as the touch controller, the IO expander, the RTC and the IMU (addresses 0x15/0x5D, 0x20, 0x51, 0x6B, 0x7E taken)
Good to know before you start
- The I2C bus is shared by touch (0x5D), expander (0x20), RTC (0x51) and IMU (0x6B, 0x7E) — check your sensor's address.
- GPIO 0 on the header is the BOOT button: keep it high at power-up.
- UART0 on the header and connector only works while the USB-to-UART port is unplugged.
- Design inside the circle; the corners of the 480×480 frame are hidden.
What it is good for
- •Round wall thermostats and climate controllers
- •Smart home hubs with a dial-style UI
- •Large round gauges and clocks
- •Premium-looking DIY devices
LVGL support in LCD Ultra Pro
| Driver status | Matched to the manufacturer’s official demo, compile-tested |
|---|---|
| Arduino export | Complete LVGL 8.4 project with the display driver |
| USB Live preview | No |
| Orientations | 0° |
| Brightness control | Hardware backlight dimming |
Pick this board in the editor and the canvas matches its exact resolution and shape. Build the interface with widgets, add events without code, try it in Live Preview, then export it as a ready-to-compile Arduino project. See the documentation for the workflow.
Frequently asked questions
How big is the Waveshare 2.8C round display?
The display is 2.8 inches with 480×480 pixels, on a round board about 96 mm in diameter.
Which touch controller does the 2.8C use?
A GT911 capacitive touch controller on I2C, address 0x5D.
Does it have an RTC?
Yes, a PCF85063 with a backup battery header.
How is it different from the 2.1-inch round board?
It is larger (2.8 vs 2.1 inches) and uses a GT911 touch controller instead of a CST820; both are 480×480 ST7701 RGB displays.
Sources
Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-27):
Last updated: