# FreeRTOS OTA Supported Hardware?

**URL:** <https://forums.freertos.org/t/freertos-ota-supported-hardware/15498>\
**Category:** Libraries\
**Tags:** aws-iot-core\
**Created:** [July 19, 2022, 9:37pm UTC](https://forums.freertos.org/t/freertos-ota-supported-hardware/15498 "2022-07-19T21:37:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![tbrown](https://avatars.discourse-cdn.com/v4/letter/t/54ee81/32.png) [@tbrown](https://forums.freertos.org/u/tbrown)\
**Post date:** [July 19, 2022, 9:37pm UTC](https://forums.freertos.org/t/freertos-ota-supported-hardware/15498/1 "2022-07-19T21:37:53Z")

</div>

I’m aware of the supported devices for FreeRTOS in their Kernel \> Supported Devices tab, but I’m wondering if all of these also fully support OTA updates with AWS IoT OTA feature.

I’m asking because I have learned that certain FOTA solutions from other companies claim to support their entire RTOS, yet only works on a select few devices because each device needs an additional “flashing driver” that actually takes the received update and flashes it to the device’s custom memory. Do all FreeRTOS supported MCUs have this capability?

---

<div class="post-metadata">

**Author:** ![ravibhagavandas](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/ravibhagavandas/32/1309_2.png) [@ravibhagavandas](https://forums.freertos.org/u/ravibhagavandas)\
**Post date:** [July 21, 2022, 12:22am UTC](https://forums.freertos.org/t/freertos-ota-supported-hardware/15498/2 "2022-07-21T00:22:52Z")

</div>

Hi,

FreeRTOS kernel could run on a large selection of devices, including the cortex M devices, but its impractical to support OTA updates on all devices. To port OTA library to a new device you can follow the [porting guide](https://aws.github.io/aws-iot-device-sdk-embedded-C/202103.00/libraries/aws/ota-for-aws-iot-embedded-sdk/docs/doxygen/output/html/ota_porting.html) and implement the PAL functions specified for the flash operations. It also requires a complementing bootloader for loading new image and validation.

You can also refer to the reference implementations which support OTA fully:

> **[GitHub - FreeRTOS/iot-reference-stm32u5](https://github.com/FreeRTOS/iot-reference-stm32u5)**
>
> Contribute to FreeRTOS/iot-reference-stm32u5 development by creating an account on GitHub.

> **[GitHub - FreeRTOS/iot-reference-nxp-rt1060: Reference IoT project which...](https://github.com/FreeRTOS/iot-reference-nxp-rt1060)**
>
> Reference IoT project which integrates NXP IMXRT 1060 platform with FreeRTOS LTS libraries - GitHub - FreeRTOS/iot-reference-nxp-rt1060: Reference IoT project which integrates NXP IMXRT 1060 platfo...

> **[GitHub - FreeRTOS/iot-reference-esp32c3](https://github.com/FreeRTOS/iot-reference-esp32c3)**
>
> Contribute to FreeRTOS/iot-reference-esp32c3 development by creating an account on GitHub.
