Waveshare · ESP32-S3 · 2.0" · 240×320

Waveshare ESP32-S3 Touch LCD 2.0" (with camera) specifications

The Waveshare ESP32-S3-Touch-LCD-2 is a 2-inch touch display board with a camera socket on the back — a combination that makes it a small camera viewer, QR-code scanner or AI-vision front end, not just a display.

The 240×320 panel uses an ST7789T3 controller with 262K colours and reaches about 530 cd/m². Touch is handled by a CST816D on I2C. The 24-pin camera connector accepts OV2640 and OV5640 modules, and the ESP32-S3R8's 8 MB of PSRAM gives it room for camera frames.

A QMI8658 6-axis IMU, a microSD slot and a lithium battery charger round it off, with 16 MB of flash and a USB-C port for power, download and debugging. LCD Ultra Pro supports the board in portrait and landscape; the exported Arduino project contains the display and touch driver, so you can concentrate on the interface around the camera.

Screen
2.0" · 240×320
Chip
ESP32-S3
Memory
16 MB flash, 8 MB PSRAM
Input
capacitive touch

Key features

  • 2-inch 240×320, ST7789T3, about 530 cd/m²
  • Capacitive touch (CST816D)
  • 24-pin camera socket for OV2640 / OV5640
  • ESP32-S3R8: 8 MB PSRAM, 16 MB flash
  • QMI8658 IMU, microSD slot
  • Lithium battery charging

Specifications

Waveshare ESP32-S3 Touch LCD 2.0" (with camera) technical specifications
ManufacturerWaveshare
Screen size2.0"
Resolution240×320 px
Colour depth16-bit
Display controllerST7789 (SPI)
Display interfaceSPI
TouchCST816 (capacitive, I2C, addr: 0x15)
MicrocontrollerESP32-S3
ModuleESP32-S3R8
CPU clock240 MHz
Internal SRAM512 KB
PSRAM8 MB
Flash16 MB
Wi-FiYes
BluetoothYes
Display type262K colours, about 530 cd/m²
TouchCapacitive, CST816D (I2C)
Camera24-pin socket, OV2640 / OV5640 compatible
IMUQMI8658 6-axis with temperature sensor
StoragemicroSD (FAT32, 32 GB or smaller recommended)
Battery3.7 V MX1.25 header with charging chip
Development platforms (manufacturer)Arduino IDE, ESP-IDF (VS Code plugin)

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.

Free GPIO pins of the Waveshare ESP32-S3 Touch LCD 2.0" (with camera)
PinCapabilitiesNote
GPIO 0GPIO, BOOTBoot button
GPIO 3GPIO, ADCFree
GPIO 5GPIO, ADCFree
GPIO 43/TXGPIO, UART_TXUART0 TX
GPIO 44/RXGPIO, UART_RXUART0 RX

Good to know before you start

  • The camera uses most of the remaining pins: only GPIO 3 and 5 are free besides BOOT and UART0.
  • Rotation to 90° (320×240) is supported.
  • Camera frames need PSRAM — keep the UI light when streaming images.
  • Waveshare recommends FAT32 microSD cards of 32 GB or less.

What it is good for

  • •Camera viewers and QR-code scanners
  • •AI-vision prototypes with a local display
  • •Portable handheld tools
  • •Small touch dashboards

LVGL support in LCD Ultra Pro

LVGL and LCD Ultra Pro support for the Waveshare ESP32-S3 Touch LCD 2.0" (with camera)
Driver statusMatched to the manufacturer’s official demo, compile-tested
Arduino exportComplete LVGL 8.4 project with the display driver
USB Live previewNo
Orientations0°, 90°
Brightness controlHardware 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

Which cameras work with the ESP32-S3-Touch-LCD-2?

Waveshare lists OV2640 and OV5640 modules on the 24-pin camera socket.

Which touch controller does it use?

A CST816D capacitive touch controller on I2C.

How much PSRAM does it have?

8 MB on the ESP32-S3R8, with 16 MB of flash.

Are there free GPIOs?

Few: GPIO 3 and 5, plus GPIO 0 (BOOT) and UART0 on GPIO 43/44.

Sources

Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-04):

Last updated: