Hi there TTN community,
We present you a new LoRaWAN stack, as of now in open beta: RadioLib!
(GitHub - jgromes/RadioLib: Universal wireless communication library for embedded devices)
After countless hours of work during the past months, we are now looking for people to try out this brand new stack. It isn’t in an official version release yet as it’s in beta, so you’ll have to clone the repo yourself.
Side note: DO NOT post bugs and issues here - refer to the GitHub link for those.
Here are some of the current highlights - as far as a beta-version can be trusted:
- LoRaWAN v1.1 from the ground up
- Runs on a lot of platforms
- SX126x implemented
- SX127x implemented
- Complete ADR and other common server-side MAC commands
- Complete session persistance on EEPROM-enabled boards (looking at you, ESP32 & Pico!) allowing real deepsleep and battery swaps
- Support for both dynamic bands (e.g. EU868) and fixed bands (e.g. US915)
- Support for boards with drifting clocks (looking at you, Atmel)
- Self-contained (no external dependencies)
- Many more (future…)
The stack has been tested (read: compiled + handful of uplinks/downlinks) on the following platforms & modules:
- ESP32 & SX1276 (TTGO LoRa32 T3 v1.6.1)
- SAMD & SX1276 (Adafruit Feather M0 with RFM95)
- ESP32-S3 & SX1262 (Heltec Wireless Stick Lite V3)
- ASR605x & SX1262 (Heltec Cubecell AB-01)
- Pico / RP2040 & SX1262 (RAK11300)
- ATmega4808 & SX1262
And tested on the following regions:
- EU868 (extensively during development)
- AU915 (smoke tested, just a couple of hours)
- US915 (smoke tested, just a couple of hours)
Over the course of the 2023’s summer, RadioLib’s author Mr. Gromes added initial support for LoRaWAN by providing all the essentials for joins, uplinks and downlinks. But while he may be an RF expert and implemented the fundamentals, this was by no means a functional LoRaWAN stack. So, encouraged by @descartes, I took this opportunity to learn the LoRaWAN specification once and for all and spent all my spare time (and some sweat and tears) on getting this here.
Let’s use this topic as a meta-topic about RadioLib’s LoRaWAN stack. Can you help test this stack? Please share your experience, successes, questions and ideas for improvements here!
Do NOT use this thread for actual bugs and problems - refer to GitHub for those and don’t forget to include debug information.
I’ll try to keep an eye on the feedback, but please know that I’m a full-time student plus part-time teacher, and I’d like to point out once more that this is a beta-version: expect bugs, don’t expect us to fix all your problems. You are strongly requested to contribute yourself (or at least propose solutions to make it easier)!
Finally, is RadioLib going to be the solution you’re looking for, and are you in a position to compensate my students for their teacher being distracted the last months? They would love some extra hardware for their LoRaWAN-enabled air quality boxes. Please check out https://www.meetjeleefomgeving.nl/contributing/. And while you’re at it, I am most definitely sure @descartes could use more than a few beers to drink away all the headaches and crises I’ve caused him! Really, Nick, I’m very grateful for all the support, you were a great sparring partner during the process and the supplier of most of the boards and dev environment. Thank you! I’d have quit three times over otherwise…
And who knows… will LMIC be able to retire for all but the smallest boards?
But let’s not forget that all of this was only possible because of RadioLib’s main developer Mr. Gromes. Definitely deserves the credits!