Amazon FreeRTOS
User Guide

What Is Amazon FreeRTOS?

Amazon FreeRTOS is a real-time operating system that augments the FreeRTOS kernel with libraries for connectivity, security, and over-the-air (OTA) updates. Amazon FreeRTOS also includes some demo applications that demonstrate Amazon FreeRTOS features on qualified boards.

Amazon FreeRTOS Architecture

Amazon FreeRTOS is typically flashed to devices as a single compiled image with all of the components required for device applications. This image combines functionality for the applications written by the embedded developer, the software libraries provided by Amazon, the FreeRTOS kernel, and drivers and board support packages (BSPs) for the hardware platform. Independent of the individual microcontroller being used, embedded application developers can expect the same standardized interfaces to the FreeRTOS kernel and all Amazon FreeRTOS software libraries.

You can click on the icons in the diagram below to learn more about the specific components of the Amazon FreeRTOS architecture.

The FreeRTOS Kernel

The FreeRTOS kernel is a real-time operating system kernel that supports numerous architectures and is ideal for building embedded microcontroller applications. The kernel provides:

  • A multitasking scheduler.

  • Multiple memory allocation options (including the ability to create statically allocated systems).

  • Inter-task coordination primitives, including task notifications, message queues, multiple types of semaphores, and stream and message buffers.

For more information about the FreeRTOS kernel, see FreeRTOS Kernel Fundamentals.

Amazon FreeRTOS Libraries

Amazon FreeRTOS includes libraries that enable you to:

  • Securely connect devices to the AWS IoT cloud using MQTT and device shadows.

  • Discover and connect to AWS IoT Greengrass cores.

  • Manage Wi-Fi connections.

  • Listen for and process Amazon FreeRTOS Over-the-Air Updates.

For more information, see Amazon FreeRTOS Libraries.

Downloading Amazon FreeRTOS Source Code

You can download versions of Amazon FreeRTOS that are configured for Amazon FreeRTOS-qualified platforms from the Amazon FreeRTOS console. For a list of qualified platforms, see the Amazon FreeRTOS Partners website.

You can also download Amazon FreeRTOS from GitHub.

Amazon FreeRTOS Console

From the Amazon FreeRTOS console, you can configure and download a package that contains everything you need to write an application for your microcontroller-based devices:

  • The FreeRTOS kernel

  • Amazon FreeRTOS libraries

  • Platform support libraries

  • Hardware drivers

For more information about the Amazon FreeRTOS console, see Amazon FreeRTOS Console.

Development Workflow

You start development by downloading Amazon FreeRTOS. You unzip the package and import it into your IDE. You can then develop an application on your selected hardware platform and manufacture and deploy these devices using the development process appropriate for your device. Deployed devices can connect to the AWS IoT service or AWS IoT Greengrass as part of a complete IoT solution.

Additional Resources

If you have other questions about AWS or Amazon FreeRTOS, you might find the following resources helpful.

Resource Description
Amazon FreeRTOS on GitHub If you have questions about Amazon FreeRTOS for the Amazon FreeRTOS engineering team, you can open an issue on the Amazon FreeRTOS GitHub page.

AWS Discussion Forums

To discuss technical questions about AWS and Amazon FreeRTOS with the AWS community, visit the Discussion Forums.
AWS Support Center

To get technical support for AWS, visit the Support Center.

Contact Us

To contact us about AWS billing, account services, events, abuse, and other issues with AWS, visit the Contact Us page.