LilyGO · ESP32-S3 · 2.8" · 320×240
LilyGO T-Deck 2.8" specifications
The LilyGO T-Deck is a pocket computer rather than a display board: a 2.8-inch 320×240 IPS screen (ST7789) with touch, a mini QWERTY keyboard, a clickable trackball, a microphone and a speaker in a BlackBerry-style handheld.
It is powered by an ESP32-S3FN16R8 with 16 MB of flash and 8 MB of PSRAM. The keyboard is a separate T-Keyboard unit with its own ESP32-C3, talking to the main chip over I2C, and an optional Semtech SX1262 LoRa radio (433, 868 or 915 MHz, up to +22 dBm) turns the T-Deck into an off-grid messenger.
A Grove connector and a toggle power switch round it off; on the T-Deck Plus the Grove port is taken by a built-in GPS module. With keyboard, trackball and touch together, it is ideal for text entry, menus and chat-style interfaces.
- Screen
- 2.8" · 320×240
- Chip
- ESP32-S3
- Memory
- 16 MB flash, 8 MB PSRAM
- Input
- capacitive touch
Key features
- 2.8-inch IPS, 320×240, ST7789, with touch
- QWERTY keyboard (ESP32-C3, I2C) and trackball
- ESP32-S3FN16R8: 16 MB flash, 8 MB PSRAM
- Optional SX1262 LoRa, 433/868/915 MHz
- Microphone and speaker
- Grove port, USB-C, power switch
Specifications
| Manufacturer | LilyGO |
|---|---|
| Screen size | 2.8" |
| Resolution | 320×240 px |
| Colour depth | 16-bit |
| Display controller | ST7789 (SPI) |
| Display interface | SPI |
| Touch | GT911 (I2C) |
| Microcontroller | ESP32-S3 |
| Module | ESP32-S3FN16R8 |
| CPU clock | 240 MHz |
| Internal SRAM | 512 KB |
| PSRAM | 8 MB |
| Flash | 16 MB |
| Wi-Fi | Yes |
| Bluetooth | Yes |
| Display type | IPS, full viewing angle |
| Touch | Capacitive (GT911) |
| Keyboard | T-Keyboard with ESP32-C3, I2C |
| LoRa | SX1262 (optional), 433 / 868 / 915 MHz, +22 dBm |
| Audio | Microphone, speaker |
| Connectors | USB-C, Grove (HY2.0-4P) |
| Power | Toggle switch |
| Development platforms (manufacturer) | Arduino, PlatformIO, MicroPython |
GPIO pinout
The GPIOs the board itself uses — display, touch and on-board peripherals — as published in the manufacturer’s documentation.
| GPIO | Function |
|---|---|
| GPIO 0 | Trackball click |
| GPIO 1 | Trackball left |
| GPIO 2 | Trackball right |
| GPIO 3 | Trackball up |
| GPIO 4 | BAT_ADC (battery voltage) |
| GPIO 5 | I2S_WS (audio) |
| GPIO 6 | I2S_DOUT (audio) |
| GPIO 7 | I2S_BCK (audio) |
| GPIO 8 | I2C_SCL (GT911 touch + keyboard, shared bus) |
| GPIO 9 | LoRa radio CS |
| GPIO 10 | PERI_POWERON (peripheral power enable, must be driven HIGH at startup) |
| GPIO 11 | TFT_DC |
| GPIO 12 | TFT_CS |
| GPIO 13 | LoRa radio BUSY |
| GPIO 14 | ES7210 audio DIN |
| GPIO 15 | Trackball down |
| GPIO 16 | TOUCH_INT (GT911) |
| GPIO 17 | LoRa radio RST |
| GPIO 18 | I2C_SDA (GT911 touch + keyboard, shared bus) |
| GPIO 21 | ES7210 audio LRCK |
| GPIO 38 | SPI_MISO (display + SD, shared bus) |
| GPIO 39 | SD_CS |
| GPIO 40 | SPI_SCK (display + SD, shared bus) |
| GPIO 41 | SPI_MOSI (display + SD, shared bus) |
| GPIO 42 | Backlight (TFT_BL) |
| GPIO 45 | LoRa radio DIO1 |
| GPIO 46 | Keyboard INT |
| GPIO 47 | ES7210 audio SCK |
| GPIO 48 | ES7210 audio MCLK |
Source: github.com. Always check against your board revision before wiring.
Free GPIOs and connectors
These GPIOs are not used by the display, touch or on-board peripherals, so you can wire your own sensors, buttons or relays to them.
| Pin | Capabilities | Note |
|---|---|---|
| GPIO 19 | GPIO, USB_DM | USB D- |
| GPIO 20 | GPIO, USB_DP | USB D+ |
| GPIO 43/TX | GPIO, UART_TX | Grove connector (HY2.0-4P) — the GPS module uses it on the T-Deck Plus |
| GPIO 44/RX | GPIO, UART_RX | Grove connector (HY2.0-4P) — the GPS module uses it on the T-Deck Plus |
- Grove connector — GPIO 43, 44
On the T-Deck Plus this port is taken by the built-in GPS
Good to know before you start
- On the T-Deck Plus the Grove port (GPIO 43/44) is used by the GPS module and not available.
- When the microphone is in use, the GPIO 0 button is unavailable, according to LilyGO.
- Keyboard layouts vary between batches.
- Nearly every pin is used by keyboard, LoRa, audio and SD — plan expansion around the Grove port.
What it is good for
- •LoRa messengers and Meshtastic-style devices
- •Pocket terminals and text-entry tools
- •Handheld menu-driven controllers
- •Portable games and utilities
LVGL support in LCD Ultra Pro
| Driver status | Matched to the manufacturer’s official demo, compile-tested |
|---|---|
| Arduino export | Complete LVGL 8.4 project with the display driver |
| USB Live preview | No |
| Orientations | 0°, 90° |
| Brightness control | Hardware backlight dimming |
Pick this board in the editor and the canvas matches its exact resolution and shape. Build the interface with widgets, add events without code, try it in Live Preview, then export it as a ready-to-compile Arduino project. See the documentation for the workflow.
Frequently asked questions
Does the T-Deck have LoRa?
It can: the SX1262 LoRa module is optional, in 433, 868 or 915 MHz versions with up to +22 dBm.
How does the T-Deck keyboard connect?
It is a separate T-Keyboard unit with an ESP32-C3 that talks to the main ESP32-S3 over I2C.
What resolution is the T-Deck screen?
320×240 on a 2.8-inch IPS panel with an ST7789 controller.
What is different on the T-Deck Plus?
The Plus adds a built-in GPS, which uses the Grove port.
Sources
Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-27):
Last updated: