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.

Support CNX Software - Donate via PayPal or become a Patron on Patreon
Notify of
1 Comment
newest most voted
1 year ago

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