Lora-net/LoRaMac-node logo

Lora-net/LoRaMac-node

Free

Reference implementation and documentation of a LoRa network node.

FreeFree tier
Type
Open Source
Company
Semtech

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.