Skip to content

T-Deck get it now

Overview

LILYGO T-Deck is a highly integrated multi-functional embedded development platform based on the ESP32-S3 main control chip. It integrates a 2.8-inch ST7789 LCD (320 × 240), trackball navigation module, physical keyboard (I²C), TF card storage, LoRa SX1262 wireless module, and ES7210 microphone array. Suitable for IoT terminals, portable interactive devices, and low-power wireless communication projects.

Notes:

  1. T-Deck-Plus has allocated the Grove interface pins for GPS module use — the Grove interface on T-Deck-Plus cannot be used as a general-purpose interface.
  2. T-Deck updated the TFT_eSPI ST7789 initialization sequence on 2024-07-26. If you encounter incorrect screen display, check that the initialization sequence in the repo matches.

Quick Start

Example Support

ExamplePlatformIO/ArduinoESP-IDFDescription
T-Deck ExamplesKeyboard, Microphone, GPS, Touchpad, Unit Test

Available examples:

├─Keyboard_ESP32C3       # ESP32C3 keyboard I2C slave
├─Keyboard_T_Deck_Master # T-Deck read from keyboard
├─Microphone             # Noise detection
├─Touchpad               # Read touch coordinates
├─GPSShield              # GPS Shield example
└─UnitTest               # Factory hardware unit testing

If microphone is enabled, the middle trackball button (GPIO0) is not available.

PlatformIO

  1. Install Visual Studio Code and Python
  2. Search for and install the PlatformIO IDE extension in VS Code
  3. After restarting VS Code, click FileOpen Folder → select the T-Deck directory
  4. Open platformio.ini, uncomment the example you want to use (only one active at a time)
  5. Click to compile, connect via USB, click to upload

Arduino

  1. Install Arduino IDE
  2. Copy all folders from T-Deck/lib to your Arduino libraries folder
  3. In ToolsBoard, configure:
Arduino IDE SettingValue
BoardESP32S3 Dev Module
USB CDC On BootEnable
CPU Frequency240 MHz
USB DFU On BootDisable
Flash ModeQIO 80 MHz
Flash Size16MB(128Mb)
USB Firmware MSC On BootDisable
PSRAMOPI PSRAM
Partition Scheme16M Flash(3MB APP/9.9MB FATFS)
USB ModeHardware CDC and JTAG
Upload ModeUART0/Hardware CDC
Upload Speed921600
  1. Click Upload. If upload fails, hold the BOOT button (trackball center), insert USB, then click Upload. After upload, click RST to exit download mode.

The ESP32C3 programming interface is the 6-pin header near the RST button (top to bottom: 3V3, GND, RST, BOOT, RX, TX).

Development Platforms

  1. Visual Studio Code
  2. Arduino IDE
  3. PlatformIO
  4. MicroPython

Video

Key Features

  • ESP32-S3FN16R8 dual-core LX7 @ 240 MHz, Wi-Fi + Bluetooth 5.0 LE
  • SX1262 LoRa (433–915 MHz, optional)
  • MIA-M10Q GNSS module
  • 2.8-inch ST7789 LCD (320 × 240), no touch — trackball navigation
  • Physical keyboard (I²C communication)
  • ES7210 audio codec + MSM381A3729H9CP microphone array
  • 2000 mAh lithium polymer battery
  • 16 MB Flash + 8 MB PSRAM + TF card slot

Product Parameters

FeatureSpecification
MCUESP32-S3FN16R8 @ Dual-core LX7, 240 MHz
Flash16 MB
PSRAM8 MB
Wi-Fi2.4 GHz 802.11 b/g/n
BluetoothBluetooth 5.0 LE
LoRaSX1262, 433–915 MHz (optional)
GPSMIA-M10Q GNSS
Display2.8-inch ST7789 LCD, 320 × 240
InputTrackball + physical keyboard (I²C)
AudioES7210 codec + microphone array
Battery2000 mAh lithium polymer
StorageTF card expansion
USB1 × Type-C
Dimensions100 × 68 × 11 mm

Pin Diagram

T-Deck pin diagram

Pin Mapping

SignalGPIO
Power Enable10
I2S WS5
I2S BCK7
I2S DOUT6
I2C SDA18
I2C SCL8
Battery ADC4
Touch INT16
Keyboard INT46
SD CS39
TFT CS12
LoRa CS9
TFT DC11
TFT Backlight42
SPI MOSI41
SPI MISO38
SPI SCK40
Trackball G013
Trackball G022
Trackball G0315
Trackball G041
ES7210 MCLK48
ES7210 LRCK21
ES7210 SCK47
ES7210 DIN14
LoRa BUSY13
LoRa RST17
LoRa DIO145
BOOT0
GPS TX43
GPS RX44

Dimension Diagram

Schematic

Datasheet

Software Development

Dependent Libraries

FAQ

  • Q. Still don't know how to set up the programming environment? A. Refer to the LilyGo-Document for additional setup instructions.

  • Q. Arduino IDE prompts to upgrade library files — should I? A. Do not upgrade. Different library versions may be incompatible; stay with the versions in the lib directory.

  • Q. Does T-Deck have a touch screen? A. No. T-Deck uses a trackball navigation module instead of a touch screen.

  • Q. Upload keeps failing? A. Hold the trackball center button (BOOT), then insert USB, then click Upload. After completion, press RST to exit download mode.

Version History

VersionRelease DateUpdate Description
V1.0Initial release