The Things Network device library for ESP32 (ESP-IDF) and SX127x based devices
Go to file
Manuel Bl 1057aa09de IRAM_ATTR for get_current_time() 2023-08-07 23:03:22 +02:00
.vscode C implementation for TheThingsNetwork 2021-07-25 23:53:54 +02:00
doc Link to new API documentation 2021-07-31 12:51:41 +02:00
examples Robust struct init for C++ 2023-06-12 22:43:30 +02:00
include Improve SPI robustness (fix incompatibility with ESP32-S2) 2022-03-26 20:06:03 +01:00
src make this function IRAM_ATTR because it's used from IRQ -> otherwise "Cache disabled but cached memory region accessed" if flash is busy 2023-08-07 19:55:31 +02:00
.clang-format Adapted code formatting 2021-07-31 17:03:00 +02:00
.gitignore Upgrade to version 2.3.2 of mcci-catena/arduino-lmic 2019-04-16 21:36:03 +02:00
CMakeLists.txt fix compilation issues 2022-09-20 18:56:29 +02:00
Kconfig Improve SPI robustness (fix incompatibility with ESP32-S2) 2022-03-26 20:06:03 +01:00
LICENSE Upgrade to mcci-catena/arduino-lmic 4.0.1-pre 2021-07-25 14:39:11 +02:00
README.md Increase version number to 4.2.0-1 2022-09-27 19:20:53 +02:00
library.json Increase version number to 4.2.0-1 2022-09-27 19:20:53 +02:00

README.md

ttn-esp32

The Things Network device library for ESP-IDF (ESP32) supporting devices with Semtech SX127x chips

This ESP32 component provides LoRaWAN communication with The Things Network. It supports:

  • OTAA (over-the-air activation)
  • uplink and downlink messages
  • saving the EUIs and key in non-volatile memory
  • deep sleep and power off without the need for rejoining
  • AT commands for provisioning EUIs and key (so the same code can be flashed to several devices)
  • support for regions Europe, North and South America, Australia, Korea, Asia and India
  • C and C++ API

The library is based on the LMIC library from IBM (specifically the well-maintained version by MCCI see their GitHub repository) and provides a high-level API specifically targeted at The Things Network.

New in version 4.x

  • Support for deep sleep and power off (see Deep Sleep and Power Off)
  • Verified compatibility with ESP-IDF v4.3 and 5.0
  • Upgraded underlying library mcci-catena/arduino-lmic to v4.2.0-1
  • C API
  • Support for sub-bands
  • Dropped support for Makefile builds

Get Started

Follow the detailed Get Started Guide in the Wiki.

Supported Boards

All boards with Semtech SX127x chips, RFM9x and compatibles are supported. It includes boards from ttgo, Heltec and HopeRF. For several of them, the Pin Configuration is described in detail.

API Documentation

See API Documentation for both the C ad C++ API

More information

More information can be found on the Wiki pages.