LILYGO LoRa32

  • LoRa
  • ESP32
  • OLED
  • IoT
  • SX1276
  • SX1278

LoRa32

Version Iteration:

Version Update date Update description
T3_V1.6.1 (LoRa32 V2.1.6) Latest Version Multi-protocol IoT Development Board
Product SOC FLASH LoRa Screen Interface Link
LoRa32 ESP32 4M SX1276/SX1278 0.96" OLED USB Micro LILYGO Mall

Table of Contents

Description

LILYGO T3_V1.6.1 (LoRa32 V2.1.6) multi-protocol IoT development board is a composite hardware platform integrating ESP32 main controller (4MB Flash), 0.96-inch SSD1306 IยฒC OLED display (128ร—64 resolution) and low-power LoRa module.

The development board supports SX1276/SX1278 dual-band LoRa modules, provides Wi-Fi + Bluetooth 4.2 + BLE wireless protocols, supports dual power supply modes (USB interface or 3.7V Li-Po battery, with power switching switch), and features TF card expansion slot and hardware reset/start buttons. The LoRa module achieves +14dBm transmission power and 9.9mA ultra-low receive current, suitable for remote environment monitoring, LoRaWAN terminals, low-power sensor gateways and other IoT scenario development.

Preview

Physical Image

LoRa32

Modules

MCU

  • Chip: ESP32
  • FLASH: 4MB
  • Architecture: Xtensa LX6 Dual-core
  • Wireless: Wi-Fi 802.11b/g/n + Bluetooth 4.2 + BLE

Display

  • Size: 0.96-inch OLED
  • Resolution: 128x64px
  • Display Type: OLED
  • Driver Chip: SSD1306
  • Bus Communication Protocol: I2C
  • Pins: SDA=IO21, SCL=IO22

LoRa

  • Chip: SX1276 / SX1278
  • Frequency: SX1276: 868/915/923MHz, SX1278: 433MHz
  • Transmission Power: +14dBm
  • Receive Current: 9.9mA

Serial Converter

  • Chip: CH9102
  • Function: USB to Serial

Storage

  • Type: MicroSD (TF) Card
  • Interface: SPI

Power Management

  • Input: USB Micro or 3.7V Li-Po Battery
  • Features: Power Switching Switch

Overview

Component Description
MCU ESP32
FLASH 4MB
LoRa SX1276 (868/915/923MHz) / SX1278 (433MHz)
Display 0.96-inch SSD1306 OLED (128ร—64)
Serial Chip CH9102
Storage TF Card
Wireless 2.4GHz Wi-Fi + Bluetooth 4.2 + BLE
USB 1 ร— USB Port (Micro Connector)
IO Interface 2.54mm pitch 2ร—13 Expansion IO Interface
Expansion Interfaces 3D WiFi Antenna + LoRa External Antenna + 1.25mm JST GH Power Interface
Buttons RESET + BOOT
Power Input 5V/500mA
Mounting Holes 2 ร— 2mm Positioning Holes
Dimensions 66ร—36ร—15mm

Quick Start

Example Support

./examples/
โ”œโ”€โ”€ ArduinoLoRa                              # Only support SX1276/SX1278 radio module (ไป…ๆ”ฏๆŒ SX1276/SX1278 ๆ— ็บฟ็”ตๆจกๅ—)
โ”‚   โ”œโ”€โ”€ LoRaReceiver
โ”‚   โ””โ”€โ”€ LoRaSender
โ”œโ”€โ”€ Display                                  # Only supports TBeam TFT Shield
โ”‚   โ”œโ”€โ”€ Free_Font_Demo
โ”‚   โ”œโ”€โ”€ TBeam_TFT_Shield
โ”‚   โ”œโ”€โ”€ TFT_Char_times
โ”‚   โ””โ”€โ”€ UTFT_demo
โ”œโ”€โ”€ GPS                                      # T-Beam GPS demo examples
โ”‚   โ”œโ”€โ”€ TinyGPS_Example
โ”‚   โ”œโ”€โ”€ TinyGPS_FullExample
โ”‚   โ”œโ”€โ”€ TinyGPS_KitchenSink
โ”‚   โ”œโ”€โ”€ UBlox_BasicNMEARead                  # Only support Ublox GNSS Module           
โ”‚   โ”œโ”€โ”€ UBlox_NMEAParsing                    # Only support Ublox GNSS Module           
โ”‚   โ”œโ”€โ”€ UBlox_OutputRate                     # Only support Ublox GNSS Module      
โ”‚   โ””โ”€โ”€ UBlox_Recovery                       # Only support Ublox GNSS Module      
โ”œโ”€โ”€ LoRaWAN                                  # LoRaWAN examples
โ”‚   โ”œโ”€โ”€ LMIC_Library_OTTA
โ”‚   โ””โ”€โ”€ RadioLib_OTAA
โ”œโ”€โ”€ OLED
โ”‚   โ”œโ”€โ”€ SH1106FontUsage
โ”‚   โ”œโ”€โ”€ SH1106GraphicsTest
โ”‚   โ”œโ”€โ”€ SH1106IconMenu
โ”‚   โ”œโ”€โ”€ SH1106PrintUTF8
โ”‚   โ”œโ”€โ”€ SSD1306SimpleDemo
โ”‚   โ””โ”€โ”€ SSD1306UiDemo
โ”œโ”€โ”€ PMU                                      # T-Beam & T-Beam S3 PMU demo examples
โ”œโ”€โ”€ RadioLibExamples                         # RadioLib examples,Support SX1276/78/62/80...
โ”‚   โ”œโ”€โ”€ Receive_Interrupt
โ”‚   โ””โ”€โ”€ Transmit_Interrupt
โ”œโ”€โ”€ Sensor                                   # Sensor examples,only support t-beams3-supreme
โ”‚   โ”œโ”€โ”€ BME280_AdvancedsettingsExample
โ”‚   โ”œโ”€โ”€ BME280_TestExample
โ”‚   โ”œโ”€โ”€ BME280_UnifiedExample
โ”‚   โ”œโ”€โ”€ PCF8563_AlarmByUnits
โ”‚   โ”œโ”€โ”€ PCF8563_SimpleTime
โ”‚   โ”œโ”€โ”€ PCF8563_TimeLib
โ”‚   โ”œโ”€โ”€ PCF8563_TimeSynchronization
โ”‚   โ”œโ”€โ”€ QMC6310_CalibrateExample
โ”‚   โ”œโ”€โ”€ QMC6310_CompassExample
โ”‚   โ”œโ”€โ”€ QMC6310_GetDataExample
โ”‚   โ”œโ”€โ”€ QMC6310_GetPolarExample
โ”‚   โ”œโ”€โ”€ QMI8658_BlockExample
โ”‚   โ”œโ”€โ”€ QMI8658_GetDataExample
โ”‚   โ”œโ”€โ”€ QMI8658_InterruptBlockExample
โ”‚   โ”œโ”€โ”€ QMI8658_InterruptExample
โ”‚   โ”œโ”€โ”€ QMI8658_LockingMechanismExample
โ”‚   โ”œโ”€โ”€ QMI8658_MadgwickAHRS
โ”‚   โ”œโ”€โ”€ QMI8658_PedometerExample
โ”‚   โ”œโ”€โ”€ QMI8658_ReadFromFifoExample
โ”‚   โ””โ”€โ”€ QMI8658_WakeOnMotion
|โ”€โ”€ T3S3Factory                              # T3 S3 factory test examples
โ””โ”€โ”€ Factory                                  # T-Beam & T-Beam S3 and BPF factory test examples

PlatformIO

  1. Install the CH9102 USB bridge driver for the first time.
  2. Install Visual Studio Code and Python
  3. Search for the "PlatformIO" extension in Visual Studio Code and install it.
  4. After installation, you need to restart Visual Studio Code.
  5. After restarting Visual Studio Code, select "File" -> "Open Folder" in the top left corner -> Choose the "LilyGo-LoRa-Series" directory
  6. Wait for third-party dependency libraries to finish installing
  7. Click to open the platformio.ini file, then under the platformio column
  8. Under default_envs, select the board name you want to use and uncomment it.
  9. Uncomment one line in src_dir = xxxx to ensure only one line is active. Please note the comments in the examples, which indicate which lines are valid and which are not.
  10. Click the (โœ”) symbol at the bottom left to compile
  11. Connect the board to the computer's USB-C interface, Micro-USB interface is for module firmware upgrade.
  12. Click (โ†’) to upload the firmware
  13. Click (plug symbol) to monitor the serial output
  14. If unable to write, or the USB device keeps blinking, please check the FAQ below.

Arduino

  1. Install the "CH9102 USB Bridge" driver for the first time.
  1. Install Arduino IDE
  2. Install Arduino ESP32
  3. Copy all folders from the "lib" directory to the "Sketchbook location" directory. How to find the location of your own library files? Please refer here
  • Windows: C:\Users\{Username}\Documents\Arduino
  • macOS: /Users/{Username}/Documents/Arduino
  • Linux: /home/{Username}/Arduino
  1. Open the corresponding example
  • Open the downloaded "LilyGo-LoRa-Series"
  • Open "examples"
  • Select the example file and open the file ending with "ino"
  1. In Arduino IDE, first select the corresponding board in the Tools menu, then click the corresponding option in the list below to select
    | Name | Value |
    | ------------------------------------ | ------------------------------------ |
    | Board | ESP32 Dev Module |
    | Port | Your port |
    | CPU Frequency | 240MHZ(WiFi/BT) |
    | Core Debug Level | None |
    | Erase All Flash Before Sketch Upload | Disable |
    | Events Run On | Core1 |
    | Flash Frequency | 80MHZ |
    | Flash Mode | QIO |
    | Flash Size | 4MB(32Mb) |
    | JTAG Adapter | Disabled |
    | Arduino Runs On | Core1 |
    | Partition Scheme | Huge APP (3MB No OTA/1MB SPIFFS) |
    | PSRAM | Enable |
    | Upload Speed | 921600 |
    | Programmer | Esptool |

  2. Please uncomment the utilities.h file in each example according to your board model, for example T3_V1_3_SX1276 or T3_V1_3_SX1278, otherwise compilation will report an error.

  3. Upload the example

Development Platforms

  1. Arduino IDE
  2. Platform IO
  3. ESP-IDF
  4. VS Code
  5. Micropython

Pin Overview

LoRa32 1.3

Name GPIO NUM Free
OLED(SSD1306) SDA 21 โŒ
OLED(SSD1306) SCL 22 โŒ
LoRa(SX1276) SCK 18 โŒ
LoRa(SX1276) MISO 19 โŒ
LoRa(SX1276) MOSI 27 โŒ
LoRa(SX1276) RESET 14 โŒ
LoRa(SX1276) DIO0 26 โŒ
LoRa(SX1276) DIO1 33 โŒ
LoRa(SX1276) CS 18 โŒ
Battery ADC 35 โŒ

Documentation

LoRa32 1.6.1

Name GPIO NUM Free
OLED(SSD1306) SDA 21 โŒ
OLED(SSD1306) SCL 22 โŒ
SD CS 13 โŒ
SD MOSI 15 โŒ
SD MISO 2 โŒ
SD SCK 14 โŒ
LoRa(SX1276) SCK 5 โŒ
LoRa(SX1276) MISO 19 โŒ
LoRa(SX1276) MOSI 27 โŒ
LoRa(SX1276) RESET 23 โŒ
LoRa(SX1276) DIO1 33 โŒ
LoRa(SX1276) DIO2 32 โŒ
LoRa(SX1276) CS 18 โŒ
Battery ADC 35 โŒ
On Board LED 25 โŒ

Documentation

LoRa32 TCXO

Name GPIO NUM Free
OLED(SSD1306) SDA 21 โŒ
OLED(SSD1306) SCL 22 โŒ
SD CS 13 โŒ
SD MOSI 15 โŒ
SD MISO 2 โŒ
SD SCK 14 โŒ
LoRa(SX1276) SCK 5 โŒ
LoRa(SX1276) MISO 19 โŒ
LoRa(SX1276) MOSI 27 โŒ
LoRa(SX1276) RESET 23 โŒ
LoRa(SX1276) DIO0 26 โŒ
LoRa(SX1276) DIO1 32 โŒ
LoRa(SX1276) CS 7 โŒ
LoRa(SX1276) TCXO EN 12 โŒ
Battery ADC 35 โŒ
On Board LED 25 โŒ

Documentation

  • GPIO33 and above of the ESP32 chip can only be used for input functions, not output functions.
  • Remove the SD card when uploading code, otherwise the code cannot be downloaded
  • TCXO EN must be set high before initializing the radio

Test data to be supplemented

FAQ

  • Q. What's the difference between LoRa32 and T3-S3?
    A. LoRa32 uses ESP32 + SX1276/78 LoRa chip, while T3-S3 uses ESP32-S3 + SX1262/80 LoRa chip, both processor and LoRa chip are different.

  • Q. How to choose between SX1276 and SX1278 versions?
    A. Choose according to frequency regulations in your region: SX1276 supports 868/915/923MHz, SX1278 supports 433MHz.

  • Q. OLED display not showing?
    A. Check I2C address configuration (SSD1306 is usually 0x3C), confirm SDA=IO21, SCL=IO22 connections.

  • Q. LoRa communication distance not ideal?
    A. Check antenna connection, ensure use in open environment, consider using external antenna and properly configure impedance matching.

  • Q. Program flashing failed?
    A. Ensure driver installation is correct, hold BOOT button and click RESET to enter download mode.

Projects

Resources

Dependent Libraries