OTA API Reference
Over the Air Update library
OTA Documentation

OTA (over-the-air) library.

The FreeRTOS over-the-air (OTA) client library enables you to manage the notification of a newly available update, download the update, and perform cryptographic verification of the firmware update. Using the over-the-air (OTA) client library, you can logically separate firmware updates from the application running on your devices. The over-the-air (OTA) client library can share a network connection with the application, saving memory in resource-constrained devices. In addition, the over-the-air (OTA) client library lets you define application-specific logic for testing, committing, or rolling back a firmware update. The library supports different application protocols like Message Queuing Telemetry Transport (MQTT) and Hypertext Transfer Protocol (HTTP) and provides various configuration options you can fine tune depending on network type and conditions.

The major functions that this library’s APIs provide are –

  • Register for notifications or poll for new update requests that are available.
  • Receive, parse and validate the update request.
  • Download and verify the file according to the information in the update request.
  • Run a self-test before activating the received update to ensure the functional validity of the update.
  • Update the status of the device.

AWS services can be used with this library to manage various cloud related topics such as sending firmware updates, monitoring large numbers of devices across multiple regions, reducing the blast radius of faulty deployments, and verifying the security of updates.


Dependencies of the OTA library.

OTA direct dependencies

Currently, the OTA library has the following dependencies:

  • The MQTT library for communicating with AWS OTA services and streaming services.
  • The HTTP library for communicating with Amazon S3 (Simple Storage Service).