Over-the-Air Updates (OTA) Main Providers

From RidgeRun Developer Wiki


NVIDIA partner logo NXP partner logo






This section goes over a brief description of some of the main providers of OTA services for embedded systems, among which you can find the following:

  • Mender.io: is an open-source software for managing and deploying OTA updates for embedded linux systems. As open-source, it can be used with no cost, but it also offers paid features for companies that desire to obtain more tailored solutions. One of Mender's advantages is that it offers a wide range of community integrations for different boards, which can make the process of obtaining the desired integration simpler. Mender uses A/B redundancy to provide the possibility of rolling back updates or ensure that the system will not be affected if an update fails.
  • NVIDIA Jetson OTA: NVIDIA offers its own OTA solution for its Jetson platforms running JetPack version 4.6 or superior. It provides the ability to update specific components of the system using Debian packages or update the complete image of the system with packages created by the user. It also allows updating only some key system components like the device tree or bootloader.
  • Memfault: is a platform that focuses mostly on diagnostics and monitoring of IoT devices running on several platforms, such as Linux, Android, or MCU. It also offers the possibility of deploying OTA updates, detecting malfunctions or issues with a particular update, and rolling it back before it affects all devices selected initially as targets.
  • RAUC: Similar to Mender, RAUC is an open-source platform that offers OTA updates for embedded Linux devices. It offers custom frameworks that can be adapted to more specific device needs, and it also uses A/B redundancy to allow rolling back an update. RAUC offers built-in HTTPS streaming, so extra storage in the device may not be required.
  • SWUpdate: is a fully open-source framework under the GPLv2 license that provides a reliable way to update software on embedded systems via external local media or over the network using an embedded web server. It supports a wide range of storage types and devices, and allows custom handlers for installing FPGA and micro-controller firmware. Features include one-key updates with no operator intervention, OTA delivery, hardware/software compatibility checks, power-off-safe updates, and integration with TUF (The Update Framework) to ensure the authenticity of software updates. While highly configurable, it requires manual setup and development effort for advanced functionality.
OTA providers
Feature Mender NVIDIA Jetson OTA Memfault RAUC SWUpdate
Supported platforms Embedded Linux devices NVIDIA Jetson platforms Embedded platforms such as Linux, Android or MCU Embedded Linux devices Embedded Linux devices
Implementation Official support for Yocto and Debian based OS images Official guides for implementation on Linux for Tegra Official implementation guides for Linux, Android and MCU Official Yocto support Official support for Yocto, Buildroot, and Debian based OS images
Main use OTA updates with support for rollback and automatic update checking. Possibility to create custom update modules to perform updates defined by the user, such as updating an specific partition Deploy updates for Jetson platforms with the possibility to update all systems components as a whole or as individual components. Can be used for updating specific components such as the bootloader or device tree Platform for embedded device monitoring with support for OTA updates. Collects device data such as crash reports, health metrics and usage analysis, it has the ability to detect possible issues with a deployed update and roll it back before it affects all target devices Lightweight platform for OTA updates, supports A/B partitioning for rolling back updates without issues or having a security measure in case an update fails. It has the ability to stream update bundles over HTTPS so that it is not necessary to download in the target device to apply an update. Framework for updating embedded devices locally or remotely. It supports both single-copy and double-copy update approaches, offering high customization for different projects.
GUI to manage updates Yes No Yes No No
Ability to rollback updates Yes, through A/B partitioning Restore previously backed up files Yes Yes, through A/B partitioning Yes
Updates to critical system components Yes, through custom update modules Yes Possibility to update firmware Yes Yes, but may need custom scripts or handlers