The aim of this project is to develop open source LoRaWAN modem for the Type ABZ wireless module by Murata. The firmware provides an AT command interface backward compatible with Murata Modem, Murata's proprietary LoRaWAN firmware. The firmware can be used on all Type ABZ variants with an open (user-reprogrammable) microcontroller. Binary firmware images are provided for HARDWARIO LoRa Module, Arduino MKR WAN 1300, and MKR WAN 1310 boards.
- Support for LoRaWAN 1.0.4, LoRaWAN 1.1, and regional parameters RP2-1.0.3
- Based on the most recent version (unreleased 4.7.0) of LoRaMac-node
- Support for multiple regions configurable at runtime
- All persistent LoRaWAN MAC data stored in NVM (EEPROM)
A note on LoRaWAN 1.1 compatibility
The project also provides a Python library and command line tool for managing TypeABZ LoRa modems. See this README for more information.
You will need the the embedded gcc toolchain for ARM (arm-none-eabi), git, and make to build the firmware from the source code. First, clone the repository and initialize git submodules:
git clone https://github.com/hardwario/lora-modem-abz
cd lora-modem-abz
git submodule update --init
If you wish to customize the build, edit the variables at the beginning of the Makefile. Next, build the firmware in release mode:
make release
If you wish to build a development version with logging and debugging enabled, run make debug
instead. Running make
without any arguments builds the development version by default. Please note that development builds have higher idle power consumption than release builds.
Follow the steps outlined in this wiki page to replace the proprietary firmware in HARDWARIO's LoRa Module with the open firmware.
- The Things Network (TTN) provisioning
- AT command interface Additional documentation and notes can be found in the wiki.
Bug reports, improvement suggestions, pull requests, and updates to the documentation in the wiki would be greatly appreciated!
The firmware open source, licensed under the terms of the Revised BSD License. It includes the LoRaMac-node library licensed under the Revised BSD License and portions of the STM32CubeL0 MCU firmware package licensed under the Revised BSD License.
See LICENSE for full details.