IoT firmware OTA updates
Since Jul 5Updated Oct 28, 2026Based on 103 AI responses
Reviewed by Dimitry Apollonsky
Brands AI mentions
Also mentioned rarely: Azure IoT Hub, BalenaCloud, Microsoft Azure, Eclipse HawkBit, AWS, AWS IoT, SWUpdate, RAUC, Foundries.io, MCUboot, Particle · particle.news, Anedya, FreeRTOS, nRF Cloud, ThingsBoard, Zephyr Project, Google Cloud Storage, Docker, Espressif ESP32, MCUmanager, National Institute of Standards and Technology (NIST), nRF Connect SDK, STMicroelectronics, Thistle, Verizon
| Mentioned in | ChatGPTChatGPT | Google AI ModeGoogle AI Mode |
|---|---|---|
| Mender | 98% | 92% |
| Memfault | 92% | 75% |
| AWS IoT Device Management | 85% | 65% |
| Particle | 29% | 67% |
| Golioth | 19% | 61% |
Questions and answers
Google AI ModeOct 20, 2026
Implementing over-the-air (OTA) firmware updates for remote connected devices
requires a robust, secure, and fault-tolerant architecture. Here is a step-by-step breakdown of how to build and implement a reliable OTA workflow:- Architecture components:
- Device Management Server: Coordinates update campaigns, tracks device states (current firmware version, connectivity status), and targets specific device groups.
- Secure Storage / Artifact Registry: Stores signed firmware binary images securely (e.g., AWS S3, Google Cloud Storage) with versioning control.
- Communication Protocol: Uses lightweight, reliable protocols like MQTT (via TLS) or HTTPS for telemetry and binary chunk delivery.
- Bootloader: A specialized, secure secondary bootloader on the device capable of swapping partitions or applying updates.
- Security implementation:
- Cryptographic Signing: Always cryptographically sign the firmware binary using a private key on your build server before uploading it to storage.
- Secure Verification: The device must verify the cryptographic signature using a pre-installed public key before flashing the new image.
- Secure Boot / Hardware Root of Trust: Utilize hardware security modules (like an ECC chip or secure element) or built-in microcontroller features to ensure unauthorized firmware cannot execute.
- Update strategies and partitioning:
- Dual-Bank (A/B) Partitioning: Flash memory is split into two regions (A and B). The active bank runs the current firmware while the background bank receives the new image. If verification passes, the bootloader switches the active pointer. If it fails, it rolls back safely.
- Single-Bank Partitioning: Used for memory-constrained devices where the update is downloaded to external flash or a temporary sector before overwriting, though this carries a higher risk of bricking if interrupted.
- Rollback Mechanism: The system must automatically revert to the previous working version if the new firmware fails a health check or crashes repeatedly on first boot.
- Step-by-step deployment workflow:
- Build and Test: Compile code, run automated tests, and generate the final binary artifact.
- Sign Artifact: Cryptographically sign the binary and register its checksum (e.g., SHA-256) in the management database.
- Staged Rollout: Deploy to a small canary group (e.g., 1% of devices) to monitor for unexpected bugs or bootloops.
- Broad Campaign: Scale the rollout progressively to larger cohorts or regions.
- Monitoring and Telemetry: Track success and failure rates in real-time, leveraging device health logs post-update.
If you'd like, let me know:
- What microcontroller or hardware platform you are using (e.g., ESP32, STM32, Linux gateway)
- What cloud or backend infrastructure you prefer (e.g., AWS IoT, Azure, self-hosted)
I can provide a more tailored architectural layout or code example.
ChatGPTOct 20, 2026
Implementing remote firmware updates is usually done through an over-the-air (OTA) update workflow. Your devices connect to a cloud service, receive an authorized update job, download new firmware, verify it, install it, and report whether the update succeeded—all without anyone needing physical access.
The most important design principle is to make updates secure, resumable, observable, and recoverable. A device that loses power or connectivity during an update should not become permanently unusable. AWS's IoT architecture guidance specifically recommends staged deployments, firmware signing, fleet monitoring, and rollback capabilities.
1. Recommended architecture
1. Firmware build pipeline
Compile, test, version, and cryptographically sign the firmware
2. Firmware repository + OTA orchestrator
Store binaries, select target devices, schedule jobs, and control rollout waves
Authenticated command channel + secure download
3. Device OTA agent
Check compatibility, download, verify, install, reboot, and report status
4. Health checks and recovery
Confirm the new version is healthy; pause deployment or roll back if necessary
The device typically maintains an outbound connection to the cloud using MQTT over TLS or HTTPS. The cloud can then notify it of pending work without requiring inbound connections to the device or a VPN into its network. The OTA agent on the device is the component that actually applies the update.
2. Build the workflow step by step
-
Prepare and sign the firmware artifact.
Build the binary in CI/CD, run automated tests, assign a unique version, and produce a manifest containing the target hardware model, version, file size, and cryptographic hash. Sign the firmware or manifest with a protected signing key. Keep the private signing key out of the device and ordinary build logs.
-
Register and segment your device fleet.
Track each device's unique identity, hardware revision, installed firmware version, connectivity, and deployment group. Create groups such as development, canary, production, and high-criticality devices so an update can target the correct hardware.
-
Create a remote update job.
An administrator or release pipeline selects the firmware version, target devices, deployment window, retry policy, and rollout limits. The cloud sends a notification or job instruction over an authenticated channel; the device then downloads the artifact over HTTPS or another supported secure transport.
-
Verify before installing.
The device checks the signature against a trusted public key, verifies the hash, validates the hardware model and version policy, and checks available storage and power conditions. Reject an invalid, incompatible, or unauthorized image.
-
Install with recovery protection.
Prefer a bootloader with A/B firmware slots or an equivalent recovery mechanism. Write the new image to the inactive slot, reboot into it as a trial, and mark it as permanent only after the device passes its health checks. If the boot or health check fails, revert to the known-good image.
-
Verify fleet health and continue the rollout.
Have devices report download, verification, installation, reboot, and final health status. Begin with a small canary group, inspect results, and automatically pause or roll back when failure rates or health metrics exceed defined thresholds.
3. Choose an OTA platform
The best implementation depends on the operating system, microcontroller, connectivity, and cloud infrastructure you already use.
AWS IoT Device Management and AWS IoT Jobs
Best if you're already using AWS IoT Core. Provides remote job execution, deployment status tracking, and integration with firmware storage and code signing. FreeRTOS also provides an OTA workflow for supported devices.
Documentation:
Azure Device Update for IoT Hub
Best if your devices already use Azure IoT Hub. Supports deploying updates to device groups, monitoring deployment compliance, and configuring rollback policies.
Documentation:
Eclipse hawkBit
Worth evaluating if you want an open-source OTA backend that you can host and integrate with your own device-management infrastructure. You'll need to validate the device-side agent, bootloader integration, and security controls for your particular hardware.
Project:
For a small embedded device fleet, I'd generally start with a managed OTA service if it supports your hardware. For Linux-based gateways, custom appliances, or an existing self-hosted infrastructure, evaluate the update framework against your current boot and recovery system.
4. Define deployment rules and failure handling
These are reasonable starting defaults for a production workflow; tune them based on the consequences of a failed update.
Control Suggested starting policy Initial rollout 1–5 low-risk devices Next rollout wave 5–10% of the fleet Full rollout Proceed only after canary health checks pass Network interruptions Resume downloads safely; retry with backoff Invalid signature Reject immediately and raise an alert Excessive failures Pause the rollout and investigate Failed boot Automatically revert to known-good firmware, if supported Audit trail Record artifact version, target devices, timestamps, results, and operator or pipeline identity Keep signing keys protected, use per-device credentials, enforce authorization for deployment jobs, and prevent unauthorized downgrades to vulnerable versions. Test power loss and connectivity loss during every update phase before relying on unattended updates. These measures align with NIST's firmware resiliency guidance and IoT software-update security recommendations.
5. Tailor the implementation to your devices
The next step is choosing the right OTA agent, bootloader strategy, and cloud workflow for your hardware.
What kind of devices are you updating?
ESP32 or another microcontroller running FreeRTOS
STM32 or another bare-metal microcontroller
Embedded Linux gateway or appliance
Other or custom hardware
How do the devices connect?
Wi-Fi
Ethernet
Cellular (LTE/5G)
LoRaWAN or another low-bandwidth network
Which cloud or deployment environment do you use?
AWS
Microsoft Azure
Self-hosted / open source
Not chosen yet
Approximately how many devices?
Under 100
100–1,000
1,000–10,000
Over 10,000
Does your hardware support recovery?
A/B firmware partitions or dual-bank flash
Bootloader recovery only
Not sure yet
[Design my OTA workflow]
With those details, I can recommend a specific architecture and outline the implementation from firmware build and signing through remote deployment, health monitoring, and automatic recovery.
Sources cited in this answer9
- docs.aws.amazon.comFirmware updates - Internet of Things (IoT) Lens
- docs.aws.amazon.comChange management - Internet of Things (IoT) Lens
- pages.nist.govpages.nist.gov
- nvlpubs.nist.govPlatform Firmware Resiliency Guidelines
- docs.aws.amazon.comOTA tutorial - FreeRTOS
- learn.microsoft.comDeploy an update by using Azure Device Update for IoT Hub
- learn.microsoft.comSecure your Azure IoT Hub deployment
- eclipse.devEclipse hawkBit
- tsapps.nist.govIoT Device Cybersecurity Guidance for the Federal Government: IoT Device Cybersecurity Requirement Catalog
- Architecture components:
Google AI ModeOct 11, 2026
Choosing the "best" Over-The-Air (OTA) update platform for embedded systems depends heavily on your operating system (bare-metal/RTOS vs.
embedded Linux), hardware constraints , and whether you want a fully managed cloud service or an on-premise/open-source tool.-
Mender: An open-source (with commercial enterprise tiers) standard built specifically for connected Linux devices. It features robust dual-rootfs (A/B partition) atomic updates with automatic rollback safety if an update fails. It integrates smoothly with the Yocto Project.
-
balenaCloud: Excellent if you want to manage your embedded Linux fleet using Docker containers . It pushes delta updates and abstracts away underlying OS management, though it relies heavily on the balena ecosystem and balenaOS.
-
RAUC / SWUpdate: Highly respected, production-proven open-source Linux-native update clients. They handle low-level robust A/B partition switching and cryptographic verification, but they are frameworks rather than turnkey cloud platforms—meaning you wire them up to a backend like Eclipse hawkBit.
-
Golioth: A modern, developer-focused IoT platform built explicitly with constraints of microcontrollers (FreeRTOS, Zephyr) in mind. It provides lightweight SDKs and a cloud backend that makes managing rollouts and remote procedure calls on smaller MCUs seamless.
-
Particle: A fantastic full-stack solution (hardware, cellular/Wi-Fi connectivity, and cloud device management) if you are building a product from scratch or using their modules. It handles rock-solid, failsafe OTA mechanics transparently out of the box.
-
Memfault: Stands out because it combines traditional OTA update orchestration with deep device observability and crash analytics . If your devices run into memory leaks or hard faults in the field, Memfault captures the core dump, helps you debug it, and lets you push the targeted firmware fix safely.
-
AWS IoT Jobs / AWS IoT Core: Highly scalable if your infrastructure already lives heavily inside Amazon Web Services. It allows you to define massive deployment jobs, target specific device subsets, and enforce strict AWS security policies.
-
Azure Device Update for IoT Hub: Microsoft’s enterprise-grade solution integrated closely with Azure IoT Hub, tailored for large industrial or commercial fleets needing strict role-based access control and staged rollouts.
To help narrow down the best fit, tell me a bit more about your setup:
- Memfault or RTOS vs. Embedded Linux?
- Are you looking for a fully managed SaaS cloud or an open-source / self-hosted backend?
- What kind of connectivity do your devices use (Cellular, Wi-Fi, LoRaWAN, BLE)?
ChatGPTOct 11, 2026
Best OTA firmware update platforms for IoT devices
For most IoT deployments, I’d shortlist Mender, Memfault, and AWS IoT Device Management Jobs first. The best choice depends on your hardware, firmware architecture, cloud environment, and how much control you need over the update process.
A good over-the-air (OTA) platform does more than deliver a firmware image. It should support secure delivery, staged rollouts, device health monitoring, failure recovery, and fleet-wide version management.
Top platforms to consider
1. Mender
(Best for embedded Linux)
Strong choice for Linux-based gateways, industrial devices, and products built with Yocto or Debian. Offers open-source components, fleet deployments, staged rollouts, and A/B root-filesystem updates with rollback support.
Best if you want deployment control and flexibility without tying everything to one cloud provider.
Website ·
2. Memfault
(Best for firmware reliability)
Particularly compelling for MCU-based products, RTOS devices, and embedded Linux systems. Combines OTA releases with crash diagnostics, device health metrics, release monitoring, and full or delta updates.
Best if you want to know whether new firmware is actually making devices healthier, not just whether it installed.
Website ·
3. AWS IoT Device Management Jobs
A natural fit for fleets already built around AWS IoT Core. Jobs coordinate software or firmware updates, while AWS provides the cloud-side device management and code-signing integration. Your device firmware still needs an update agent or bootloader implementation suited to its hardware.
Best if you want OTA integrated with your existing AWS infrastructure.
4. Azure Device Update for IoT Hub
A strong option for Azure-centered fleets. Supports package-based and image-based updates, device groups, staged deployments, and rollback workflows for supported configurations. It also provides an extensible agent for other device platforms.
Best if your device identity, monitoring, and operations already live in Azure.
Quick comparison
Platform Best fit Main advantage Mender Embedded Linux Open ecosystem and robust OS updates Memfault MCU, RTOS, Linux OTA plus diagnostics and reliability monitoring AWS IoT Jobs AWS-connected devices Cloud-native fleet orchestration Azure Device Update Azure-connected devices Integrated device management and deployment These are qualitative fit assessments, not a benchmark of update speed, total cost, or reliability; those depend on your hardware and implementation.
What I would prioritize before choosing
Regardless of platform, make sure your OTA design supports:
- Signed firmware and verification on the device so unauthorized images cannot be installed.
- Power-loss-safe updates and rollback so a failed update doesn't permanently brick a remote device.
- Staged deployments such as internal test devices, a small canary cohort, and then the full fleet.
- Hardware and version targeting so incompatible firmware never reaches the wrong board revision.
- Low-bandwidth and interrupted-download recovery if devices have cellular, intermittent Wi-Fi, or limited power.
- Fleet health monitoring with success rates, failed installs, boot failures, and a way to halt a rollout.
One important distinction: a cloud OTA platform coordinates releases, but the device-side bootloader, update agent, flash layout, and recovery logic determine much of the actual update safety.
My recommendation
- Choose Mender if you're primarily updating embedded Linux devices and want flexibility.
- Choose Memfault if firmware quality, field diagnostics, and MCU/RTOS support are equally important.
- Choose AWS IoT Jobs or Azure Device Update if you're already committed to the corresponding cloud ecosystem.
To narrow this down to the best platform for your devices, what hardware and firmware are you running?
1. Device platform
MCU / RTOS (STM32, nRF52, ESP32, Zephyr, FreeRTOS)
Embedded Linux (Yocto, Buildroot, Debian)
Both MCU and Linux
Other / not sure
2. Cloud environment
AWS
Azure
Cloud-agnostic / no preference
Self-hosted infrastructure
3. Expected fleet size
Under 1,000 devices
1,000–10,000 devices
10,000–100,000 devices
Over 100,000 devices
4. Hosting preference
Managed cloud service
Self-hosted / on-premises
Open source preferred
[Compare the best fit]
Sources cited in this answer11
- mender.ioOver-the-air software updates for IoT devices | Mender
- github.comGitHub - mendersoftware/mender: Mender over-the-air software updater client. · GitHub
- docs.mender.ioMender Docs | Mender documentation
- docs.memfault.comOver-the-Air Updates (OTA) | Memfault Docs
- docs.memfault.comIntroduction to Memfault | Memfault Docs
- memfault.comHomepage: Embedded Observability Platform for IoT Monitoring, Firmware Debugging, OTA Updates - Memfault
- docs.aws.amazon.comAWS IoT Device Management Documentation
- docs.aws.amazon.comManaging jobs - AWS IoT Core
- learn.microsoft.comIntroduction to Device Update for Azure IoT Hub | Microsoft Learn
- learn.microsoft.comAzure Device Update for IoT Hub agent overview | Microsoft Learn
- learn.microsoft.comDevice Update for IoT Hub documentation | Microsoft Learn
-
Google AI ModeOct 5, 2026
When choosing a cloud-based firmware OTA (over-the-air) update service for a hardware product, the "best" choice
depends heavily on your operating system(embedded Linux vs. a lightweight Real-Time Operating System / RTOS like FreeRTOS or Zephyr) and whether you want a full vertical stack or a modular tool.The top cloud-based OTA and device management services on the market are categorized below by their strengths:
- Mender : Best open-source and enterprise-grade OTA for Embedded Linux . It features robust A/B rootfs partitioning, automatic rollbacks if an update fails (preventing bricked devices), and a clean management server (available as hosted cloud or self-hosted).
- Memfault : Best for advanced observability and debugging . It isn't just an OTA deployment tool; it captures crash reports, metrics, and fleet-wide health diagnostics alongside delivering the firmware updates. Works exceptionally well for both RTOS and Linux.
- Particle : Best all-in-one vertical stack (hardware, cellular/Wi-Fi connectivity, and cloud management). If you use their ecosystem, their OTA is dead-simple, highly resilient, and works out of the box in minutes. Not ideal if you've already custom-built your own non-Particle board design.
- balenaCloud : Best for containerized edge devices . If your hardware runs a heavier Linux OS and you want to push updates via Docker containers rather than raw binary blobs, balena handles delta updates and fleet management smoothly.
- Golioth : Best modern, developer-focused platform optimized for constrained devices and RTOS (Zephyr, FreeRTOS). It provides lightweight CoAP/MQTT connectivity and a streamlined web console specifically built for low-power microcontrollers.
- AWS IoT Jobs / Azure Device Update : Best for massive enterprise scale if you are already deeply embedded in the AWS IoT Core or Microsoft Azure IoT Hub ecosystems. They offer deep security compliance and staging rings, though they come with a steeper configuration learning curve.
To help narrow down the ideal choice, tell me a bit more about your hardware:
- What microcontroller or processor are you using (e.g., ESP32, STM32, a Cortex-A Linux chip)?
- Are you running a Bare-metal/RTOS or Embedded Linux?
- Do you already have a cloud provider (like AWS) in mind for your backend data?
ChatGPTOct 5, 2026
Yes. For a new hardware product, I’d shortlist Mender, Memfault, AWS IoT OTA, and balena—but the right choice depends heavily on whether your device is a constrained MCU or a Linux computer.
Service Best fit Strengths Main drawback Mender Linux + embedded Excellent OTA deployment controls, rollback, phased rollouts, delta updates, open-source option More infrastructure/embedded integration than a turnkey MCU service Memfault MCU, RTOS, Linux, Android OTA + crash/debug telemetry + fleet monitoring in one platform More expensive; OTA management is an optional component of paid plans AWS IoT Teams already building on AWS Deep AWS integration, device groups/jobs, signing, scalable infrastructure Considerably more engineering/DevOps work balena Linux SBCs/gateways Extremely polished device fleet management and application deployment Primarily a Linux/container platform, not a generic MCU OTA solution My recommendation
If you're building a connected MCU product: I'd look very seriously at Memfault.
It supports MCU RTOS, Linux, and Android, and its OTA system is designed to work with different bootloaders/data paths. More importantly, you get fleet telemetry alongside OTA, so you can answer "did this firmware update make devices crash more often?" rather than merely knowing whether the download succeeded. Memfault advertises staged rollouts, delta updates, cohorts, and OTA monitoring.
If you're building a Linux-based product: Mender would probably be my first evaluation.
Mender has particularly strong OTA mechanics: atomic updates, rollback/integrity checking, delta updates, scheduled deployments, automatic retries, phased rollouts, dynamic groups, and mTLS. It also has an open-source core and hosted cloud offering. Current hosted pricing starts at $34/month for up to 50 devices on Basic and $291/month for up to 250 devices on Professional; Enterprise is custom.
If you're already deeply invested in AWS: AWS IoT OTA is a perfectly legitimate choice and can be very cost-effective at scale. AWS provides signed firmware, device/group targeting, deployment monitoring, and HTTP/MQTT delivery. The catch is that you own considerably more of the integration and operational architecture.
One important distinction
Don't choose an OTA provider based solely on "can it send my
.binfile?"For a real commercial product, I'd require:
- Cryptographic firmware signing and verification
- A/B or equivalent fail-safe update mechanism
- Automatic rollback after failed boot/self-test
- Staged/phased deployments
- Device cohorts/groups
- Version/hardware compatibility rules
- Ability to halt a rollout immediately
- Update progress and failure telemetry
- Secure device identity/authentication
- CI/CD API
- Delta updates if bandwidth is expensive
- Long-term support for your bootloader and hardware revisions
AWS's OTA documentation explicitly calls out signing, integrity verification, self-testing, and application-defined commit/rollback logic; these are the sorts of mechanisms I'd make architectural requirements rather than optional features.
What I'd pick for a startup
If I were making the decision today:
MCU + cellular/Wi-Fi → Memfault
Linux SBC/gateway → Mender
Linux + containers → balena
Already AWS-centric + strong engineering team → AWS IoTbalena is especially attractive if your "device" is essentially a Linux computer: its current production plan is positioned for fleets from 1K–1M devices, with fleet/application management built around the platform.
If you tell me your MCU/SoC (e.g. ESP32, nRF52, STM32, i.MX, Raspberry Pi), OS/RTOS, connectivity (Wi-Fi/cellular/etc.), expected fleet size, and whether you need telemetry, I can narrow this to one or two choices and compare their actual integration architecture and estimated cost.
Sources cited in this answer9
- mender.ioOver-the-air software updates for IoT devices | Mender
- memfault.comHomepage: Embedded Observability Platform for IoT Monitoring, Firmware Debugging, OTA Updates - Memfault
- aws.amazon.comAWS IoT – Industrial, Consumer, Commercial, Automotive – AWS
- balena.iobalena - Powerful IoT device management made simple
- memfault.comOTA Firmware Updates for IoT & Embedded Devices | nRF Cloud
- mender.ioPricing - Plans | Mender
- docs.aws.amazon.comFreeRTOS Over-the-Air Updates - FreeRTOS
- docs.aws.amazon.comAWS IoT Over the air (OTA) library - FreeRTOS
- balena.ioPricing - balena