

The LilyGo Tbeam is a compact and versatile development board designed for IoT (Internet of Things) and outdoor applications. Manufactured by LilyGo, this board integrates an ESP32 microcontroller, a GPS module, and multiple connectivity options, making it an excellent choice for projects requiring location tracking, wireless communication, and low-power operation. Its small form factor and robust feature set make it ideal for prototyping and deploying IoT solutions in real-world environments.








The LilyGo Tbeam is packed with features that make it suitable for a wide range of applications. Below are its key technical specifications:
| Feature | Specification |
|---|---|
| Microcontroller | ESP32 (dual-core, 32-bit, 240 MHz, Wi-Fi, Bluetooth) |
| GPS Module | u-blox NEO-6M or NEO-M8N (depending on the version) |
| Connectivity | LoRa (SX1276/78), Wi-Fi, Bluetooth |
| Power Supply | 5V via USB-C or 3.7V LiPo battery |
| Battery Charging | Integrated LiPo battery charging circuit |
| GPIO Pins | 16 GPIO pins (configurable for digital/analog input/output) |
| Flash Memory | 4 MB |
| Operating Voltage | 3.3V (logic level) |
| Dimensions | 80 mm x 25 mm |
| Antenna | External LoRa and GPS antennas included |
| Power Consumption | Low-power modes supported (deep sleep, light sleep) |
The LilyGo Tbeam features a variety of pins for interfacing with external components. Below is the pinout description:
| Pin Name | Function | Description |
|---|---|---|
| 3V3 | Power Output | 3.3V power output for external components |
| GND | Ground | Common ground for the circuit |
| GPIO0 | General Purpose I/O | Configurable as digital/analog input/output |
| GPIO21 | I2C SDA | Data line for I2C communication |
| GPIO22 | I2C SCL | Clock line for I2C communication |
| TXD0 | UART TX | Transmit pin for UART communication |
| RXD0 | UART RX | Receive pin for UART communication |
| LoRa_DIO0 | LoRa Interrupt | Interrupt pin for LoRa communication |
| BAT | Battery Input | Connects to a 3.7V LiPo battery |
| GPS_TX | GPS Transmit | Transmit pin for GPS module |
| GPS_RX | GPS Receive | Receive pin for GPS module |
The LilyGo Tbeam is easy to use in a variety of projects. Below are the steps and best practices for using the board effectively:
Powering the Board:
Connecting Peripherals:
Programming the Board:
Using GPS and LoRa:
Below is an example code snippet to initialize the GPS module and read location data:
#include <TinyGPS++.h>
#include <HardwareSerial.h>
// Create a TinyGPS++ object
TinyGPSPlus gps;
// Initialize hardware serial for GPS communication
HardwareSerial gpsSerial(1);
void setup() {
Serial.begin(115200); // Initialize serial monitor
gpsSerial.begin(9600, SERIAL_8N1, 34, 12); // GPS TX=34, RX=12
Serial.println("Initializing GPS...");
}
void loop() {
// Read data from GPS module
while (gpsSerial.available() > 0) {
char c = gpsSerial.read();
gps.encode(c); // Parse GPS data
// If a valid location is available, print it
if (gps.location.isUpdated()) {
Serial.print("Latitude: ");
Serial.println(gps.location.lat(), 6);
Serial.print("Longitude: ");
Serial.println(gps.location.lng(), 6);
}
}
}
GPS Not Acquiring Signal:
LoRa Communication Fails:
Board Not Detected by Computer:
High Power Consumption:
Q: Can I use the LilyGo Tbeam without a battery?
A: Yes, the board can be powered directly via the USB-C port without a battery.
Q: What is the range of the LoRa module?
A: The range depends on the environment and antenna placement but can reach up to 10 km in open areas.
Q: How do I update the firmware?
A: Use the Arduino IDE or ESP32 flashing tools to upload new firmware to the board.
Q: Is the LilyGo Tbeam compatible with other GPS libraries?
A: Yes, it is compatible with libraries like TinyGPS++ and Adafruit GPS.
By following this documentation, you can effectively use the LilyGo Tbeam in your IoT and outdoor projects.