LilyGo T-Display-S3
by LilyGo
An ESP32-S3 development board equipped with a 1.9-inch LCD color screen and two programmable buttons, suitable for display-based applications.

On this page
LilyGo T-Display-S3 Pinout
24 pins · 2.54 mm pitch| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | 3V3V3 | power | - | Left header (P2); 3.3V output |
| 2 | 1 | GPIO1TOUCH1ADC1_CH0 | safe | adc · touch · pwm | Left header (P2); ADC1_CH0, capacitive touch |
| 3 | 2 | GPIO2TOUCH2ADC1_CH1 | safe | adc · touch · pwm | Left header (P2); ADC1_CH1, capacitive touch |
| 4 | 3 | GPIO3TOUCH3ADC1_CH2 | strapping | adc · touch · pwm | Left header (P2); ADC1_CH2, capacitive touch; ESP32-S3 strapping pin |
| 5 | 10 | GPIO10SPI_CSADC1_CH9 | strapping | adc · touch · pwm · spi | Left header (P2); FSPI CS, ADC1_CH9, touch |
| 6 | 11 | GPIO11SPI_DADC2_CH0 | strapping | adc · touch · pwm · spi | Left header (P2); FSPI MOSI, ADC2_CH0, touch |
| 7 | 12 | GPIO12SPI_CLKADC2_CH1 | strapping | adc · touch · pwm · spi | Left header (P2); FSPI CLK, ADC2_CH1, touch |
| 8 | 13 | GPIO13SPI_QADC2_CH2 | strapping | adc · touch · pwm · spi | Left header (P2); FSPI MISO, ADC2_CH2, touch |
| 9 | - | NC | - | Left header (P2); the board prints NC - the pad is not connected | |
| 10 | - | NC | - | Left header (P2); the board prints NC - the pad is not connected | |
| 11 | - | GND | ground | - | Left header (P2) |
| 12 | - | 5V | power | - | Left header (P2); 5V (VBUS) input/output |
| 13 | - | GND | ground | - | Right header (P1) |
| 14 | - | GND | ground | - | Right header (P1) |
| 15 | 43 | GPIO43CLK_OUT1U0TXD | uart | uart · pwm | Right header (P1); default UART0 TX; also on the bottom 4-pin JST |
| 16 | 44 | GPIO44CLK_OUT2U0RXD | uart | uart · pwm | Right header (P1); default UART0 RX; also on the bottom 4-pin JST |
| 17 | 18 | GPIO18SDAU1RXDADC2_CH7 | uart | adc · i2c · uart · pwm | Right header (P1); board default I2C SDA (touch controller on Touch variant), ADC2_CH7 |
| 18 | 17 | GPIO17SCLU1TXDADC2_CH6 | uart | adc · i2c · uart · pwm | Right header (P1); board default I2C SCL (touch controller on Touch variant), ADC2_CH6 |
| 19 | 21 | GPIO21 | safe | pwm | Right header (P1); general IO; touch-controller reset on Touch variant |
| 20 | 16 | GPIO16ADC2_CH5 | safe | adc · pwm | Right header (P1); ADC2_CH5; touch-controller INT on Touch variant |
| 21 | - | NC | - | Right header (P1); the board prints NC - the pad is not connected | |
| 22 | - | GND | ground | - | Right header (P1) |
| 23 | - | GND | ground | - | Right header (P1) |
| 24 | - | 3V3V3 | power | - | Right header (P1); 3.3V output |
Start with these
6 pins with no boot or system involvementFreely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.
Fine - with a little care
7 pins · 4 things to knowGPIO3 Bootstrapping pin (controls JTAG signal source) Strapping
Sampled at reset to select JTAG interface (USB Serial/JTAG controller vs. external pins). Improper use can disable external JTAG or alter debug interface.
GPIO10GPIO11GPIO12GPIO13 General-purpose SPI2 (FSPI) IO MUX pins Other
IO MUX pin of the general-purpose SPI2 (FSPI) bus, not of the in-package flash - that sits on GPIO26-32. The datasheet lists it as a priority-2 pin ("can be freely used without restrictions"), so it is only taken if your board wires flash, an SD card or a display to FSPI.
- GPIO10General-purpose SPI2 (FSPI) IO MUX pin - chip select (FSPICS0)
- GPIO11General-purpose SPI2 (FSPI) IO MUX pin - data in (FSPID)
- GPIO12General-purpose SPI2 (FSPI) IO MUX pin - clock (FSPICLK)
- GPIO13General-purpose SPI2 (FSPI) IO MUX pin - data out (FSPIQ)
GPIO43 UART0 transmit pin (U0TXD), default serial console TX UART
Used for bootloader output and UART console logs. If repurposed, you will lose the default serial output (and programming via UART0).
GPIO44 UART0 receive pin (U0RXD), default serial console RX UART
Used for bootloader input (download mode via serial). If repurposed, you cannot use the default UART0 download mode for programming the chip.
The LilyGo T-Display-S3 pinout brings out 24 pins at a 2.54 mm pitch - 13 usable GPIO alongside the 3V, GND and 5V power rails.
Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO18 and SCL on GPIO17.
Beyond plain digital I/O you get 10 ADC-capable pins for sensors and battery monitoring, PWM on every GPIO and 7 capacitive-touch inputs.
7 of the exposed pins carry boot-time or system duties on the ESP32-S3 (GPIO3, GPIO10, GPIO11 and 4 more) - check the guidance above before wiring anything to them. GPIO1, GPIO2, GPIO18, GPIO17 and 2 more are free of any such role - the safest first picks.
Getting started
flash your first firmware in ~2 minutesBoard: ESP32S3 Dev Module USB CDC On Boot: Enabled Flash Size: 16MB (128Mb) Flash Mode: DIO PSRAM: OPI PSRAM Partition Scheme: 16M Flash (3MB APP/9.9MB FATFS) Upload Speed: 921600
// toggle GPIO1 - wire an LED and resistor to it
void setup() {
pinMode(1, OUTPUT);
}
void loop() {
digitalWrite(1, HIGH); delay(500);
digitalWrite(1, LOW); delay(500);
}[env:lilygo_t_display_s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
board_build.arduino.memory_type = qio_opi
build_flags = -DBOARD_HAS_PSRAMesp32-s3-devkitc-1 - or type it after board =.esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: esp-idf
psram:
mode: octal
speed: 80MHz
# blink - GPIO1
output:
- platform: gpio
pin: 1
id: led_out
light:
- platform: binary
name: "LED"
output: led_outesp32-s3-devkitc-1 (same ids as PlatformIO).esptool.py --chip esp32s3 --port /dev/ttyACM0 \
--baud 921600 write_flash 0x0 firmware.bin--port = your /dev/tty* (macOS/Linux) or COMx (Windows).Specifications
ESP32-S3 · 60.8 × 25.5 mm · vs other ESP32 chips →Dimensions
About this board
Inside sits the ESP32-S3 - a dual-core Xtensa with vector extensions suited to AI workloads.
At $23.00 it's cheaper than most ESP32-S3 boards, which usually run around $29.
Only 13 GPIO are broken out, where most ESP32-S3 boards manage about 23 - worth checking the pinout covers what you need.
Around the module: 8MB (OPI) PSRAM, an LCD 1.9" 170x320 display, a STEMMA QT connector, battery charging via JST-GH 1.25mm and Boot/Reset/IO14 buttons.
It flashes over native USB - no serial-converter driver needed, which isn't a given among ESP32-S3 boards.
The LilyGo T-Display-S3 is a powerful development board featuring an ESP32-S3 chip with integrated WiFi and Bluetooth 5 capabilities. Equipped with a 1.9-inch LCD (170x320) driven by an ST7789V controller, it provides a vibrant display for embedded applications.
With WiFi 802.11 b/g/n and Bluetooth 5 (LE), it offers seamless wireless connectivity for IoT projects. Its 8MB PSRAM and 16MB Flash memory ensure ample storage and performance.
Designed with multiple GPIOs, PWM, ADC, I2C, and SPI support, it is suitable for various applications, including sensor interfacing, graphical user interfaces, and wireless communication.
Where to buy
prices are typical street prices
Resources
Similar boards




