This project develops an open-source LoRaWAN modem firmware for the Type ABZ wireless module by Murata. The firmware provides an [AT command interface that is backward and compatible with Murata Modem, Murata's proprietary LoRaWAN firmware. The firmware can be used on all Type ABZ variants with an open (user-programmable) microcontroller (also known as OpenMCU).
- Support for LoRaWAN 1.0.4, LoRaWAN 1.1 (note on compatibility), and regional parameters RP2-1.0.3
- Based on the most recent version (4.7.0) of LoRaMac-node
- Support for multiple regions configurable at runtime
- All persistent LoRaWAN MAC data stored in NVM (EEPROM)
- Very low power consumption (1.4 uA when idle)
The project also provides a high-level Python library and command line tool for managing Type ABZ LoRa modems. See this README for more information.
Binary firmware images for several platforms embedding the Type ABZ module are available from the Releases page. We generate a pre-configured firmware variant for each of the following platforms:
- HARDWARIO LoRa Module
- HARDWARIO Chester
- Arduino MKR WAN 1300
- Arduino MKR WAN 1310
- ST B-L072Z-LRWAN1 Discovery Kit
The STM32 Cube Programmer or the HARDWARIO firmware flashing tool can be used to flash the firmware into the Type ABZ module. Steps to flash the firmware into HARDWARIO Tower LoRa Module are described in the wiki. Firmware update tool for the Arduino MKR WAN 1310 can be found here.
You will need the embedded gcc toolchain for ARM (arm-none-eabi), git
, and make
to build your own firmware binary from the source code. First, clone the repository and initialize git submodules:
git clone https://github.com/hardwario/lora-modem
cd lora-modem
git submodule update --init
If you wish to customize the build, edit the variables at the beginning of the Makefile (or override them at the make
command line). Then run make
to build the firmware in release mode:
make
If you wish to build a development version with logging and debugging enabled, run make debug
instead. Please note that development builds have higher idle power consumption than release builds.
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 is 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 complete details.