Skip to content

T-Deck Pro get it now

Overview

LILYGO T-Deck Pro is a highly integrated multi-functional development platform based on ESP32-S3, supporting 4G LTE (A7682E, optional) and LoRa SX1262 long-range wireless transmission. It features a 3.1-inch e-paper display (320 × 240) with touch (CST328), a TCA8418 mechanical keyboard, BHI260AP AI IMU gyroscope, MIA-M10Q GPS, LTR_553ALS ambient light sensor, and BQ25896/BQ27220 battery management. Version 1 is equipped with the PCM512A audio module; Version 2 replaces it with the A7682E 4G module.

Suitable for IoT, outdoor devices, smart terminals, environmental monitoring, and portable industrial control applications.

Important: Different hardware versions have incompatible code. Confirm your hardware version and use the corresponding git branch.

Quick Start

Example Support

ExamplePlatformIO/ArduinoESP-IDFDescription
T-Deck-Pro ExamplesLoRa, GPS, EPD, 4G, Sensor examples
├─boards    # Board configuration for platformio.ini
├─docs      # Documents
├─data      # Picture resources
├─example   # Example sketches
├─firmware  # Factory compiled firmware
├─hardware  # Schematic, chip datasheets
└─lib       # Project libraries

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, open the T-Deck-Pro project folder
  4. PlatformIO will automatically download required dependencies (first run may take a while)
  5. Open platformio.ini, uncomment an example to select it, then press Ctrl+S to save
  6. Click to compile, connect via USB, click to upload

Arduino

  1. Install Arduino IDE
  2. In Boards Manager, find and install esp32 by Espressif Systems
  3. Copy all library folders from the project libraries directory to your Arduino Sketchbook libraries folder
  4. Open the example .ino file
  5. In ToolsBoard, configure:
Arduino IDE SettingValue
BoardESP32S3 Dev Module
Upload Speed921600
USB ModeHardware CDC and JTAG
USB CDC On BootEnabled
USB Firmware MSC On BootDisabled
USB DFU On BootDisabled
CPU Frequency240 MHz (WiFi)
Flash ModeQIO 80 MHz
Flash Size16MB(128Mb)
Core Debug LevelNone
Partition Scheme16M Flash(3MB APP/9.9MB FATFS)
PSRAMOPI PSRAM
Arduino Runs OnCore 1
Events Run OnCore 1
  1. Select the correct port and click Upload

Development Platforms

  1. Visual Studio Code
  2. Arduino IDE
  3. ESP-IDF
  4. PlatformIO

Video

Key Features

  • ESP32-S3FN16R8 dual-core LX7 @ 240 MHz, Wi-Fi + Bluetooth 5.0 LE
  • SX1262 LoRa (433–920 MHz)
  • A7682E 4G LTE Cat 1 module (optional, V2)
  • 3.1-inch GDEQ031T10 e-paper display (320 × 240) with CST328 touch
  • TCA8418 mechanical keyboard controller
  • BHI260AP AI IMU (self-learning 6-axis)
  • MIA-M10Q GNSS module
  • LTR_553ALS ambient light + proximity sensor
  • BQ25896 charger + BQ27220 fuel gauge
  • 3.7 V 1500 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–920 MHz
4G ModuleA7682E LTE Cat 1 (optional, V2)
GPSMIA-M10Q GNSS
Display3.1-inch GDEQ031T10 E-Paper, 320 × 240
TouchCST328 (I2C, addr 0x1A)
KeyboardTCA8418 (I2C, addr 0x34)
IMUBHI260AP AI IMU (I2C, addr 0x28)
Light SensorLTR_553ALS (I2C, addr 0x23)
Battery ManagementBQ25896 (0x6B) + BQ27220 (0x55)
AudioPCM512A (V1)
Battery3.7 V, 1500 mAh
USB Input5 V / 500 mA (Type-C)
StorageTF card slot
Dimensions120 × 66 × 13.5 mm

A7682E 4G Module (V2)

SpecValue
Frequency BandsLTE-FDD B1/B3/B5/B7/B8/B20, GSM/GPRS/EDGE 900/1800 MHz
LTE Cat 1Downlink 10 Mbps / Uplink 5 Mbps
GPRSUp to 85.6 Kbps
Supply Voltage3.4–4.2 V
ProtocolsTCP/IP, IPv4/IPv6, HTTP/HTTPS, FTP/FTPS, DNS, SSL
OtherVoice calls, SMS, FOTA, RNDIS/PPP/ECM

Pin Diagram

Pin Mapping

SignalGPIO
I2C SDA13
I2C SCL14
Keyboard INT15
Keyboard LED42
Touch INT12
Touch RST45
ALS INT16
Gyroscope INT21
SPI SCK36
SPI MOSI33
SPI MISO47
EPD DC35
EPD CS34
EPD BUSY37
SD CS48
LoRa CS3
LoRa BUSY6
LoRa RST4
LoRa INT5
GPS RXD44
GPS TXD43
GPS PPS1
A7682E RI7
A7682E ITR8
A7682E RST9
A7682E RXD10
A7682E TXD11
A7682E PWRKEY40
I2S BCLK (PCM, V1)7
I2S DOUT (PCM, V1)8
I2S LRC (PCM, V1)9
MIC DATA17
MIC CLOCK18
Motor2
BOOT0
GPS EN39
1V8 EN38
4G EN41
LoRa EN46

Dimension Diagram

Schematic

Datasheet

Software Development

Dependent Libraries

zinggjm/GxEPD2@1.5.5
jgromes/RadioLib@6.4.2
lewisxhe/SensorLib@^0.2.0
mikalhart/TinyGPSPlus@^1.0.3
vshymanskyy/TinyGSM@^0.12.0
lvgl/lvgl@~8.3.9
lewisxhe/XPowersLib@^0.2.4
adafruit/Adafruit TCA8418@^1.0.1
adafruit/Adafruit BusIO@^1.14.4
olikraus/U8g2_for_Adafruit_GFX@^1.8.0
adafruit/Adafruit GFX Library@^1.11.10
esphome/ESP32-audioI2S#v3.0.12

FAQ

  • Q. Which code/branch should I use? A. Different hardware versions have incompatible code. Check your version (V1.0, V1.1, or MAX V1.0) and use the corresponding git branch listed in the Version History table.

  • Q. Ghosting appears on the e-paper display? A. After 5 consecutive fast/partial refreshes, a full refresh must be performed to eliminate ghosting accumulation.

  • Q. Cannot flash the program? A. Hold the BOOT button and try uploading again.

  • Q. Arduino IDE prompts to upgrade libraries? A. Do not upgrade. Stay with the library versions included in the project.

Version History

VersionGit BranchSchematicFirmwareStatus
T-Deck-Pro V1.0HD-V1-250326SCHV1Available
T-Deck-Pro V1.1HD-V2-250915SCHV2Available
T-Deck-Pro MAX V1.0HD-V3-250911SCHV3Not Available

E-Paper Screen Refresh Methods

Refresh TypeVisual PerformanceRecommendation
Full RefreshMultiple flashesBasic mode
Fast RefreshFlashes onceMax 5 consecutive, then full refresh
Partial RefreshNo flashingMax 5 consecutive, then full refresh

After 5 consecutive fast/partial refreshes, a full refresh is required to eliminate ghosting.