Opens in a new tab

LILYGO T-Beam Pinout

LILYGO T-Beam is a board with the ESP32 chip, a LoRa radio, a GPS receiver and an 18650 cell holder on the back. It is popular for Meshtastic and MeshCore and for location trackers. Power for all parts is managed by the AXP2101 chip (AXP192 on V1.1), which also charges the cell.

Two 13-pin headers are broken out; only a few GPIO are free, the rest are taken by LoRa, GPS and the power management chip.

Specifications

  • ESP32 (D0WDQ6): 2 cores 240 MHz, 4 MB flash, 8 MB PSRAM
  • Wi-Fi, Bluetooth, LoRa SX1262 (868 MHz) or SX1276 / SX1278 (433 MHz)
  • NEO-6M GPS with IPEX antenna, backup cell
  • AXP2101 power management and charger, 18650 cell holder
  • 2 headers of 13 pins: free GPIO13, 14, 25, inputs 36/39, I2C 21/22
  • micro USB (CH9102 / CP2104), PWR, IO38 and RST buttons
  • 100 × 33 mm

The pinout applies to version V1.2 (AXP2101); V1.1 (AXP192) has the same pin layout but differs in the 5V pin (VSYS instead of USB) and the 3.3 V source on the header. The T-Beam Supreme with ESP32-S3 is a different board.

The LoRa radio and GPS have no power until the firmware turns it on through the AXP2101 power management chip (I2C 0x34). The cell voltage is read from the power management chip, not from the ADC. The “T-Beam” profile in Arduino has the LED and button from the old version 0.7 – the correct LED is on GPIO4 (lights up at logic 0) and the button on GPIO38.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

LILYGO T-Beam – pinoutLILYGO T-Beam – pinoutchiptron.eu · CC BY 4.0ESP32LoRaGPS GPIO36 ADC1_CH0 VP GPIO39 ADC1_CH3 VN RST → Reset (EN) – logic 0 holds the ESP32 in reset GPIO15 ADC2_CH3 GPIO35 ADC1_CH7 PMU IRQ GPIO32 ADC1_CH4 LoRa DIO2 GPIO33 ADC1_CH5 LoRa DIO1 GPIO25 ADC2_CH8 GPIO14 ADC2_CH6 GPIO13 ADC2_CH4 GPIO2 ADC2_CH2 GND 5V ↔ V1.2: 5 V from USB only (no voltage on battery); V1.1: VSYS GPIO1 TX GPIO3 RX GPIO23 LoRa RST GPIO4 ADC2_CH0 LED GPIO0 ADC2_CH1 BOOT GND 3V3 → 3.3 V output (source depends on the assembly variant, see table) GND GPIO22 SCL GPIO21 SDA 3V3 → GPIO32 ADC1_CH4 LoRa DIO2 GPIO33 ADC1_CH5 LoRa DIO1 GPIO UART I2C ADC (analog) Power Ground (GND) Control / reset Strapping pin
Download:PNGSVG
Pin table – LILYGO T-Beam V1.2
NameDirectionUARTI2CSPIADCDACTouchNote
GPIO36inputADC1_CH0VP – input only, no pull-up. ADC1_CH0.
GPIO39inputADC1_CH3VN – input only, no pull-up. ADC1_CH3.
RSTinputReset (EN) – logic 0 holds the ESP32 in reset
GPIO15input/outputADC2_CH3T3Strapping pin – logic 0 at boot suppresses bootloader output
GPIO35inputADC1_CH7AXP2101 power controller interrupt – input only, in use.
GPIO32input/outputADC1_CH4T9Appears twice on the header: "32" on the left and "LoRa2" on the right (radio DIO2 pin via 22 Ω). On the SX1262 radio this is BUSY – in use.
GPIO33input/outputADC1_CH5T8Appears twice on the header: "33" on the left and "LoRa1" on the right (radio DIO1 pin via 22 Ω). On the SX1262 it is the radio interrupt – in use.
GPIO25input/outputADC2_CH8DAC1
GPIO14input/outputADC2_CH6T6JTAG MTMS
GPIO13input/outputADC2_CH4T4JTAG MTCK
GPIO2input/outputADC2_CH2T2Strapping pin – logic 0 or unconnected at boot for download mode
GND–
5Vinput/outputV1.2: VBUS from USB – on battery the pin has no voltage. V1.1: VSYS (also powered from the battery).
GPIO33input/outputADC1_CH5T8Appears twice on the header: "33" on the left and "LoRa1" on the right (radio DIO1 pin via 22 Ω). On the SX1262 it is the radio interrupt – in use.
GPIO32input/outputADC1_CH4T9Appears twice on the header: "32" on the left and "LoRa2" on the right (radio DIO2 pin via 22 Ω). On the SX1262 radio this is BUSY – in use.
3V3outputBoth pads 3.3 V. Depending on the V1.2 assembly variant they come from the always-on DC1, or from DC3, which the factory firmware turns off – check your board. On V1.1 from DCDC1 (switched).
GPIO21input/outputSDAI2C SDA – power management IC (0x34) and OLED display (0x3C), 10 kΩ pull-up
GPIO22input/outputSCLI2C SCL – power management IC and OLED, 10 kΩ pull-up
GND–
3V3outputBoth pads 3.3 V. Depending on the V1.2 assembly variant they come from the always-on DC1, or from DC3, which the factory firmware turns off – check your board. On V1.1 from DCDC1 (switched).
GND–
GPIO0input/outputADC2_CH1T1BOOT button. Strapping pin – logic 0 at boot = download mode
GPIO4input/outputADC2_CH0T0Red LED (lit at logic 0)
GPIO23input/outputLoRa radio reset
GPIO3input/outputRXUART0 RX – USB-UART converter
GPIO1input/outputTXUART0 TX – USB-UART converter

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
GPIO5, 19, 27, 18LoRa SPI – SCK, MISO, MOSI, CS
GPIO26LoRa DIO0 (SX127x; not connected on SX1262)
GPIO34GPS – receive (GPS module TX)
GPIO12GPS – transmit to the module (strapping pin – must be logic 0 at boot)
GPIO37GPS PPS (also the red PPS LED)
GPIO38User button IO38
RADIO, GPSRadio (ALDO2) and GPS (ALDO3) power is enabled by firmware via the AXP2101 power management IC (I2C 0x34)

What to watch out for

  • The GPIO are not 5V tolerant.
  • With the SX1262 radio, GPIO32 (BUSY) and GPIO33 (DIO1) are taken – they appear twice on the header (32/LoRa2, 33/LoRa1).
  • GPIO0, 2 and 15 are strapping pins; GPIO34–39 are input-only with no pull-up.
  • On V1.2, the 5V pin is fed from USB only – there is no voltage on it when running on battery.
  • Depending on the assembly, the 3.3 V on the header comes either from the always-on DC1 or from DC3, which the factory firmware turns off.

T-Beam on chiptron.eu/

Projects and guides on chiptron.eu/:

  • MeshCore – setup, firmware and a network map of the Czech Republic

More pinouts

See all pinouts on the Pinouts page.

Related Articles