LilyGo T4-S3 Development Board

Code name: LILYGO_T4_S3

LilyGo T4-S3 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 T4-S3

πŸš€ The LilyGo T4-S3 is an ESP32-S3-based development board designed for high-performance IoT applications. Featuring a large 4.2-inch e-paper display and low-power consumption, it is ideal for smart display projects. ⚑

πŸ“‘ With WiFi 802.11 b/g/n and Bluetooth 5 (LE), it supports seamless wireless communication, making it perfect for remote monitoring and embedded systems.

πŸ’Ύ The T4-S3 comes with 8MB PSRAM and 16MB Flash, providing ample memory for complex applications.

Technical Specifications

πŸ–₯️ Display

Type 4.2-inch E-Paper
Resolution 400x300
Driver IT8951

πŸ›°οΈ 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

  • 48 digital IO pins
  • 46 external interrupt pins
  • 20 analog input pins
  • 27 PWM pins

LilyGo T4-S3 Pinout

βœ… Safe Pins to Use

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

πŸ”Ή IO1
πŸ”Ή IO2
πŸ”Ή IO16
πŸ”Ή IO17
πŸ”Ή IO18
πŸ”Ή IO21
πŸ”Ή IO22
πŸ”Ή IO23

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
IO19USB_D-By default connected to the on-chip USB Serial/JTAG controller. Using it as general GPIO without reconfiguring IO MUX will interfere with USB functionality.πŸ”Œ USB

LilyGo T4-S3 Pin Mappings

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

PinFunctionESP PinInput/OutputDescription
13V33.3VPOWER OUTPUT3.3V power output
2GNDGNDPOWER GROUNDGround connection
35V5VPOWER INPUT5V power input
4IO1GPIO1BIDIRECTIONALGPIO, ADC, I2C
5IO2GPIO2BIDIRECTIONALGPIO, ADC
6IO3GPIO3BIDIRECTIONALGPIO, ADC
7IO16SPI_CSBIDIRECTIONALGPIO, SPI Chip Select
8IO17SPI_DBIDIRECTIONALGPIO, SPI Data
9IO18SPI_CLKBIDIRECTIONALGPIO, SPI Clock
10IO19SPI_QBIDIRECTIONALGPIO, SPI Q
11IO21EPD_DCOUTPUTGPIO, E-Paper Data/Command
12IO22EPD_RSTOUTPUTGPIO, E-Paper Reset
13IO23EPD_BUSYINPUTGPIO, E-Paper Busy Signal
Function Pin Function
ESP Pin Pin on ESP32
I/O Input/Output Pin
Description Pin Description

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 T4-S3 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 T4-S3 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).