LilyGo T-Display-S3 Touch
by LilyGo
Similar to the T-Display-S3 but with a touch-enabled 1.9-inch display, enhancing interactivity for user interfaces.

On this page
Pinout
20 pins · 2.54 mm pitch| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | 3V3 | power | - | Left header - 3.3V power output |
| 2 | 1 | IO1TOUCH1ADC1_CH0 | safe | adc · touch | Left header - ADC1_CH0, capacitive touch |
| 3 | 2 | IO2TOUCH2ADC1_CH1 | safe | adc · touch | Left header - ADC1_CH1, capacitive touch |
| 4 | 3 | IO3TOUCH3ADC1_CH2 | strapping | adc · touch | Left header - ADC1_CH2, capacitive touch; ESP32-S3 strapping pin |
| 5 | 10 | IO10SPI_CSTOUCH10ADC1_CH9 | strapping | adc · touch · spi | Left header - default SPI CS, ADC1_CH9, capacitive touch |
| 6 | 11 | IO11SPI_DTOUCH11ADC2_CH0 | strapping | adc · touch · spi | Left header - default SPI MOSI (SPI_D), ADC2_CH0, capacitive touch |
| 7 | 12 | IO12SPI_CLKTOUCH12ADC2_CH1 | strapping | adc · touch · spi | Left header - default SPI SCK (SPI_CLK), ADC2_CH1, capacitive touch |
| 8 | 13 | IO13SPI_QTOUCH13ADC2_CH2 | strapping | adc · touch · spi | Left header - default SPI MISO (SPI_Q), ADC2_CH2, capacitive touch |
| 9 | - | GND | ground | - | Left header - ground |
| 10 | - | 5V | power | - | Left header - 5V input/output (USB VBUS) |
| 11 | - | GND | ground | - | Right header - ground |
| 12 | - | GND | ground | - | Right header - ground |
| 13 | 43 | IO43U0TXDCLK_OUT1 | strapping | i2c · uart | Right header - also on Qwiic/STEMMA QT connector as I2C SDA; default UART0 TX (U0TXD) |
| 14 | 44 | IO44U0RXDCLK_OUT2 | strapping | i2c · uart | Right header - also on Qwiic/STEMMA QT connector as I2C SCL; default UART0 RX (U0RXD) |
| 15 | 18 | IO18U1RXDADC2_CH7 | uart | adc · i2c · uart | Right header - I2C SDA shared with the CST816 touch controller; also ADC2_CH7 / U1RXD |
| 16 | 17 | IO17U1TXDADC2_CH6 | uart | adc · i2c · uart | Right header - I2C SCL shared with the CST816 touch controller; also ADC2_CH6 / U1TXD |
| 17 | 21 | IO21 | safe | - | Right header - CST816 touch reset (RST); free only if touch reset is not used |
| 18 | 16 | IO16ADC2_CH5 | safe | adc | Right header - CST816 touch interrupt (INT); also ADC2_CH5 |
| 19 | - | GND | ground | - | Right header - ground |
| 20 | - | 3V3 | power | - | Right header - 3.3V power 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
sampled at boot or shared with debug/serial| Pin | Label | What to know | Role |
|---|---|---|---|
| IO3 | GPIO3 | Sampled at reset to select JTAG interface (USB Serial/JTAG controller vs. external pins). Improper use can disable external JTAG or alter debug interface. | Strapping |
| IO43 | U0TXD (GPIO43) | Used for bootloader output and UART console logs. If repurposed, you will lose the default serial output (and programming via UART0). | Other |
| IO44 | U0RXD (GPIO44) | Used for bootloader input (download mode via serial). If repurposed, you cannot use the default UART0 download mode for programming the chip. | Other |
Only if you know the tricks
wired to flash or USB - expect a fight| Pin | Label | What to know | Role |
|---|---|---|---|
| IO10 | FSPICS0 | Used to select the external flash chip. It is required for flash access and cannot be repurposed without losing flash connectivity | Flash |
| IO11 | FSPID | Used as a data line for flash (and in-package PSRAM). It should not be used as GPIO when the flash/PSRAM is in use. | Flash |
| IO12 | FSPICLK | Drives the flash (and PSRAM) clock. This critical signal must be reserved for memory and not used as general GPIO. | Flash |
| IO13 | FSPIQ | Used as a data line for flash/PSRAM transfers. Not available for other uses when flash/PSRAM is connected. | Flash |
Pinout notes The LilyGo T-Display-S3 Touch breaks out 20 pins in total: 13 GPIO for your project, with 3V3 , GND and 5V handling power. Beyond plain digital I/O you get 10…
The LilyGo T-Display-S3 Touch breaks out 20 pins in total: 13 GPIO for your project, with 3V3, GND and 5V handling power.
Beyond plain digital I/O you get 10 ADC-capable pins for sensors and battery monitoring and 7 capacitive-touch inputs.
3 of the exposed pins carry boot-time or system duties on the ESP32-S3 (IO3, IO43 and IO44) - check the guidance above before wiring anything to them. IO1, IO2, IO18, IO17 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
// blink the onboard LED
void setup() {
pinMode(1, OUTPUT);
}
void loop() {
digitalWrite(1, HIGH); delay(500);
digitalWrite(1, LOW); delay(500);
}[env:lilygo_t_display_s3_touch]
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: lilygo_t_display_s3
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 · 62.5 × 25.4 mmAbout this board
Inside sits the ESP32-S3 - a dual-core Xtensa with vector extensions suited to AI workloads.
At $35.00 it's on the expensive side for an ESP32-S3 board - most land around $30.
Only 13 GPIO are broken out, where most ESP32-S3 boards manage about 22 - worth checking the pinout covers what you need.
Around the module: 8MB (OPI) PSRAM, an LCD 1.9" 170x320 display with touch, a Qwiic connector, battery charging (TP4054) via JST-GH 1.25mm and Reset/Boot 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




