Waveshare · ESP32-S3 · 1.28" · 240×240
Waveshare ESP32-S3 LCD 1.28" round specifications
The Waveshare ESP32-S3-LCD-1.28 is a coin-sized round display board: a 1.28-inch IPS panel with 240×240 pixels and a Φ32.4 mm active area, driven by a GC9A01A controller over 4-wire SPI at up to 80 MHz. It is the version without touch — Waveshare sells a touch variant separately.
Behind the screen sits an ESP32-S3R2 with 2 MB of PSRAM and 16 MB of external flash, plus a QMI8658 6-axis IMU (accelerometer and gyroscope). An MX1.25 connector with an ETA6096 charger lets it run from a small 3.7 V lithium cell, and the battery voltage can be read on GPIO 1 through a divider.
With its built-in motion sensor and battery support, the board is made for small round gadgets: tilt-aware gauges, desk clocks or wearable-style displays that only need to show information, not take touch input.
- Screen
- 1.28" · 240×240
- Chip
- ESP32-S3
- Memory
- 16 MB flash, 2 MB PSRAM (QSPI)
- Input
- no touch
Key features
- Round 1.28-inch IPS, 240×240, GC9A01A over SPI
- ESP32-S3R2: 2 MB PSRAM, 16 MB flash, Wi-Fi and Bluetooth 5
- QMI8658 6-axis IMU on board
- 3.7 V lithium battery connector with ETA6096 charger
- USB-C with CH343P USB-to-UART and auto-download
- Most GPIOs broken out on 1.27 mm headers
Specifications
| Manufacturer | Waveshare |
|---|---|
| Screen size | 1.28" |
| Resolution | 240×240 px |
| Colour depth | 16-bit |
| Display controller | GC9A01 (SPI) |
| Display interface | SPI |
| Touch | None — no-touch base variant |
| Microcontroller | ESP32-S3 |
| Module | ESP32-S3R2 |
| CPU clock | 240 MHz |
| Internal SRAM | 512 KB |
| PSRAM | 2 MB (QSPI) |
| Flash | 16 MB |
| Wi-Fi | Yes |
| Bluetooth | Yes |
| Display type | IPS, round, 65K colours, Φ32.4 mm active area |
| IMU | QMI8658 (accelerometer ±2–16 g, gyroscope ±16–2048 °/s) |
| Battery | 3.7 V lithium via MX1.25, ETA6096 charger, voltage on GPIO 1 |
| USB | USB-C, CH343P USB-to-UART with automatic download |
| Regulator | ME6217C33M5G, 800 mA |
| Buttons | BOOT, RESET |
| Development platforms (manufacturer) | Arduino IDE, MicroPython |
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 | BAT_ADC (battery voltage) |
| GPIO 5 | TP_INT net (touch connector) |
| GPIO 6 | I2C_SDA (QMI8658) |
| GPIO 7 | I2C_SCL (QMI8658) |
| GPIO 8 | TFT_DC |
| GPIO 9 | TFT_CS |
| GPIO 10 | TFT_CLK |
| GPIO 11 | TFT_MOSI |
| GPIO 12 | TFT_RST |
| GPIO 40 | Backlight (TFT_BL) |
| GPIO 47 | IMU_INT1 (QMI8658) |
| GPIO 48 | IMU_INT2 (QMI8658) |
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 |
| GPIO 2 | GPIO, ADC | Free |
| GPIO 3 | GPIO, ADC | Free |
| GPIO 4 | GPIO, ADC | Free |
| GPIO 13 | GPIO, PWM | Free |
| GPIO 14 | GPIO, PWM | Free |
| GPIO 43/TX | GPIO, UART_TX | UART0 TX |
| GPIO 44/RX | GPIO, UART_RX | UART0 RX |
Good to know before you start
- There is no touch on this version — use the board's buttons, the IMU or an external input to interact with the interface.
- Only 2 MB of PSRAM: fine for a 240×240 screen, but keep large image collections small.
- The round panel is a 240×240 square in software — the corners are invisible, so keep widgets inside the circle.
- GPIO 1 is used for battery voltage sensing; free pins include GPIO 2, 3, 4, 13 and 14.
What it is good for
- •Round clocks and watch faces
- •Tilt or orientation indicators using the IMU
- •Battery-powered status badges
- •Round gauges for a single value
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
Does the Waveshare ESP32-S3-LCD-1.28 have a touchscreen?
No. This is the non-touch version; the ESP32-S3-Touch-LCD-1.28 adds a CST816S capacitive touch controller.
How much memory does it have?
The ESP32-S3R2 has 2 MB of PSRAM, and the board adds 16 MB of external flash.
What sensors are on the board?
A QMI8658 6-axis IMU with a 3-axis accelerometer and a 3-axis gyroscope.
Can it run on a battery?
Yes. It has an MX1.25 connector for a 3.7 V lithium cell and an ETA6096 charging chip.
Sources
Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-27):
Last updated: