LilyGo T-Embed
by LilyGo
An ESP32-S3 development board designed for embedded applications, offering various interfaces and expansion options.

On this page
Pinout
11 pins| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | 44 | IO44U0RXDRX | strapping | i2c · uart | Grove IIC/UART connector data line (U0RXD); use as I2C or UART RX |
| 2 | 43 | IO43U0TXDTX | strapping | i2c · uart | Grove IIC/UART connector data line (U0TXD); use as I2C or UART TX |
| 3 | - | 3V3 | power | - | 3.3V output on the Grove IIC/UART connector |
| 4 | - | GND | ground | - | Ground on the Grove IIC/UART connector |
| 5 | 16 | SDAIO16 | safe | adc · i2c | 2x4 IDC GPIO header, secondary (bit-banged) I2C SDA |
| 6 | 17 | SCLIO17 | safe | adc · i2c | 2x4 IDC GPIO header, secondary (bit-banged) I2C SCL |
| 7 | 40 | IO40 | strapping | spi | 2x4 IDC GPIO header; shared with onboard microSD (SPI SCK) |
| 8 | 38 | IO38 | strapping | spi | 2x4 IDC GPIO header; shared with onboard microSD (SPI MISO) |
| 9 | 41 | IO41 | strapping | spi | 2x4 IDC GPIO header; shared with onboard microSD (SPI MOSI) |
| 10 | - | 3V3 | power | - | 3.3V output on the 2x4 IDC GPIO header |
| 11 | - | GND | ground | - | Ground on the 2x4 IDC GPIO header |
Start with these
2 pins with no boot or system involvementFreely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.
Fine - with a little care
sampled at boot or shared with debug/serial| Pin | Label | What to know | Role |
|---|---|---|---|
| IO44 | U0RXD (GPIO44) | Used for bootloader input (download mode via serial). If repurposed, you cannot use the default UART0 download mode for programming the chip. | Other |
| IO43 | U0TXD (GPIO43) | Used for bootloader output and UART console logs. If repurposed, you will lose the default serial output (and programming via UART0). | Other |
| IO40 | MTDO (GPIO40) | Default JTAG TDO output for debugging. Using it as GPIO will interfere with JTAG debugging functionality. | Other |
| IO41 | MTDI (GPIO41) | Default JTAG TDI input for debugging. Should be reserved for JTAG or left unused if JTAG is to remain available. | Other |
Only if you know the tricks
wired to flash or USB - expect a fight| Pin | Label | What to know | Role |
|---|---|---|---|
| IO38 | FSPIWP | On flash-equipped chips, this pin is tied to the flash’s WP# (or D3) line. It should be avoided for other use, as it’s needed for flash operations. | Flash |
Pinout notes Across 11 pins, the LilyGo T-Embed exposes 7 GPIO plus 3V3 and GND for power. Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO16 and SCL on…
Across 11 pins, the LilyGo T-Embed exposes 7 GPIO plus 3V3 and GND for power.
Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO16 and SCL on GPIO17, while TX/RX on GPIO43 and GPIO44 cover serial logging and flashing.
Beyond plain digital I/O you get 2 ADC-capable pins for sensors and battery monitoring.
4 of the exposed pins carry boot-time or system duties on the ESP32-S3 (IO44, IO43, IO40 and 1 more) - check the guidance above before wiring anything to them. SDA and SCL are free of any such role - the safest first picks.
Getting started
flash your first firmware in ~2 minutesBoard: Lilygo T Embed
USB CDC On Boot: Enabled
Flash Size: 16MB · DIO
Upload Speed: 921600
// blink
pinMode(16, OUTPUT);
digitalWrite(16, LOW); // on (often inverted)[env:lilygo_t_embed]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600esp32:
board: esp32-s3-devkitc-1
variant: lilygo_t_embed
framework:
type: esp-idf
# blink - GPIO16
output:
- platform: gpio
pin: 16
id: led_out
light:
- platform: binary
name: "LED"
output: led_outesptool.py --chip esp32s3 --port /dev/ttyACM0 \
write_flash 0x0 firmware.binSpecifications
ESP32-S3 · 95.4 × 36.4 mmAbout this board
Inside sits the ESP32-S3 - a dual-core Xtensa with vector extensions suited to AI workloads.
The $28.56 price tag is typical for an ESP32-S3 board.
Only 7 GPIO are broken out, where most ESP32-S3 boards manage about 21 - worth checking the pinout covers what you need.
Around the module: 8MB (OPI) PSRAM, an LCD 1.9" 170x320 display, a microSD slot, a microphone (Dual MEMS), a speaker (1W 8Ω), an amplifier (MAX98357A), an addressable RGB LED, a rotary encoder, battery charging via JST 1.25mm and Reset/Boot buttons.
It flashes over native USB - no serial-converter driver needed, which isn't a given among ESP32-S3 boards.
The LilyGo T-Embed is an ESP32-S3-based development board designed for versatile embedded applications. With an integrated 1.9-inch IPS LCD (non-touch) and a rotary encoder, it is perfect for UI-based projects.
Featuring WiFi 802.11 b/g/n and Bluetooth 5 (LE), the T-Embed allows seamless wireless connectivity for IoT and automation applications.
Equipped with 8MB PSRAM and 16MB Flash, it is capable of handling complex processing tasks efficiently.
Where to buy
prices are typical street prices
Resources
Similar boards




