LilyGo T-Beam Development Board
Code name: LILYGO_T_BEAM
LilyGo T-Beam development board is based on esp32 microcontroller and uses xtensa architecture. This board has a maximum CPU frequency of 240 MHz and a flash size of 16MB.
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
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
Technical Specifications
π₯οΈ Display
π°οΈ Connectivity
π§ Microcontroller
β¨ Features
- 48 digital IO pins
- 46 external interrupt pins
- 20 analog input pins
- 27 PWM pins
LilyGo T-Beam Pinout
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
For general GPIO usage, these are the safest and most flexible choices:
Why Are These Pins Safe?
- Not involved in bootstrapping β No impact on device boot mode or system startup
- Not linked to flash memory or PSRAM β Won't interfere with storage or memory access
- Not dedicated to USB or JTAG β Free for general use without affecting debugging
- No special hardware connections β Freely assignable without internal conflicts
β οΈ Pins to Avoid or Use with Caution
Some pins are reserved for critical functions like bootstrapping, JTAG debugging, USB communication, and flash memory operations. Misusing these pins may lead to boot failures, programming issues, USB conflicts, or disruptions in flash storage.
Critical Pin Categories:
- π οΈ Strapping Pins: Control boot behavior and flash voltage selection
- π JTAG Debugging Pins: Required for low-level debugging
- π USB Communication Pins: Used for USB Serial/JTAG communication
- β‘ Flash Memory & SPI Pins: Connected to SPI flash memory and PSRAM
- π‘ UART Serial Communication Pins: Used for debugging and firmware uploads
PIN | Label | Reason | Function |
---|---|---|---|
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 |
LilyGo T-Beam Pin Mappings
This development board provides 48 digital IO pins, out of which 46 can be used as external interrupt pins , 20 as analog input pins and 27 pins have Pulse-Width Modulation (PWM) .
Pin | Function | ESP Pin | Input/Output | 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
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 B) |
Maximum data size | 320 Kb (327680 B) |
The LilyGo T-Beam development board by default uses esptool_py uploader tool, esp_ota network uploader tool for Over-the-air (OTA) uploads and esptool_py bootloader tool. The bootloader starts at address "0x0". Flash mode and boot mode for LilyGo T-Beam development board by default is dio and qio respectively. The board uses opi PSRAM type. When using Arduino IDE, the maximum sketch upload size is 3072 Kb (3145728 B) and maximum data size for variables is 320 Kb (327680 B).