You Can Now Update Device Firmware Over LoRaWAN with Arm Mbed OS
About three months ago, the LoRa Alliance formalised standards to allow firmware updates over the air on a LoRaWAN network. This was a massively important step for the emerging low-powered networking standard at a time when LoRa is taking an arguable, abet perhaps somewhat shaky, lead in the battles amongst the three main competing standards for domination of the low-power wireless space and the Internet of Things.
But, at least up until now, I hadn’t yet seen a demonstration of the new standards in action, which is where Jan Jongboom, the Developer Evangelist for Arm’s Mbed OS comes in. Because he’s just published demonstration code for firmware update via LoRaWAN for Arm’s Mbed 5.0 platform.
The code was apparently first demoed back in June at the LoRa Alliance All Members Meeting in Philadelphia, ahead of the standards becoming formally finalised, by Jongboom and Johan Stokking, the Co-Founder and Technical Lead of The Things Network.
However in the wake of the formal ratification of the firmware update standards by the LoRa Alliance, this week saw Jongboom publish their example application to the project’s GitHub repo, under the Apache License. Built on Mbed OS 5.10, it also requires that this OS has a patch for session serialisation, before it is compiled.
Jongboom’s example multicast firmware update application for Mbed 5.0 implements the recently published LoRaWAN Remote Multicast Setup Specification v1.0.0, the Fragmented Data Block Transport Specification v1.0.0, and the Application Layer Clock Synchronization Specification v1.0.0. It also implements delta updates, as well as cryptographic verification of new firmware, and bootloader for flashing new firmware images.