/ttn-esp32

The Things Network device library for ESP32 (ESP-IDF) and SX127x based devices

Primary LanguageCMIT LicenseMIT

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.