Jump to content

Over-the-Air Updates (OTA)

From RidgeRun Developer Wiki

🚧 Documentation is under development

The RidgeRun Platform Security Manual guide is currently under active development. Some sections may be incomplete or change without notice.

Questions? Contact RidgeRun or email to support@ridgerun.com.

Follow us on: YouTube Twitter LinkedIn Email Share this page

Share This Page

NVIDIA partner logo NXP partner logo





Over-the-Air Updates

Also known as over-the-air programming, Over-the-Air (OTA) Updates allow developers to provide software updates to an embedded system without requiring physical access to the device. However, for this technique to be used, the device needs to have a network connection. OTA allows providers to update several software components of a system, ranging from small updates to specific configurations to larger updates to the root file system or device firmware. This technique can be especially relevant for embedded systems installed in locations that are difficult to access. It is also useful for products that have already been deployed, as recalling all devices to apply updates through a physical connection may not be practical.

Fig 1. Industries that benefit from OTA. Source: Cavli Wireless: FOTA and firmware updates

Because over-the-air updates make the update process easier and faster, they allow developers to keep their systems up to date with the latest software versions, helping ensure the correct functionality and security of the product. This becomes especially relevant when bugs or security vulnerabilities are discovered after a product has been released. As soon as an updated software version containing the corresponding fixes is ready, it can be deployed remotely to affected devices without requiring physical access, reducing the risk of known vulnerabilities being exploited. While OTA provides an effective solution for updating remote devices, there are several aspects that developers need to consider when implementing an OTA solution. For example, if a device is being updated remotely and its network connection is interrupted during the update process, the device could be left in an unusable state. Some of the most important aspects to consider are the following:

  • Reliability: Network interruptions or failures during the update process can seriously affect a device. Therefore, robust recovery mechanisms should be implemented to allow the system to recover if an update fails. One example is the use of a dual-partition or A/B update scheme.
  • Security: The OTA process must be secured to prevent unauthorized or malicious updates from being installed. OTA can be combined with mechanisms such as Secure Boot, cryptographic signature verification, and hardware-backed key protection to ensure that only authorized software is installed and executed.
  • Resource Constraints: Because embedded systems often have limited storage, memory, processing power, and network bandwidth, the OTA implementation should account for the resources required to download, verify, and install an update.
  • Version Compatibility: When different hardware revisions or product configurations exist, the OTA system must ensure that each device receives a compatible update. Update management tools can help identify devices and distribute the appropriate software version.

OTA typically works by making an update package available through a remote update service or server that OTA-enabled devices can access. Devices can check for available updates periodically or in response to specific events, such as establishing a network connection or receiving an update notification. When an update is available, the device downloads the corresponding package. Before installation, the update should be verified to ensure its integrity and authenticity. If the update is successfully verified and determined to be authorized, it can then be installed. The exact installation and activation process depends on the OTA implementation and may include additional mechanisms such as health checks, rollback, or A/B partitions to recover if the new software fails to operate correctly.

Fig 2. OTA process illustration. Source: Cavli Wireless: FOTA and firmware updates


Example: Mender.io

Mender is a project that allows the OTA (over-the-air) updates on embedded Linux devices in a robust and secure way. Mender has support for multiple platforms. To learn more about their client-server architecture and how to implement it in your embedded Linux platform, check out RidgeRun's Mender.io tutorial, and if you want to know more about other OTA providers and check a complete implementation and use cases of Mender in a Jetson Orin Nano, you can check our Over-the-Air section.

Figure 3. Mender architecture




Cookies help us deliver our services. By using our services, you agree to our use of cookies.