LilyGo T-Display-S3 Touch Development Board

Code name: LILYGO_T_DISPLAY_S3

LilyGo T-Display-S3 Touch development board is based on esp32s3 microcontroller and uses xtensa architecture. This board has a maximum CPU frequency of 240 MHz and a flash size of 16MB.

About LilyGo T-Display-S3 Touch

πŸš€ 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 (270x320) 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

LilyGo T-Display-S3 Touch

Starting from

$35 per unit

Amazon de
Amazon.de Ships to EU
View Price
Aliexpress
AliExpress Best value
View Price

Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

Technical Specifications

πŸ–₯️ Display

Type LCD
Size 1.9"
Resolution 170x320
Driver ST7789V
Touch Screen CST816

πŸ›°οΈ Connectivity

WiFi 802.11 b/g/n (2.4 GHz)
Bluetooth 5.0
BLE 5.0

🧠 Microcontroller

Model esp32s3
Clock Speed 240 MHz
Flash Size 16MB
PSRAM Size 8MB
Architecture xtensa

✨ Features

  • 13 digital IO pins
  • 13 external interrupt pins
  • 10 analog input pins
  • 13 PWM pins

LilyGo T-Display-S3 Touch Pinout

The LilyGo T-Display-S3 pinout provides various digital and analog pins, along with a dedicated display interface. Key pins include:

5V and 3.3V power rails for stable operation.

SDA and SCL for I2C, MISO, MOSI, SCK, and SS for SPI communication.

Additionally, dedicated LCD pins ensure efficient display control.

βœ… Safe Pins to Use

For general GPIO usage, these are the safest and most flexible choices:

πŸ”Ή IO1
πŸ”Ή IO2
πŸ”Ή IO16
πŸ”Ή IO17
πŸ”Ή IO18
πŸ”Ή IO21
πŸ”Ή IO5
πŸ”Ή IO6
πŸ”Ή IO7
πŸ”Ή IO8
πŸ”Ή IO15
πŸ”Ή IO4

Why Are These Pins Safe?

  • Not involved in bootstrapping β†’ No impact on device boot mode or system startup
  • Not linked to flash memory or PSRAM β†’ Won't interfere with storage or memory access
  • Not dedicated to USB or JTAG β†’ Free for general use without affecting debugging
  • No special hardware connections β†’ Freely assignable without internal conflicts

⚠️ Pins to Avoid or Use with Caution

Some pins are reserved for critical functions like bootstrapping, JTAG debugging, USB communication, and flash memory operations. Misusing these pins may lead to boot failures, programming issues, USB conflicts, or disruptions in flash storage.

Critical Pin Categories:

  • πŸ› οΈ Strapping Pins: Control boot behavior and flash voltage selection
  • πŸ”— JTAG Debugging Pins: Required for low-level debugging
  • πŸ”Œ USB Communication Pins: Used for USB Serial/JTAG communication
  • ⚑ Flash Memory & SPI Pins: Connected to SPI flash memory and PSRAM
  • πŸ“‘ UART Serial Communication Pins: Used for debugging and firmware uploads
PINLabelReasonFunction
IO3GPIO3Sampled at reset to select JTAG interface (USB Serial/JTAG controller vs. external pins). Improper use can disable external JTAG or alter debug interface.πŸ› οΈ Strapping
IO10FSPICS0Used to select the external flash chip. It is required for flash access and cannot be repurposed without losing flash connectivity⚑ Flash
IO11FSPIDUsed 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
IO12FSPICLKDrives the flash (and PSRAM) clock. This critical signal must be reserved for memory and not used as general GPIO.⚑ Flash
IO13FSPIQUsed as a data line for flash/PSRAM transfers. Not available for other uses when flash/PSRAM is connected.⚑ Flash

LilyGo T-Display-S3 Touch Pin Mappings

This development board provides 13 digital IO pins, out of which 13 can be used as external interrupt pins , 10 as analog input pins and 13 pins have Pulse-Width Modulation (PWM) .

PinFunctionESP PinInput/OutputDescription
13V33.3VPOWER OUTPUT3.3V power output
2GNDGNDPOWER GROUNDGround connection
35V5VPOWER INPUT5V power input for the board
5IO1IO1BIDIRECTIONALGPIO, Touch, ADC
6IO2IO2BIDIRECTIONALGPIO, Touch, ADC
7IO3IO3BIDIRECTIONALGPIO, Touch, ADC
8IO10SPI_CSBIDIRECTIONALGPIO, SPI Chip Select
9IO11SPI_DBIDIRECTIONALGPIO, SPI Data
10IO12SPI_CLKBIDIRECTIONALGPIO, SPI Clock
11IO13SPI_QBIDIRECTIONALGPIO, SPI Q
12IO16ADC2_CH5BIDIRECTIONALGPIO, ADC
13IO17U1_TXDBIDIRECTIONALGPIO, UART TX
14IO18U1_RXDBIDIRECTIONALGPIO, UART RX
15IO21IO21BIDIRECTIONALGPIO
16IO43CLK_OUT1OUTPUTGPIO, Clock Output 1
17IO44CLK_OUT2OUTPUTGPIO, Clock Output 2
18IO38LCD_BLOUTPUTGPIO, LCD BL
19IO39LCD_D0OUTPUTGPIO, LCD Data 0
20IO40LCD_D1OUTPUTGPIO, LCD Data 1
21IO41LCD_D2OUTPUTGPIO, LCD Data 2
22IO42LCD_D3OUTPUTGPIO, LCD Data 3
23IO45LCD_D4OUTPUTGPIO, LCD Data 4
24IO46LCD_D5OUTPUTGPIO, LCD Data 5
25IO47LCD_D6OUTPUTGPIO, LCD Data 6
26IO48LCD_D7OUTPUTGPIO, LCD Data 7
27IO5LCD_RESOUTPUTGPIO, LCD Reset
28IO6LCD_CSOUTPUTGPIO, LCD Chip Select
29IO7LCD_DCOUTPUTGPIO, LCD Data/Command
30IO8LCD_WROUTPUTGPIO, LCD Write
31IO9LCD_RDOUTPUTGPIO, LCD Read
32IO15LCD_POWER_ONOUTPUTGPIO, LCD Power Enable
33IO4LCD_BAT_VOLTINPUTGPIO, Battery Voltage Sense
34IO14BUTTONINPUTButton
Function Pin Function
ESP Pin Pin on ESP32
I/O Input/Output Pin
Description Pin Description

LilyGo T-Display-S3 Touch Pins Mapping Arduino IDE

Below you can find the LilyGo T-Display-S3 Touch pinout. This development board provides 13 digital IO pins, out of which 13 can be used as external interrupt pins, 10 as analog input pins and 13 pins have Pulse-Width Modulation (PWM).

PinAnalogTouchPWMOther
0BUTTON_1
1A0T1PWM
2A1T2PWM
3A2T3PWM
4PWMBAT_VOLT
10A9T10PWMSS
11A10T11PWMMOSI
12A11T12PWMSCK
13A12T13PWMMISO
17A16PWMSCL
18A17PWMSDA
43PWMTX
44PWMRX
Analog Analog input pins
Touch Touch pins
Function Function pins
RX / TX Receive/Transmit
LED_BUILTIN Built-in LED
PWM Pulse-Width Modulation

Default Tools

Bootloader toolesptool_py
Uploader toolesptool_py
Network uploader toolesp_ota
Bootloader address0x0
Flash modedio
Boot modeqio
PSRAM typeopi
Maximum upload size
3072 Kb
(3145728 B)
Maximum data size
320 Kb
(327680 B)

The LilyGo T-Display-S3 Touch development board by default uses esptool_py uploader tool, esp_ota network uploader tool for Over-the-air (OTA) uploads and esptool_py bootloader tool. The bootloader starts at address "0x0". Flash mode and boot mode for LilyGo T-Display-S3 Touch development board by default is dio and qio respectively. The board uses opi PSRAM type. When using Arduino IDE, the maximum sketch upload size is 3072 Kb (3145728 B) and maximum data size for variables is 320 Kb (327680 B).