Semtech Releases Open Source Software for LoRa Gateways & Devices

Semtech has released open source software for LoRa-based gateways including LoRa Basic Station packet forwarder for Linux-based gateways, LoRa Basic MAC implementation of the LoRa Alliance’s LoRaWAN specification, and LoRa Basic loader bootloader capable of handling firmware updates. All three components are available for free under a revised 3-Clause BSD license.

Lora Basic Station
Lora Basic Station Architecture

LoRa Basic Station supports LoRaWAN Classes A, B, and C, presents a unified radio abstraction layer supporting Concentrator Reference Designs v1.5 and v2, and implements various backend protocols. Apart from mbedTLS and libloragw/-v2, it does not rely on external dependencies, the code is written in C language only, and easily portable to Linux gateways and embedded systems.

LoRa Basic MAC is a fork of IBM’s LMiC library, also implemented in C language,  supports multiple regions selectable at compile and/or run time, and can handle Class A, Class B, and Class C devices. Basic MAC uses LoRa Basic loader to load its firmware, and to support firmware updates over-the-air (FOTA).

LoRa Basic MAC
LoRa Basic MAC Library Architecture

The source code can be found in LoRa Basics github account, and Semtech also published documentation in a dedicated website.

If you’re closely following the subject, you’ll know it’s old news as Semtech made the announcement back in January, but I only found about it thanks to a recent article on EETimes. I’d initially have assumed the release of such code was to speed time to market for their customers, but there’s also a more worrying reason: people don’t learn (embedded) C programming anymore as Steven Hegenderfer, Senior Director of the Developer Ecosystem at Semtech, explains:

Most people are working with Web services in Python or js.node, and programming devices is last hurdle for them – embedded C developers are a dying breed

The gateway software may eventually support real-time operating systems, beside just Linux, while MAC firmware requires a  32-bit MCU clocked at 50 MHz with at a minimum of 64KB RAM and 30KB flash.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
1 Comment
5 years ago

I wonder how this is actually any different from the stuff they have on the lora-net github page.

Khadas VIM4 SBC