
LilyGo T-Beam is a development board based on the ESP32 microcontroller using XTENSA architecture.
This board features a maximum CPU frequency of 240 MHz and 16MB flash memory.
About LilyGo T-Beam
🚀 The LilyGo T-Beam is a feature-rich ESP32-based development board designed for LoRa and GPS applications. It integrates an ESP32 dual-core processor with WiFi and Bluetooth 5, providing seamless wireless connectivity. ⚡
📡 With an onboard LoRa transceiver (SX1262/SX1276), it enables long-range communication at frequencies 433/868/915 MHz. Additionally, the board includes a Ublox NEO-6M GPS module for precise geolocation.
💾 Equipped with 16MB Flash and 8MB PSRAM, along with a 18650 Li-ion battery holder for portable applications, the T-Beam is a powerful tool for IoT and tracking projects.
Where to Buy LilyGo T-Beam
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
Technical Specifications
Complete technical specification details for LilyGo T-Beam
Display
Connectivity
Microcontroller
✨ Features & Pins
Quick Setup
Copy-paste configs for LilyGo T-Beam - auto‑generated from this board's exact hardware specs.
In Arduino IDE 2 select Lilygo T Beam from the esp32 by Espressif package. In PlatformIO use board = esp32dev. ESP32 · 240 MHz · 16MB · DIO.
In Arduino IDE 2, open Boards Manager, search "esp32" by Espressif and install it. Then go to Tools → Board and select "Lilygo T Beam" for the LilyGo T-Beam.
[env:lilygo_t_beam]
platform = espressif32
board = esp32dev
framework = arduino
; Exact hardware config for LilyGo T-Beam
board_build.mcu = esp32
board_build.f_cpu = 240000000L
board_build.flash_size = 16MB
board_build.flash_mode = dio
board_upload.flash_size = 16MBThe board value is a close generic match - check PlatformIO board registry for an exact fit.
esp32:
board: esp32dev
framework:
type: arduino # or "esp-idf"
# LilyGo T-Beam - 240 MHz ESP32
# Flash: 16MB | USB: N/APaste into your device's .yaml. See ESPHome ESP32 docs for full options.
esptool.py \
--chip esp32 \
--baud 921600 \
write_flash \
--flash_mode dio \
--flash_size 16MB \
0x0 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.binInstall: pip install esptool - replace firmware.bin with your binary - bootloader at 0x0
LilyGo T-Beam Pinout Diagram
Complete pin reference for LilyGo T-Beam
The LilyGo T-Beam pinout provides multiple GPIOs and interfaces:
5V and 3.3V for power supply.
SDA and SCL for I2C, MISO, MOSI, SCK, and SS for SPI.
Dedicated LoRa and GPS module pins ensure seamless integration.
Safe Pins to Use
These pins are safe for general GPIO usage without boot or system conflicts
Why Are These Pins Safe?
Pins to Avoid or Use with Caution
Reserved for critical functions. Misuse may cause boot failures, programming issues, or system conflicts.
Boot behavior & flash voltage
Low-level debugging interface
USB Serial/JTAG communication
Memory & PSRAM connections
Debugging & firmware uploads
| PIN | Label | Why Avoid | Type |
|---|---|---|---|
| IO1 | U0TXD (GPIO1) | Connected to on-board USB-UART for uploading and logs; drives serial output at boot, so using as GPIO can disrupt programming or console. | 🔌 USB |
| IO2 | GPIO2 | If driven HIGH on reset (while IO0 is LOW), selects an unsupported SDIO boot mode, causing boot failure. | 🛠️ Strapping |
| IO3 | U0RXD (GPIO3) | Used for receiving data from USB-UART (programming); also pulled HIGH at boot for console communication, so using as GPIO can disrupt uploads. | 🔌 USB |
| IO10 | GPIO10 (Flash SD3) | Used by internal flash/PSRAM; typically not exposed on modules, avoid using as GPIO. | ⚡ Flash |
| IO11 | GPIO11 (Flash CMD) | Used by internal flash (chip select/command); not available for general use. | ⚡ Flash |
| IO12 | MTDI (GPIO12) | Keep LOW during boot (internal PD); pulling HIGH at reset selects 1.8V flash mode, causing flash brownout if 3.3V flash is used. | 🛠️ Strapping |
| IO13 | MTCK (GPIO13) | Used for JTAG debugging (TCK); avoid using as GPIO if JTAG is needed. | 🪛 Other |
| IO16 | GPIO16 | Connected to internal PSRAM on PSRAM-enabled modules; not usable as GPIO on those modules. | ⚡ Flash |
| IO17 | GPIO17 | Connected to internal PSRAM on PSRAM-enabled modules; not usable as GPIO on those modules. | ⚡ Flash |
| IO38 | GPIO38 (SENSOR_CAPN) | Cannot be used as output; only suitable for input. | 🪛 Other |
| IO39 | GPIO39 (SENSOR_VN) | Cannot be used as output; only suitable for input. | 🪛 Other |
Useful Links
Datasheets and resources for LilyGo T-Beam
LilyGo T-Beam Custom Pin Mapping
Pin configuration and GPIO mapping for LilyGo T-Beam
| Pin | Function | ESP Pin | I/O Type | Description |
|---|---|---|---|---|
| 1 | 3V3 | 3.3V | POWER OUTPUT | 3.3V power output |
| 2 | GND | GND | POWER GROUND | Ground connection |
| 3 | 5V | 5V | POWER INPUT | 5V power input |
| 4 | IO1 | GPIO1 | BIDIRECTIONAL | GPIO, I2C, ADC |
| 5 | IO2 | GPIO2 | BIDIRECTIONAL | GPIO, ADC |
| 6 | IO3 | GPIO3 | BIDIRECTIONAL | GPIO, ADC |
| 7 | IO10 | SPI_CS | BIDIRECTIONAL | GPIO, SPI Chip Select |
| 8 | IO11 | SPI_D | BIDIRECTIONAL | GPIO, SPI Data |
| 9 | IO12 | SPI_CLK | BIDIRECTIONAL | GPIO, SPI Clock |
| 10 | IO13 | SPI_Q | BIDIRECTIONAL | GPIO, SPI Q |
| 11 | IO16 | ADC2_CH5 | BIDIRECTIONAL | GPIO, ADC |
| 12 | IO17 | U1_TXD | BIDIRECTIONAL | GPIO, UART TX |
| 13 | IO18 | U1_RXD | BIDIRECTIONAL | GPIO, UART RX |
| 14 | IO21 | GPIO21 | BIDIRECTIONAL | GPIO |
| 15 | IO38 | LORA_CS | OUTPUT | GPIO, LoRa Chip Select |
| 16 | IO39 | LORA_RST | OUTPUT | GPIO, LoRa Reset |
| 17 | IO40 | LORA_IRQ | INPUT | GPIO, LoRa Interrupt |
| 18 | IO41 | GPS_TX | OUTPUT | GPS Module TX |
| 19 | IO42 | GPS_RX | INPUT | GPS Module RX |
| 20 | IO45 | BATTERY | INPUT | Battery Voltage Sense |
Default Tools & Configuration
Build and upload settings for LilyGo T-Beam
| Setting | Value |
|---|---|
| Bootloader tool | esptool_py |
| Uploader tool | esptool_py |
| Network uploader tool | esp_ota |
| Bootloader address | 0x0 |
| Flash mode | dio |
| Boot mode | qio |
| PSRAM type | opi |
| Maximum upload size | 3072 KB (3145728 bytes) |
| Maximum data size | 320 KB (327680 bytes) |
The LilyGo T-Beam uses esptool_py for uploads , esp_ota for OTA updates, and esptool_py bootloader at 0x0.
Flash mode: dio | Boot mode: qio | PSRAM: opi
Max sketch size: 3072 KB | Max data size: 320 KB
Similar Boards
Other development boards with ESP32 microcontroller

OLIMEX ESP32-EVB
OLIMEX ESP32-EVB development board is based on esp32 microcontroller and uses xtensa architecture.

Espressif ESP32-LCDKit
Espressif ESP32-LCDKit development board is based on esp32 microcontroller and uses xtensa architecture.

Espressif ESP32-DevKitM-1
Espressif ESP32-DevKitM-1 development board is based on esp32 microcontroller and uses xtensa architecture.

