FUOTA (Firmware Update Over The Air) with ChirpStack
The following steps describe the setup and execution of firmware updates (FUOTA) for LoRaWAN devices using the ChirpStack Application Server.
Prerequisites
Before you begin, make sure the following prerequisites are met:
- An installed and running ChirpStack v4 server.
- The new firmware file as a
.sbinfile. - The devices are connected to the ChirpStack server.
- The Device Profile for your devices has the sleep time configured as the Expected uplink interval (secs). The default value would be
300s.
Setup
1. Create ChirpStack FUOTA Deployment
First, a new FUOTA deployment must be created. This option can be found in the ChirpStack application where your device is located. ChirpStack automatically creates the multicast group for the FUOTA.
The following settings are recommended:
- Unicast retry count (max):
5 - Multicast data-rate:
4(depending on the distance of the devices) - Fragmentation redundancy (%):
25% - Multicast timeout:
4096 s - Fragment size:
192 bytes - Payload: the new firmware (
.sbin)
2. Add Devices to the Deployment
All end devices that should receive the same firmware can be updated simultaneously. In the Devices overview of the application, selected devices can be added to a FUOTA deployment using the Selected Device button.
3. Add Gateways to the Deployment
Similarly to the end devices, the corresponding gateways must also be added to the FUOTA deployment.
4. Start FUOTA
Once FUOTA is configured and all desired end devices and affected gateways have been added to the FUOTA deployment, the FUOTA can be started.
Note: The complete FUOTA process takes about 2 hours – depending on the number of devices, the configured Unicast retry count, and the Fragmentation redundancy. The time the device is in Class-C mode (Always On – receiving the FUOTA packets) is approximately 30–60 minutes.
