Xinyuan-LilyGO / LilyGo-LoRa-Series

LILYGO LoRa Series examples
670 stars 182 forks source link
gnss lilygo radio t-lora t-lora32 tbeam

🌟LilyGo LoRa Series🌟

δΈ­ζ–‡ | English

News:

1️⃣Product

Product SOC Flash PSRAM
T-Beam S3 Supreme L76K ESP32-S3FN8 8MB(Quad-SPI) 8MB(Quad-SPI)
T-Beam S3 Supreme Ublox ESP32-S3FN8 8MB(Quad-SPI) 8MB(Quad-SPI)
T-Beam Meshtastic ESP32-D0WDQ6-V3 4MB(Quad-SPI) 8MB(Quad-SPI)
T-Beam SoftRF ESP32-D0WDQ6-V3 4MB(Quad-SPI) 8MB(Quad-SPI)
T3-S3 SX1280 2.4G With out PA ESP32-S3FH4R2 4MB(Quad-SPI) 2MB(Quad-SPI)
T3-S3 SX1280 2.4G With PA ESP32-S3FH4R2 4MB(Quad-SPI) 2MB(Quad-SPI)
T3-S3 SX1276 ESP32-S3FH4R2 4MB(Quad-SPI) 2MB(Quad-SPI)
T3-S3 SX1262 ESP32-S3FH4R2 4MB(Quad-SPI) 2MB(Quad-SPI)
LoRa32 V1.3 ESP32-D0WDQ6-V3 4MB(Quad-SPI) ❌
LoRa32 V2.1 ESP32-PICO-D4 4MB(Quad-SPI) ❌
T-Motion STM32L073RZ 192 Kbyte (20-Kbyte RAM)
T-Lora C6 ESP32-C6-MINI-1U 4MB(Quad-SPI) ❌
T-Beam BPF ESP32-S3-WROOM-1-N16R8 16MB(Quad-SPI) 8MB(OPI)

2️⃣Example description

./examples/
β”œβ”€β”€ ArduinoLoRa                              # Only support SX1276/SX1278 radio module
β”‚   β”œβ”€β”€ 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
└── BPFFactory                               # T-Beam BPF factory test examples

3️⃣Arduino IDE quick start:

  1. Install Arduino IDE
  2. Install Arduino ESP32
  3. Copy all folders in the lib directory to the Sketchbook location directory. How to find the location of your own libraries, please see here
    • Windows: C:\Users\{username}\Documents\Arduino
    • macOS: /Users/{username}/Documents/Arduino
    • Linux: /home/{username}/Arduino
  4. Open the corresponding example
    • Open the downloaded LilyGo-LoRa-Series
    • Open examples
    • Select the sample file and open the file ending with ino
  5. On Arduino ISelect the corresponding board in the DE tool project and click on the corresponding option in the list below to select

    Click to view T-Beam S3 Supreme Arduino IDE options | T-Beam S3 Supreme | Value | | ------------------------------------ | --------------------------------- | | Board | **ESP32S3 Dev Module** | | Port | Your port | | USB CDC On Boot | Enable | | CPU Frequency | 240MHZ(WiFi) | | Core Debug Level | None | | USB DFU On Boot | Disable | | Erase All Flash Before Sketch Upload | Disable | | Events Run On | Core1 | | Flash Mode | QIO 80MHZ | | Flash Size | **8MB(64Mb)** | | Arduino Runs On | Core1 | | USB Firmware MSC On Boot | Disable | | Partition Scheme | **8M Flash(3M APP/1.5MB SPIFFS)** | | PSRAM | **QSPI PSRAM** | | Upload Mode | **UART0/Hardware CDC** | | Upload Speed | 921600 | | USB Mode | **CDC and JTAG** | | Programmer | **Esptool** |
    Click to view T-Beam-V1.X Arduino IDE options | T-Beam-V1.X | 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 | **Default 4M Flash with spiffs(1.2M APP/1.5MB SPIFFS)** | | PSRAM | **Enable** | | Upload Speed | 921600 | | Programmer | **Esptool** |
    Click to view LoRa32 V1.x Arduino IDE options | T-Beam-V1.X | 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 | **Default 4M Flash with spiffs(1.2M APP/1.5MB SPIFFS)** | | PSRAM | **Disable** | | Upload Speed | 921600 | | Programmer | **Esptool** |
    Click to view T3-S3 Arduino IDE options | T3-S3 | Value | | ------------------------------------ | ------------------------------------------------------- | | Board | **ESP32S3 Dev Module** | | Port | Your port | | USB CDC On Boot | Enable | | CPU Frequency | 240MHZ(WiFi) | | Core Debug Level | None | | USB DFU On Boot | Disable | | Erase All Flash Before Sketch Upload | Disable | | Events Run On | Core1 | | Flash Mode | QIO 80MHZ | | Flash Size | **4MB(32Mb)** | | Arduino Runs On | Core1 | | USB Firmware MSC On Boot | Disable | | Partition Scheme | **Default 4M Flash with spiffs(1.2M APP/1.5MB SPIFFS)** | | PSRAM | **QSPI PSRAM** | | Upload Mode | **UART0/Hardware CDC** | | Upload Speed | 921600 | | USB Mode | **CDC and JTAG** | | Programmer | **Esptool** |
    Click to view T-Motion Arduino IDE options | T-Motion | Value | | --------------------------- | ---------------------------------------- | | Board | **Nucleo-64** | | Port | Your port | | Debug symbols and core logs | None | | Optimize | Smallest (-Os default) | | Board part number | Nucleo L073RZ | | C Runtime Library | Newlib Nano (default) | | Upload method | STM32CubeProgrammer (DFU) | | USB support (if available) | CDC (generic 'Serial' supersede U(S)ART) | | U(S)ART support | Enabled (generic 'Serial') | | USB speed (if available) | Low/Full Speed | - To upload a sketch, you need to hold down the BOOT button on the board and then plug in the USB. At this time, it will enter the DFU mode to allow program writing.
    Click to view T3-C6 Arduino IDE options | T3-S3 | Value | | ------------------------------------ | ------------------------------------------------------- | | Board | **ESP32C6 Dev Module** | | Port | Your port | | USB CDC On Boot | Enable | | CPU Frequency | 160MHZ(WiFi) | | Core Debug Level | None | | USB DFU On Boot | Disable | | Erase All Flash Before Sketch Upload | Disable | | Flash Mode | DIO | | Flash Size | **4MB(32Mb)** | | Arduino Runs On | Core1 | | USB Firmware MSC On Boot | Disable | | Partition Scheme | **Default 4M Flash with spiffs(1.2M APP/1.5MB SPIFFS)** | | Upload Speed | 921600 | | Programmer | **Esptool** |
    Click to view T-Beam PBF Arduino IDE options | T3-S3 | Value | | ------------------------------------ | ----------------------------------- | | Board | **ESP32S3 Dev Module** | | Port | Your port | | USB CDC On Boot | Enable | | CPU Frequency | 240MHZ(WiFi) | | Core Debug Level | None | | USB DFU On Boot | Disable | | Erase All Flash Before Sketch Upload | Disable | | Flash Mode | QIO 80Mhz | | Flash Size | **16MB(128Mb)** | | Arduino Runs On | Core1 | | USB Firmware MSC On Boot | Disable | | Partition Scheme | **16M Flash (3MB APP/9.9MB FATFS)** | | PSRAM | **OPI PSRAM** | | Upload Speed | 921600 | | Programmer | **Esptool** |
  6. Please uncomment the utilities.h file of each sketch according to your board model, otherwise the compilation will report an error.
  7. Upload sketch

4️⃣ TTN

To access TTN (The Things Network), please refer to LilyGo_LoRa_Series_Quick_Start

5️⃣ Application

6️⃣ Datasheet

T-Beam S3 Supreme datasheet
T-Beam ESP32 datasheet
T3-S3 (ESP32S3) datasheet
LoRa32(ESP32) datasheet

T3_V1.6.1 schematic

LoRa32(V1.3) datasheet

T3_V1.3 schematic

T-Motion datasheet

T-Motion schematic

T3-C6 datasheet

T3-C6 schematic

7️⃣ FAQ

  1. T-Beam Supreme GPS backup power comes from 18650 battery. If you remove the 18650 battery, you will not be able to get GPS hot start. If you need to use GPS hot start, please connect the 18650 battery.

  2. There is no data output from the GPS. Refer to GPS factory reset

  3. How to find the pin definition?

    Click to view detailed - Each sketch contains , and all board pins are written in this file
  4. Can’t upload sketches?

    Click to view detailed 1. Connect the board USB to the computer 2. Press the BOOT button and hold (If there is no BOOT button, you need to keep **GPIO0** connected to **GND**.) 3. Press the RST button 4. Release the RST button 5. Finally release the BOOT button(If there is no BOOT button, you need to disconnect GPIO0 from GND.) 6. Click to upload the program
  5. After setting the output power of LoRa, you need to set the minimum current. Set up sx1262 as follows:

    Click to view detailed ```c // set output power to 10 dBm (accepted range is -17 - 22 dBm) if (radio.setOutputPower(22) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) { Serial.println(F("Selected output power is invalid for this module!")); while (true); } // set over current protection limit to 80 mA (accepted range is 45 - 240 mA) // NOTE: set value to 0 to disable overcurrent protection if (radio.setCurrentLimit(80) == RADIOLIB_ERR_INVALID_CURRENT_LIMIT) { Serial.println(F("Selected current limit is invalid for this module!")); while (true); } ```
  6. Precautions for using SX1280 PA version

    Click to view detailed - When using the SX1280 PA module, it is recommended that the software controls the 1280 chip to output 2~5dbm, so that the entire module will output 20dbm power; When the output of the 1280 chip is higher than 2dbm, the output power of the entire module is only 20dbm; When the output of the 1280 chip is higher than 5dbm, the output power of the entire module is only 20dbm, but if 5dbm is given to the FEM, it will damage the FEM chip (the maximum input allowed by the FEM is 5dbm) If the output of the 1280 chip is lower than 2dbm, the output power of the entire module is within 20dbm. - T3-S3 PA version SX1280 output power setting cannot be greater than 2~5dbm, otherwise the FEM chip may be damaged. Setting 3dbm already has 20dmb output power
  7. How to identify the LoRa model?

    Click to view detailed - To identify the LoRa model, you only need to check the sticker on the board. 433MHz is SX1278, 868MHz is SX1276, and if the label says SX1262, it is SX1262.
  8. Why does Serial not have any output?

    • Arduino -> Tools -> USB CDC On Boot -> Enable
  9. T-Beam-s3-supreme antenna signal quality

    Click to view detailed ![t-beams3-supreme-ant-868M](./images/t-beams3-supreme-ant-868M.jpg) ![t-beams3-supreme-ant-915M](./images/t-beams3-supreme-ant-915M.jpg)