LILYGO T-Display S3

LILYGO T-Display S3 — ESP32-S3 development board

The LILYGO T-Display S3 integrates a 1.9-inch ST7789 LCD with capacitive touch directly onto an ESP32-S3 board with 16MB flash, 8MB PSRAM, and USB-C. It is the only ESP32-S3 board with a built-in display, eliminating the need for separate screen modules and reducing wiring complexity for UI-driven projects.

★★★★☆ 4.1/5.0

Best for projects needing a built-in display, skip if you need maximum GPIO availability or no display at all.

Best for: portable instruments with displaystatus dashboardsUI prototypingcrypto price tickers
Not for: headless IoT sensorsultra-low-power deploymentsprojects needing many GPIO pins

Where to Buy

Check Price on Amazon (paid link) Check Price on AliExpress (paid link)

Pros

  • 1.9-inch 170x320 ST7789 LCD with capacitive touch — no separate display module needed
  • 16MB flash and 8MB PSRAM — matches the highest-spec boards in the lineup
  • USB-C with OTG for native USB functionality
  • LiPo battery charging built in for portable display projects

Cons

  • Only 14 GPIO pins available after display consumes its share of the ESP32-S3's pins
  • Display draws significant power — not ideal for ultra-low-power battery applications
  • Larger footprint (65x25.4mm) than boards without a display
  • LILYGO's documentation is less comprehensive than Espressif's or Adafruit's

The Integrated Display Advantage

The 1.9-inch ST7789 LCD runs at 170x320 pixel resolution with 16-bit color (65K colors) and a 60Hz refresh rate. The display connects via SPI to the ESP32-S3, consuming several GPIO pins that would otherwise be available for user peripherals. This trade-off is worthwhile if your project needs a display — you save the cost ($8-15), size, and wiring complexity of a separate screen module, plus LILYGO has already handled the level shifting, backlight driver, and connector that trip up first-time display integrators.

Capacitive touch adds finger-driven interaction without physical buttons. The CST816S touch controller communicates via I2C, using two additional pins. For status dashboards, instrument readouts, or simple menus, the built-in touch display eliminates weeks of display integration work. Touch response is smooth enough for swipe gestures and tap targets, though the 170-pixel width means UI elements need to be large enough for finger accuracy — plan for touch targets of at least 40x40 pixels.

The display's 170x320 resolution sits in a practical sweet spot for embedded UIs. It is large enough to show 4-5 lines of readable text, a small chart, or a dashboard with 3-4 data widgets. It is small enough to keep power consumption reasonable and the board physically compact. Compared to LILYGO's T-Display S3 AMOLED variant (which offers a vibrant AMOLED panel at higher cost), the standard ST7789 LCD provides better sunlight readability and costs significantly less — the AMOLED is prettier indoors, but the LCD is more practical for instruments and dashboards that may be used near windows or outdoors.

Processing Power and Memory for Graphics

The T-Display S3 runs the same ESP32-S3R8 chip as the XIAO and Thing Plus, with dual-core Xtensa LX7 at 240MHz and 8MB PSRAM. The 16MB flash matches the Thing Plus as the highest in the lineup, providing ample space for firmware, display assets (fonts, images, icons), and OTA update partitions. With a typical LVGL-based UI project consuming 1-2MB of flash for fonts and assets, 16MB leaves generous room for complex interfaces with multiple screens.

The 8MB PSRAM is where the T-Display S3 truly shines for graphics work. A full 170x320 RGB565 framebuffer takes approximately 109KB. With PSRAM, you can double-buffer for smooth animations — one buffer renders while the other displays, eliminating the tearing artifacts that plague single-buffered setups. Beyond framebuffers, PSRAM stores decoded JPEG images, font glyph caches, and application data simultaneously. A typical LVGL dashboard with 3 screens, custom fonts, and smooth transitions uses about 500KB of RAM total — trivially handled by 8MB PSRAM but impossible on boards with only 512KB of internal SRAM.

The dual-core architecture helps display-driven applications stay responsive. One core handles WiFi and network operations (fetching API data, MQTT subscriptions, NTP time sync), while the other drives the display pipeline (LVGL tick processing, touch input handling, screen rendering). Without dual cores, heavy WiFi operations cause visible display stutter — a common complaint on single-core ESP32-C3 boards driving displays.

Power and Portability

The built-in LiPo charger supports portable operation via a JST connector, but the backlit LCD draws significantly more power than a headless board. Expect 40-80mA with the display active at moderate brightness, compared to 5-20mA for WiFi operations alone on a displayless board. At full brightness, the backlight alone pulls approximately 30mA. The backlight is PWM-controllable, so dimming to 50% roughly halves that draw — a meaningful optimization for battery-powered projects.

For wall-powered applications like a kitchen dashboard, desk clock, or workshop air quality monitor, power consumption is irrelevant — plug in USB-C and forget it. For battery-powered portable instruments, budget for a 1000mAh+ LiPo and expect 4-8 hours of continuous display use at moderate brightness. A 2000mAh LiPo extends this to 8-16 hours, which covers a full workday for a portable environmental monitor or a conference badge.

Deep sleep with display off drops to approximately 15μA, enabling wake-on-timer or wake-on-touch designs. A practical pattern for battery life: deep sleep for 5 minutes, wake, read sensor, update display for 10 seconds, return to deep sleep. At this duty cycle, a 1000mAh LiPo lasts weeks. The touch controller can generate a wake interrupt, so tapping the screen brings the device back without a physical button — a clean UX for portable instruments where the display is off most of the time.

T-Display S3 vs Separate Board + Display

The fundamental question is whether to buy an integrated display board or wire your own. Buying a bare ESP32-S3-DevKitC ($8) plus a separate 1.8-inch SPI TFT display module ($6) costs slightly less than the T-Display S3 and gives you 30+ more GPIO pins. The trade-off is integration effort: you need to wire 7-9 jumper cables (MOSI, MISO, SCK, CS, DC, RST, BL, plus touch SDA/SCL), configure the correct pin mappings in your display library, and debug the inevitable first-time wiring mistakes.

The T-Display S3 eliminates all of that. Power on, install LVGL or TFT_eSPI with the LILYGO preset, and you have pixels on screen in under 10 minutes. For prototyping and one-off projects, this speed matters more than the GPIO you give up. For production designs where you need specific display sizes, GPIO counts, or custom form factors, the separate-component approach provides more flexibility.

Another option in LILYGO's lineup is the T-Display S3 AMOLED, which upgrades to a 1.91-inch AMOLED panel with deeper blacks and more vivid colors. The AMOLED variant costs about 40% more and draws slightly less power at low brightness (AMOLED pixels that are black draw zero power), but more power at full white. For dashboard UIs with dark backgrounds, the AMOLED is more power-efficient and visually striking. For applications with mostly white or bright screens (text-heavy readouts, light-mode UIs), the standard LCD is more efficient and cheaper.

Full Specifications

Processor

Specification Value
Architecture Xtensa LX7 [1]
CPU Cores 2 [1]
Clock Speed 240 MHz [1]

Memory

Specification Value
Flash 16 MB [1]
SRAM 512 KB [1]
PSRAM 8 MB [1]

Connectivity

Specification Value
WiFi 802.11 b/g/n [1]
Bluetooth 5.0 [1]

I/O & Interfaces

Specification Value
Display 1.9" ST7789 LCD (170x320) [2]
Touch Capacitive touch [2]
GPIO Pins 14 [2]
ADC Channels 6 [2]
SPI 2 [2]
I2C 1 [2]
UART 1 [2]
USB USB-C (OTG) [2]

Power

Specification Value
Input Voltage 5 V [1]
Deep Sleep Current ~15 uA [1]
Battery Charging Single-cell LiPo charger [1]

Physical

Specification Value
Dimensions 65 x 25.4 mm [2]
Form Factor Custom (with LCD) [2]

Who Should Buy This

Buy Portable CO2 or air quality monitor with readout

The built-in 170x320 LCD displays readings without an external screen. Capacitive touch provides button-free UI. Battery charging for portable use. I2C connects to air quality sensors.

Buy Smart home wall panel

The 1.9-inch touch display shows room temperature, lights, and controls. WiFi and BLE 5.0 communicate with smart home devices. Powered by USB from a wall adapter.

Buy Crypto price ticker or desk widget

The color LCD is perfect for real-time data display. WiFi pulls price feeds, weather, or calendar data. LVGL renders polished widgets with smooth animations. LiPo charging makes it portable for desk-to-desk moves.

Skip Headless temperature sensor

The display adds cost, size, and power draw you will never use. The ESP32-C3-DevKitM is a fraction of the size and cost for headless sensors.

Better alternative: ESP32-C3-DevKitM-1

Consider Multi-sensor data logger

The display is useful for showing current readings, but only 14 GPIO pins are available. The Thing Plus ESP32-S3 has more GPIO, SD card, and Qwiic without a display.

Better alternative: SparkFun Thing Plus - ESP32-S3

Consider Custom game console or handheld emulator

The 170x320 touch LCD and ESP32-S3's processing power can run simple games and emulators. However, the screen is small for gaming, there are no physical buttons, and the ESP32-S3 cannot emulate anything beyond 8-bit systems. For a serious handheld, a Raspberry Pi Zero 2 W with a larger screen is more capable.

Better alternative: Raspberry Pi Zero 2 W

Ecosystem & Community

The T-Display S3 has an active community of display-project builders on GitHub, with extensive LVGL and TFT_eSPI support for creating custom dashboards and UIs.

Primary Framework Arduino-ESP32 16,644 GitHub stars
Reddit Community r/r/esp32 94K members
Community Projects 100+ on GitHub
Accessories 50+ compatible add-ons

Compatible Software

LVGL 18K ★ ESP-IDF 14K ★ TFT_eSPI 4K ★

What to Build First

Custom Info Dashboard (Crypto/Weather/Notifications)intermediate · 2 hours

Build a desk widget that displays real-time data — crypto prices, weather, calendar events, or system stats — on the built-in 1.9-inch color LCD. Touch interaction switches between data screens without any buttons.

View tutorial →

Must-Have Accessories

3D Printed Desktop Stand/Case~$10Enclosure that angles the T-Display S3 for desk viewing — many free STL files available on Printables
Check price
3.7V 1000mAh LiPo Battery~$9Provides 4-8 hours of portable display operation using the built-in LiPo charging circuit
Check price
BME280 I2C Sensor Module~$6Temperature/humidity/pressure sensor to display environmental data on the built-in screen
Check price

Video Reviews & Tutorials

Tutorials & Resources

Frequently Asked Questions

What display library should I use with the T-Display S3?

TFT_eSPI is the most popular library and has specific configuration presets for the T-Display S3. LVGL (Light and Versatile Graphics Library) is recommended for complex UIs with widgets, animations, and touch handling. For simple text and shapes, TFT_eSPI alone is sufficient.

Can I turn off the display to save power?

Yes. You can control the backlight brightness via PWM and put the ST7789 into sleep mode. With the display off and the ESP32-S3 in deep sleep, current drops to approximately 15μA. The touch controller can generate a wake interrupt, so tapping the screen powers everything back on.

T-Display S3 vs buying a separate ESP32-S3 and display?

The T-Display saves you the cost and complexity of sourcing, wiring, and mounting a separate display module. The trade-off is fewer available GPIO pins (14 vs 45 on the DevKitC) and a fixed display size. For prototyping, the integrated approach is faster. For production with custom requirements, separate components give more flexibility.

Does the T-Display S3 work with LVGL?

Yes. LVGL is the recommended UI framework for complex interfaces. Espressif's ESP-IDF includes LVGL integration, and there are Arduino libraries available. The 8MB PSRAM provides ample memory for LVGL's frame buffers and widget objects.

Can I use the T-Display S3 for a camera project?

The ESP32-S3 chip supports cameras, but the T-Display S3 does not break out DVP camera pins — they are used by the display. For a camera with display, you would need to use SPI for the camera on remaining pins, which limits frame rate. The XIAO ESP32S3 Sense with a separate SPI display is a better camera approach.

How does the standard LCD compare to the AMOLED variant?

The AMOLED variant has deeper blacks, more vivid colors, and better power efficiency with dark UIs (black pixels draw zero power). The standard LCD is cheaper, has better sunlight readability, and draws less power with bright/white UIs. For most dashboard and instrument projects, the standard LCD is the practical choice.

What LiPo battery size fits the T-Display S3?

Any 3.7V LiPo with a JST-PH 2.0 connector works. A 1000mAh cell gives 4-8 hours of active display use. A 2000mAh cell doubles that. The board charges the battery via USB-C at up to 500mA. Physical size depends on your enclosure — the board itself is 65x25.4mm.

Related Products