MakerLab
ESP32LilyGO T-Display-S3

LilyGO T-Display-S3: Your ESP32 Gateway to Interactive Projects

A feature-rich ESP32-S3 development board with an integrated touchscreen display, ideal for IoT and graphical user interface applications.

LilyGO T-Display-S3

The LilyGO T-Display-S3 is a compact and powerful development board built around the Espressif Systems ESP32-S3 System-on-Chip (SoC). This board stands out by integrating a vibrant capacitive touchscreen display directly onto the PCB, making it an excellent choice for projects that require a visual interface without the need for external screens. Its design prioritizes ease of use for makers, students, and embedded engineers looking to create interactive IoT devices, data loggers, or control panels.

At its core, the T-Display-S3 features the ESP32-S3, a dual-core Tensilica LX7 microprocessor. This SoC offers enhanced performance over previous ESP32 generations, including support for Wi-Fi 4 (802.11n) and Bluetooth 5 (LE) connectivity. The ESP32-S3 also boasts a dedicated AI acceleration instruction set, making it suitable for on-device machine learning tasks, although this is less commonly leveraged in typical maker projects. The inclusion of a USB-C port for programming and power, along with ample onboard flash storage, simplifies development workflows.

Positioned as an evolution of LilyGO's popular T-Display series, the T-Display-S3 refines the concept with the more capable ESP32-S3 chip. It offers a compelling balance of processing power, connectivity, and integrated display functionality. This board is particularly well-suited for hobbyists and professionals who want to build projects with graphical user interfaces, such as weather stations, smart home controllers, or portable diagnostic tools, where a compact, all-in-one solution is desired. The capacitive touch screen adds a layer of interactivity that is often missing in basic microcontroller boards.

The history of LilyGO's T-Display line shows a commitment to integrating displays with ESP32 microcontrollers. The T-Display-S3 builds upon this legacy, offering a more modern and powerful platform. It caters to makers who need more than just blinking LEDs and serial output, providing a direct path to creating visually appealing and interactive embedded systems. Its integrated nature reduces the complexity of wiring and component selection, allowing users to focus more on software development and project logic.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCEspressif ESP32-S3-WROOM-1-N4 (or similar variant)
ArchitectureDual-core Tensilica LX7
Clock speedUp to 240 MHz
Flash / Storage4MB onboard SPI Flash (typical)
RAM / SRAM512KB SRAM (internal) + 16MB PSRAM (external, typical)
Operating voltage3.3V
Digital I/O pinsApproximately 21 usable GPIOs (some shared with peripherals)
Analog / ADCUp to 14 ADC channels (shared with GPIO)
PWMUp to 16 PWM channels
ConnectivityWi-Fi 802.11 b/g/n (2.4 GHz), Bluetooth 5 (LE)
USBUSB Type-C (for power and programming/UART)
Power input5V via USB-C or VIN pin
Dimensions89.5mm x 53.5mm (approximate)

Pinout & pin functions

PinFunction
3V33.3V Power Output
GNDGround
VIN5V Power Input
IO0Boot Mode Select (low during reset to enter bootloader)
IO1UART1 TX (default)
IO2ADC1_CH2
IO3ADC1_CH3
IO4ADC1_CH4
IO5ADC1_CH5
IO6SPI0/1 CS0
IO7SPI0/1 MISO
IO8SPI0/1 MOSI
IO9SPI0/1 SCK
IO10ADC1_CH10
IO11ADC1_CH11
IO12ADC1_CH12
IO13ADC1_CH13
IO14ADC1_CH14
IO15ADC1_CH15
IO16SPI2 SCK
IO17SPI2 MISO
IO18SPI2 MOSI
IO19SPI2 CS0
IO20I2C SDA
IO21I2C SCL
IO31General purpose I/O
IO32General purpose I/O
IO33General purpose I/O
IO34General purpose I/O
IO35General purpose I/O
IO36General purpose I/O
IO37General purpose I/O
IO38General purpose I/O
IO39General purpose I/O
USB_D-USB Data -
USB_D+USB Data +

Wiring & circuit basics

Powering the T-Display-S3 is straightforward. The board can be powered via the USB-C port, which typically supplies 5V. Alternatively, the VIN pin can be used to supply 5V directly. The onboard voltage regulator will step this down to the 3.3V required by the ESP32-S3 SoC and most peripherals. It's crucial to ensure your power source can provide sufficient current, especially when the display is active. A typical USB port can supply 500mA, while a dedicated 5V adapter can provide more. Avoid connecting external 5V sources directly to 3.3V pins, as this can damage the chip.

All GPIO pins on the T-Display-S3 operate at 3.3V logic levels. This means you must use level shifters or voltage dividers when interfacing with 5V components like some older sensors or modules. Connecting a 5V output directly to a 3.3V input pin can cause permanent damage. For example, to safely connect a 5V Arduino sensor's output to an ESP32-S3 input pin (e.g., IO2), you would use a voltage divider circuit consisting of two resistors (e.g., a 1k ohm and a 2k ohm resistor) to reduce the voltage to approximately 3.3V.

A simple example circuit is connecting an LED. Choose a standard LED and a current-limiting resistor (typically 220-330 ohms for a 3.3V system). Connect the LED's anode (longer leg) to a GPIO pin, such as IO10, and the cathode (shorter leg) to one end of the resistor. Connect the other end of the resistor to a GND pin. When the GPIO pin is set to HIGH (3.3V), current flows through the LED and resistor, illuminating the LED. This demonstrates basic digital output control.

Programming & getting started

The LilyGO T-Display-S3 is well-supported by several popular development environments. The Arduino IDE is a common choice, allowing you to leverage a vast ecosystem of libraries. You'll need to add the ESP32 board support package to your Arduino IDE. For MicroPython or CircuitPython, dedicated firmware can be flashed, enabling Python-based development which is excellent for rapid prototyping and projects involving complex data manipulation or AI libraries. PlatformIO, often used with VS Code, offers a robust alternative for managing projects and dependencies, especially for larger or more complex embedded applications. For the most control and access to low-level hardware features, Espressif's own ESP-IDF framework is the professional choice.

To upload your first program using the Arduino IDE: 1. Install the ESP32 board support package via the Boards Manager. 2. Select the correct board (e.g., 'ESP32 Dev Module' or a specific T-Display-S3 option if available). 3. Connect the T-Display-S3 to your computer via USB-C. 4. Choose the correct COM port for the board. 5. Load a simple sketch, like the 'Blink' example, modified to use a pin connected to an external LED or the onboard display's backlight control if applicable. 6. Click the 'Upload' button. The board will automatically enter bootloader mode for flashing. If not, you may need to hold the BOOT button (often IO0) while pressing and releasing the RESET button, then release BOOT.

Project ideas

Interactive Weather StationDisplay real-time weather data fetched via Wi-Fi onto the T-Display-S3's screen. Uses Wi-Fi, I2C for an optional external sensor (like BME280), and GPIOs for display control. Teaches network communication, sensor integration, and GUI design.
Smart Home DashboardCreate a control panel to manage smart home devices (e.g., lights, thermostats) via MQTT or a local API. Utilizes Wi-Fi, touch screen input, and potentially GPIOs for relay control. Teaches IoT protocols, touch interface programming, and state management.
Portable Game ConsoleDevelop a simple retro-style game (e.g., Snake, Tetris) playable on the integrated screen. Uses touch input, GPIOs for buttons (optional), and the display's framebuffer. Teaches game logic, graphics rendering, and user input handling.
Data Logger with VisualizerLog sensor readings (e.g., temperature, humidity, light) to SPIFFS or external storage and display graphs directly on the screen. Uses ADC, I2C, Wi-Fi for data upload, and the display. Teaches data storage, real-time plotting, and file system management.
Customizable Clock/CalendarBuild a smart clock with adjustable alarms, timers, and calendar integration, displaying information on the screen. Uses Wi-Fi for time synchronization (NTP), touch input for settings, and GPIOs for an optional RTC module. Teaches timekeeping, scheduling, and user configuration.
ESP32-S3 AI Inference DemoRun a simple machine learning model (e.g., keyword spotting, gesture recognition) using the ESP-IDF or a compatible framework, displaying results on the screen. Leverages the ESP32-S3's AI acceleration and the display. Teaches embedded AI concepts and model deployment.

Buying tips & gotchas

When purchasing the T-Display-S3, ensure you are buying from reputable vendors to avoid counterfeit or significantly modified versions, as there can be subtle variations in components like flash size or PSRAM. Always double-check the specific ESP32-S3 module variant if detailed specifications are critical for your project. Common pitfalls include misinterpreting the 3.3V logic level, leading to damaged components, or insufficient power supply current, causing erratic behavior. Accessories like external sensors (I2C, SPI), breadboards, jumper wires, and a reliable 5V power adapter are highly recommended for expanding project capabilities.