Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
December 1, 2020 19:21
July 21, 2022 12:15
November 5, 2020 15:32
December 26, 2022 14:05

This Library had been Stoped to maintenance


The Overview


To install this library:

  • install it using the Arduino Library manager ("Sketch" -> "Include Library" -> "Manage Libraries..."), or
  • download a zip file from GitHub using the "Download ZIP" button and install it using the IDE ("Sketch" -> "Include Library" -> "Add .ZIP Library..."
  • clone this git repository into your sketchbook/libraries folder.

For more info, see


The ESP32_LoRaWAN library provides a fairly complete LoRaWAN Class A and Class C implementation. The latest update (February 10th, 2020) has full region support (KR920, AS923, US915, etc.).

The following functions are included:

  • LoRaWAN protocol V1.0.2 Class A and Class C;
  • Use ESP32's internal RTC (15KHz);
  • All ESP32 + LoRa boards made by Heltec Automation(TM) can use this library;
  • Support deep sleep and stop mode;
  • Receive and print downlink payload;
  • Print and OLED show downlink data length and RSSI;
  • An unique license related to Chip ID is needed, you can check your license here:

Test information

working band status
EU433 not test
CN470 work well
EU863 work well
US915 work well
AU916 work well
CN779 not test
AS923 not test
KR920 not test
IN865 not test
US915_HYBRID not test

What certainly works:

  • Sending payload to a LoRa gateway via LoRaWAN protocol;
  • Encryption and message integrity checking;
  • Over-the-air activation (OTAA / joining);
  • Deep sleep and wake up;
  • Class A operation;
  • Class C operation;
  • ABP mode.

What has not been tested:

  • Receiving downlink packets in the RX2 window.

How to use this library

The only different with a common Arduino library is need a unique license. It's relate to ESP32 Chip ID.

How to get your board's Chip ID?

How to get the unique license?

Only the boards made after August 2018 can be checked from this page, if you have a former version, you can mail to and improve you already have a Heltec Automation made board.

Choose the right working band you need

Choose working band you need In the Arduino tools menu:

For more details about how to use this library, please refer to this document:

ESP32 LoRaWAN library usage.


How to Use This Library in

The options in the Tools menu is relate to the Heltec ESP32 development framework, but in the, it's use original Espressif ESP32 framework. So we need additional definition the build_flags in platformio.ini file.

build_flags = 
   -D REGION_CN470

Contact us

Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labeled as for reference.

Also you can talk in our forum:


Transplanted from Semtech LoRaWAN( protocol to "ESP32 + Arduino" platform. Use RTC, support deep sleep, only working with ESP32 + LoRa boards made by HelTec Automation(TM). Need a unique license to use it.






No packages published