LilyGo T-Deck

A compact device featuring a 2.8-inch IPS LCD touch screen, mini keyboard, and ESP32-S3 processor, suitable for portable applications.

USB-C Native USB
LilyGo T-Deck board
100 × 68 mm
ESP32-S3
MCU
240MHz
clock
16MB
flash
512KB
SRAM
2· Two 12-bit, 20 Channels ADC
GPIO
BLE 5.0+ WiFi
radio
On this page

LilyGo T-Deck Pinout

4 pins
LilyGo T-Deck pinout diagram
PinGPIOLabelsStatusCapabilitiesNotes
1-3V3VCCpower-Grove HY2.0-4P I2C connector - 3.3V supply
2-GNDground-Grove HY2.0-4P I2C connector - ground
318SDAIO18GPIO18safei2cGrove I2C SDA - shared bus with GT911 touch and keyboard MCU (0x55)
48SCLIO8GPIO8safei2cGrove I2C SCL - shared bus with GT911 touch and keyboard MCU (0x55)
2 GPIOs broken out 2 free · 0 need care · 0 to avoid

Start with these

2 pins with no boot or system involvement
SDAGPIO18SCLGPIO8

Freely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.

These are recommendations, not hard rules - with the right pull-ups, timing and boot-state awareness most pins can be made to work. When in doubt, start green.

The LilyGo T-Deck pinout brings out 4 pins - 2 usable GPIO alongside the 3V3 and GND power rails.

Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO18 and SCL on GPIO8.

SDA and SCL are free of any such role - the safest first picks.

Pinout notes The LilyGo T-Deck is a highly-integrated handheld: almost every ESP32-S3 GPIO is committed on-board to the ST7789 display, GT911 touch, SX1262 LoRa, microSD,…

The LilyGo T-Deck is a highly-integrated handheld: almost every ESP32-S3 GPIO is committed on-board to the ST7789 display, GT911 touch, SX1262 LoRa, microSD, trackball, I2S speaker amp and the QWERTY keyboard MCU. As a result it exposes essentially one user-wirable connector rather than a broad GPIO header.

The single Grove HY2.0-4P I²C connector breaks out the shared I²C bus - SDA on GPIO18 and SCL on GPIO8 - plus 3V3 and GND. This is the same bus used internally by the touch panel and the keyboard controller (address 0x55).

Getting started

flash your first firmware in ~2 minutes
Tool:
1
Connect over USB
Native USB - shows up as a port right away, no driver needed. Not detected? Hold BOOT while plugging in.
2
Match & flash
Set the Tools options shown, then click Upload.
3
Verify it runs
GPIO18 toggles - wire an LED and resistor to it, or change the pin to your board's own LED.
Set these in Tools · leave everything else at default
Arduino IDE 2.x - Tools Copy
Board: "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)" (default)
Upload Speed: "921600"
▸ every other Tools option - leave at default
Board: 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
Find it: Tools ▸ Board ▸ ESP32 Arduino ▸ ESP32S3 Dev Module
blink.ino Copy
// toggle GPIO18 - wire an LED and resistor to it
void setup() {
  pinMode(18, OUTPUT);
}
void loop() {
  digitalWrite(18, HIGH); delay(500);
  digitalWrite(18, LOW);  delay(500);
}
board to selectesp32-s3-devkitc-1⧉ copy
platformio.ini Copy
[env:lilygo_t_deck]
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_PSRAM
Find it: PlatformIO Home ▸ Boards, search esp32-s3-devkitc-1 - or type it after board =.
board to selectesp32-s3-devkitc-1⧉ copy
device.yaml Copy
esp32:
  board: esp32-s3-devkitc-1
  variant: esp32s3
  framework:
    type: esp-idf
psram:
  mode: octal
  speed: 80MHz

# blink - GPIO18
output:
  - platform: gpio
    pin: 18
    id: led_out
light:
  - platform: binary
    name: "LED"
    output: led_out
Find it: search ESPHome's board list for esp32-s3-devkitc-1 (same ids as PlatformIO).
esptool doesn't pick board settings - a prebuilt .bin already has them baked in. This is just the raw flash command.
terminal Copy
esptool.py --chip esp32s3 --port /dev/ttyACM0 \
  --baud 921600 write_flash 0x0 firmware.bin
--port = your /dev/tty* (macOS/Linux) or COMx (Windows).
Build details: sketch space 3145728 B · data 327680 B · DIO

Specifications

ESP32-S3 · 100 × 68 mm · vs other ESP32 chips →
Compute
MCU
ESP32-S3
Clock
240 MHz
SRAM · Flash
512 KB · 16MB · 8MB (OPI) PSRAM
Radio
Wi-Fi
802.11 b/g/n
Bluetooth
5.0 LE
Antenna
PCB
I/O
GPIO · ADC
2 · Two 12-bit, 20 Channels
UART · I²C · SPI
3 · 2 · 2
PWM
8 channels
Power
USB
USB-C
Serial
Native (CDC)
Boot address
0x0
Electrical
Input
5V USB / 3.7V LiPo
Consumption
-
Regulator
-
Display
Screen
IPS LCD · 2.8" · 320x240
Driver
ST7789
Touch
GT911
Flashing
Upload · OTA
esptool_py · esp_ota
Flash · Boot mode
DIO · QIO
Sketch · Data
3 MB · 320 KB

Dimensions

68 mm100 mm
100 × 68 mm
The LilyGo T-Deck uses esptool_py for firmware uploads, esp_ota for over-the-air (OTA) updates. Flash mode is DIO with QIO boot mode. The maximum sketch size is 3 MB with 320 KB available for data.

About this board

Inside sits the ESP32-S3 - a dual-core Xtensa with vector extensions suited to AI workloads.

At $60.00 it's on the expensive side for an ESP32-S3 board - most land around $29.

Only 2 GPIO are left for your own hardware - the display and onboard peripherals claim the rest.

Around the module: 8MB (OPI) PSRAM, an IPS LCD 2.8" 320x240 display with touch, a microSD slot, LoRa (SX1262), a microphone, a speaker and battery charging via JST 1.25.

It flashes over native USB - no serial-converter driver needed, which isn't a given among ESP32-S3 boards.


The LilyGo T-Deck is a versatile development device featuring an ESP32-S3FN16R8 dual-core processor with integrated Wi-Fi and Bluetooth 5 (LE). It boasts a 2.8-inch IPS LCD (320x240) touch screen, a mini keyboard, and a trackball, making it ideal for portable applications.

With support for LoRa transceiver (SX1262) at various frequencies (433/868/915 MHz), it enables long-range communication for IoT projects. The device comes with 16MB Flash and 8MB PSRAM, providing ample memory for complex applications.

Additional features include a microphone, speaker, and optional GPS module, enhancing its functionality for diverse use cases.

  • BlackBerry-style backlit QWERTY keyboard (managed by an onboard ESP32-C3 over I2C)
  • Trackball navigation module
  • LoRa SX1262 selectable 433 / 868 / 915 MHz, +22 dBm, u.FL antenna
  • Optional GPS module (standard on the T-Deck Plus variant)
  • Grove HY2.0-4P I2C expansion connector

Where to buy

prices are typical street prices
LilyGo T-Deck
LilyGo T-Deck
$60.00per unit, typical
As an Amazon Associate, ESPboards earns from qualifying purchases.

Resources

Similar boards