Lora-net/LoRaMac-node
FreeReference implementation and documentation of a LoRa network node.
FreeFree tier
About Lora-net/LoRaMac-node
This repository provides a reference implementation of a LoRaWAN end-device stack, including example applications and radio drivers for Semtech SX1272/73, SX1276/77/78/79, SX1261/2, and LR1110 transceivers. It fully implements Class A, B, and C end-device classes and includes support for the LoRaWAN certification protocol. The project is currently in maintenance mode; Semtech recommends using LoRa Basics™ Modem for new designs. Supported platforms include NAMote72, NucleoLxxx/Discovery kits, SKiM88xx, and SAMR34.
Key Features
Implements LoRaWAN L2 1.0.4 / 1.1.0 stack specification
Supports Class A, B, and C end-device classes
Provides radio drivers for SX1272/73, SX1276/77/78/79, SX1261/2, and LR1110
Includes example applications: periodic-uplink-lpp, ping-pong, rx-sensi, tx-cw, fuota-test-01
Incorporates LoRaWAN certification protocol
Supports multiple hardware platforms: NAMote72, NucleoLxxx, Discovery kits, SKiM880B/980A/881AXL, SAMR34
CMake build system and Git submodule management
Pros & Cons
Pros
- Comprehensive reference with full Class A/B/C support
- Includes drivers for multiple popular Semtech radio chips
- Example applications cover common use cases (uplink, point-to-point, sensitivity, CW)
- LoRaWAN certification protocol built into examples
- Well-documented with porting guide and API documentation
Cons
- In maintenance mode; not recommended for new designs per Semtech
- Limited to LoRaWAN L2 1.0.4 / 1.1.0 (no newer features like Relay, CSMA)
- No support for LoRaWAN 1.2 or later improvements
- Requires manual porting to unsupported MCU platforms
- Depends on Git submodules and external toolchains
Best For
Building LoRaWAN end-device prototypes and IoT devicesLearning LoRaWAN stack implementation and certification processTesting radio sensitivity and continuous wave transmissionDeveloping firmware for supported Semtech transceiver-based boardsFUOTA (Firmware Update Over The Air) test scenario development
FAQ
What LoRaWAN classes are supported?
The stack fully implements Class A, Class B, and Class C end-device classes.
Is this project still actively developed?
No, the LoRaMac-Node project has transitioned to maintenance mode. Only critical bug fixes are supported. Semtech recommends using LoRa Basics™ Modem for new designs.
Which radio transceivers are supported?
Drivers are provided for SX1272/73, SX1276/77/78/79, SX1261/2, and LR1110.
What example applications are included?
Examples include periodic-uplink-lpp (using Cayenne LPP), ping-pong (point-to-point RF link), rx-sensi (radio sensitivity measurement), tx-cw (continuous wave transmission), and fuota-test-01 (FUOTA test scenario).
Can the stack be ported to custom hardware?
Yes, the project includes a Porting Guide document with guidelines for porting to other MCU platforms.