Incremental Firmware Update Over-the-Air for Low-Power IoT Devices over LoRaWAN
Andrea De Simone, Giovanna Turvani, Fabrizio Riente
TL;DR
This paper tackles the challenge of remotely updating firmware for low-power IoT devices over LoRaWAN, where transmitting full firmware images is energy- and time-inefficient. It introduces bpatch, a lightweight delta patching method that encodes version differences using only COPY and ADD instructions with a dynamically allocated bit-length header, enabling on-device reconstruction without heavy computation or additional storage. The approach is hardware-agnostic and avoids filesystem dependencies, achieving competitive patch sizes compared with state-of-the-art delta tools. Experimental results from a real FUOTA setup show substantial reductions in update duration and energy consumption for incremental updates, validating bpatch as a practical solution for battery-powered IoT deployments and adaptable to other LPWAN technologies.
Abstract
Efficiently supporting remote firmware updates in Internet of Things (IoT) devices remains a significant challenge due to the limitations of many IoT communication protocols, which often make it impractical to transmit full firmware images. Techniques such as firmware partitioning have been introduced to mitigate this issue, but they frequently fall short, especially in battery-powered systems where time and energy constraints are critical. As a result, physical maintenance interventions are still commonly required, which is costly and inconvenient in large-scale deployments. In this work, we present a lightweight and innovative method that addresses this challenge by generating highly compact delta patches, enabling firmware reconstruction directly on the device. Our algorithm is specifically optimized for low-power devices, minimizing both memory usage and computational overhead. Compared to existing solutions, our approach significantly reduces the data volume needed for updates while maintaining performance comparable to more complex alternatives. Experimental evaluations confirm that our method yields substantial time and energy savings, making it particularly well-suited for battery-powered IoT nodes. Although our implementation targets the LoRaWAN protocol, the approach is flexible and can be adapted to other IoT communication technologies.
