1

We are planning to connect several thousands of LoRaWAN connected water meters. The expected battery life time is 8+ years. Our concern is that meter suppliers are releasing new firmware version including bug fixes quite often (~ in every 6 month) so we cannot afford not updating the firmware of our devices for a period of 8 years. Is there any way to update device's firmware over a LoRaWAN network? We are operating a ThingPark network server.

1
  • Are you able to convince the suppliers to release patches instead of full update packages ? And perhaps security only patches for an LTS release ? Sep 14 at 15:56
1

Yes firmware updates are a big issue with LPWAN networks, because they do not have the downlink capacity to do device-per-device full firmware updates as you can do using e.G. Bluetooth of WiFi.

However there is a good solution for that leveraging the fact that (1) often new Fw updates are only patches and (2) many devices require the same update.

The ThingPark platform has a module that provides reliable multicast (RMC server), allowing you to broadcast a given file to multiple radio cells at once (the multicast group is created by flagging radio cells). you can combine it with another feature of this server to automatically compute a delta patch (ThigPark FUOTA, https://www.actility.com/iot-device-firmware-update-over-the-air/), i.e. compress the new FW by sending only updates. This is actually very complex because even small patches can change pointers all over in the code... but ThingPark FUOTA does a good job at this and will typically deflate your new Fw by ~85-90%. You can create upgrade campaigns and follow progress in terms of % of devices upgraded. It automatically stops when a given success rate (e.g. 95%) is reached, and then you can restart campaigns for only the failed devices, or use other methods (e.g. on site visits and BLE) for the devices that are unreachable.

The reliable multicast part is a LoRa Alliance standard (supported by ThingPark RMC), but the delta patch isn't, so you need support in your firmware for this, but the good news is that it is available for free if you use FUOTA and there is an optimized implementation for STM MCUs (for other ports you can ask Actility). You can find the documentation and pointer to the client side GIT here: https://www.actility.com/thingpark-documentation-portal/

New contributor
Olivier HERSENT is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.