Firmware OTA Update via Edge
OTA firmware packages are created on the ThingsBoard server, automatically propagated to all connected Edge instances, and then assigned to devices or device profiles on Edge. This recipe walks through the complete workflow.
Step 1 — Upload the firmware package on the server
Section titled “Step 1 — Upload the firmware package on the server”- Log in to the ThingsBoard server and go to Devices & assets > OTA updates.
- Click Add package and fill in:
- Title: a descriptive name (for example,
sensor-fw-v2.1) - Version: the firmware version string
- Version tag: auto-populated from the title and version (
<title> <version>); override only if it must match a specific string reported by the device - Device profile: the profile of devices this firmware targets
- Package type: Firmware
- Title: a descriptive name (for example,
- Either upload a binary file, or select Use external URL and enter the download link in Direct URL.
- Click Add.
Step 2 — Confirm propagation to Edge
Section titled “Step 2 — Confirm propagation to Edge”The package is automatically pushed to all connected Edge instances.
- Log in to the Edge and go to Devices & assets > OTA updates.
- Confirm the new package appears in the list.
Step 3 — Assign the firmware to a device or profile
Section titled “Step 3 — Assign the firmware to a device or profile”- On the Edge, go to Devices & assets > Devices (or Devices & assets > Device profiles).
- Open the target device or profile and click the pencil icon (Toggle edit mode).
- In the Assigned firmware field, select the uploaded package.
- Click Apply changes.
ThingsBoard Edge notifies the device of the available update. The device retrieves the firmware chunks over its active transport (MQTT, CoAP, or HTTP).
Monitor update progress
Section titled “Monitor update progress”Go to Devices & assets > Devices, open the device, and check the Latest telemetry tab for the fw_state key (and current_fw_version once the device reports it) to track download and installation progress. The fw_title and fw_version shared attributes show the assigned target package.
For the full OTA reference including software updates and attribute keys, see OTA updates.
Was this helpful?