-
Notifications
You must be signed in to change notification settings - Fork 3
LoRa Module Firmware Update
The Hardwario LoRa Module embeds the Type ABZ LoRa modem with proprietary firmware from Murata. The proprietary firmware can be replaced with the open firmware developed in this project. This wiki page provides step-by-step instructions for performing the update.
You will need the following:
- A recent version of the lora-modem-abz firmware
- A USB-UART converter with support for 3.3 V levels, e. g., UC00A from Cytron
- A breadboard and a bunch of male-male jumper wires
If you have a USB-UART converter with configurable voltage levels, make sure you have 3.3 V selected. Connect the LoRa Module to the USB-UART converter as shown in the following diagram. There is no need to solder to make the connection. The connector holes on the LoRa module are gold plated. It is sufficient to stick breadboard male jumper wires through and fix them in place for good contact.
In this configuration, the LoRa module is powered from the USB-UART converter. The BOOT pin is permanently connected to VCC (3.3 V) to force the module to enter the STM bootloader on the next reset. The RESET pin remains initially unconnected (floating). RXD pin on the USB-UART converter is connected to the TXD pin on the module. The TXD pin on the USB-UART converter is connected to the RXD pin on the module.
Power on the USB-UART converter and briefly connect the RESET pin to GND. Then disconnect the RESET pin again (let it float). Please note that the STM bootloader has an internal timeout. Thus, you should perform the reset shortly before executing the following command.
Use the Hardwario firmware flashing tool to upgrade the firmware as follows:
bcf flash --device </dev/ttyUSBx> --unprotect --slow <firmware.bin>
where firmware.bin
is the firmware binary file you wish to flash and /dev/ttyUSBx
is the character device for your USB-UART converter.
The proprietary Murata firmware protects the system flash memory on first boot. If you are replacing the proprietary firmware, the command line option --unprotect
is necessary to unlock the flash before the update. The command line option --slow
configures bcf
with the baud rate 115200 which gives more reliable results. If everything goes well, the bcf
tool should show the following:
Unprotect Read OK
Unprotect Write OK
Erase [####################] 100.0%
Write [####################] 100.0%
Verify [####################] 100.0%
That's it. Your LoRa Module is now running an open LoRaWAN network stack!