Opens in a new tab

Waveshare ESP32-S3-Touch-LCD-2.1 Pinout

Waveshare ESP32-S3-Touch-LCD-2.1 is a round 2.1″ (480 × 480) touch display with an ESP32-S3 chip right on the back. It runs projects such as MeteoPlaneRadar or a smart clock for Home Assistant.

Most of the chip’s pins are taken by the display, the TF card and the onboard sensors. For your own expansions, three connectors remain on the back: 12-pin SH1.0, I2C and UART.

Specifications

  • ESP32-S3R8: 2 Xtensa LX7 cores up to 240 MHz, 8 MB PSRAM, 16 MB flash
  • round 2.1″ IPS display 480 × 480 (ST7701, parallel RGB), CST820 capacitive touch
  • QMI8658 IMU, PCF85063 RTC, TCA9554 expander, buzzer, TF card slot
  • Wi-Fi + Bluetooth LE, IPEX connector for an external antenna
  • SH1.0 connectors: 12-pin (USB, I2C, UART, GPIO0), I2C and UART
  • 2× USB-C (native USB and USB-UART converter), Li-Po charger, power switch
  • 75 mm diameter (display bezel)

The diagram shows the back of the board as you see it when it is flipped display-side down. The connector pins are numbered the way Waveshare numbers them: on the 12-pin connector, pin 1 (GND) is next to the battery connector and the buttons.

GPIO7 and GPIO15 (I2C) are on both the 12-pin connector and the I2C connector – it is the same bus that the board’s touch controller, IMU, RTC and expander are on. The same goes for GPIO43 and GPIO44 (UART0) on the 12-pin connector and the UART connector.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

Pin names:
Waveshare ESP32-S3-Touch-LCD-2.1 – pinout (back side)Waveshare ESP32-S3-Touch-LCD-2.1 – pinout (back side)chiptron.eu · CC BY 4.0USBUARTBOOTRSTBATTFESP32-S3 12 GPIO0 BOOT button 11 GND 10 GPIO44 RX 9 GPIO43 TX 8 GPIO15 SDA ADC2_CH4 7 GPIO7 SCL ADC1_CH6 6 3V3 ← 3.3 V output from the board's regulator 5 GND 4 GPIO20 ADC2_CH9 USB D+ 3 GPIO19 ADC2_CH8 USB D− 2 VBUS ↔ 5 V from the USB connector (or 5 V board power) 1 GND 1 GPIO7 SCL ADC1_CH6 2 GPIO15 SDA ADC2_CH4 3 3V3 → 4 GND 1 GPIO44 RX 2 GPIO43 TX 3 3V3 → 4 GND 12-pin connectorI2CUART GPIO UART I2C ADC (analog) Power Ground (GND) Strapping pin
Download:PNGSVG
Pin table – Waveshare ESP32-S3-Touch-LCD-2.1
PinNameDirectionUARTI2CSPIADCTouchNote
12-pin connector 1GND–
12-pin connector 2VBUSinput/output5 V from the USB connector (or 5 V board power)
12-pin connector 3GPIO19input/outputADC2_CH8USB D− (native USB, second USB-C connector)
12-pin connector 4GPIO20input/outputADC2_CH9USB D+ (native USB, second USB-C connector)
12-pin connector 5GND–
12-pin connector 63V3output3.3 V output from the board's regulator
12-pin connector 7GPIO7input/outputSCLADC1_CH6T7I2C SCL. The same bus on the board carries the CST820 touch (0x15), TCA9554 expander (0x20), PCF85063 RTC (0x51) and QMI8658 IMU (0x6B) – choose your own sensors with a different address. Cannot be used as general-purpose pin GPIO7.
12-pin connector 8GPIO15input/outputSDAADC2_CH4I2C SDA, bus shared with the onboard touch, expander, RTC and IMU (addresses 0x15, 0x20, 0x51, 0x6B, 0x7E). Cannot be used as general-purpose pin GPIO15.
12-pin connector 9GPIO43input/outputTXUART0 TX. The UART connector is connected to the chip via the FSUSB42 switch only when there is no cable in the USB-UART (USB-C UART) connector – otherwise UART0 goes to the CH343 converter.
12-pin connector 10GPIO44input/outputRXUART0 RX – via the FSUSB42 switch, only with no cable in the USB-UART connector.
12-pin connector 11GND–
12-pin connector 12GPIO0input/outputBOOT button. Strapping pin – logic 0 at boot = download mode
I2C 1GPIO7input/outputSCLADC1_CH6T7I2C SCL. The same bus on the board carries the CST820 touch (0x15), TCA9554 expander (0x20), PCF85063 RTC (0x51) and QMI8658 IMU (0x6B) – choose your own sensors with a different address. Cannot be used as general-purpose pin GPIO7.
I2C 2GPIO15input/outputSDAADC2_CH4I2C SDA, bus shared with the onboard touch, expander, RTC and IMU (addresses 0x15, 0x20, 0x51, 0x6B, 0x7E). Cannot be used as general-purpose pin GPIO15.
I2C 33V3output3.3 V output from the board's regulator
I2C 4GND–
UART 1GPIO44input/outputRXUART0 RX – via the FSUSB42 switch, only with no cable in the USB-UART connector.
UART 2GPIO43input/outputTXUART0 TX. The UART connector is connected to the chip via the FSUSB42 switch only when there is no cable in the USB-UART (USB-C UART) connector – otherwise UART0 goes to the CH343 converter.
UART 33V3output3.3 V output from the board's regulator
UART 4GND–

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
GPIO1LCD – SPI data for controller setup (SDA) and TF card (MOSI)
GPIO2LCD – SPI clock for controller setup (SCK) and TF card (SCLK)
GPIO42Karta TF (MISO)
GPIO4Battery voltage via 200k/100k divider (BAT_ADC)
GPIO6Display backlight (PWM)
GPIO16CST820 touch – interrupt (TP_INT)
GPIO38–41LCD RGB – HSYNC (38), VSYNC (39), DE (40), PCLK (41)
GPIO3, 8, 17, 18, 46LCD RGB – red R2, R3, R5, R4, R1
GPIO9–14LCD RGB – green G5–G0
GPIO5, 21, 45, 47, 48LCD RGB – blue B1, B5, B2, B4, B3
GPIO33–37PSRAM (ESP32-S3R8)
EXIO1–8TCA9554 expander: LCD reset, touch reset, LCD CS, TF card CS, IMU interrupt (2×), RTC interrupt, buzzer

What to watch out for

  • The GPIO are not 5V tolerant.
  • The onboard I2C bus uses addresses 0x15, 0x20, 0x51, 0x6B and 0x7E – your own sensor must have a different address.
  • UART0 (GPIO43/44) is on the connectors only when no cable is plugged into the USB-C UART connector – otherwise a switch routes it to the converter.
  • GPIO19 and GPIO20 are native USB – use them as GPIO only with no cable in the USB connector.
  • GPIO0 is the BOOT button and a strapping pin – logic 0 at boot starts download mode.
  • Pin 11 of the 12-pin connector is GND (the Waveshare wiki lists it as unconnected, but the schematic and the board have it on ground).

Projects with this display

Projects and guides on chiptron.eu/:

  • MeteoPlaneRadar – aircraft radar and weather radar on a round display, firmware flashed from the browser
  • ESP32 Plane Radar – aircraft radar on your desk, with a variant for this display too

More pinouts

See all pinouts on the Pinouts page.

Related Articles