Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Updated Jun 2025

FreeRTOS + AWS IoT solutions

How FreeRTOS + AWS bring you simple and secure IoT solutions.

Introduction

First, AWS IoT ExpressLink provides the simplest and fastest way to connect to AWS IoT. If that is not a suitable path for your project, then read on....

AWS IoTexternal_link provides services and solutions suitable for connecting and managing billions of IoT devices.

Two of the library categories described on the libraries introduction page are FreeRTOS Core, and FreeRTOS for AWS. FreeRTOS Core libraries implement standard and cloud agnostic functionality, such as a small MQTT client. These libraries are only dependent on a subset of the standard C library, making them suitable for use in almost any system, with or without an operating system. If you use FreeRTOS Core libraries to connect to AWS IoT, or any other library to do the same, then FreeRTOS for AWS libraries help you access AWS IoT specific value add cloud services.

All the libraries are MIT open source licensed.

FreeRTOS + AWS

Getting started

Simple FreeRTOS projects

If you are new to FreeRTOS then it's recommended to familiarize yourself with the kernel before using any additional libraries. The quick start guide includes a build your first FreeRTOS project page that describes how to do this even if you don't have hardware yet, as it describes running demos in Windows, Linux, and using the free QEMU software emulator.

Simple connectivity libraries

Once familiar with the kernel, experiment with one or two libraries at a time. Each library has its own documentation page, with links to that libraries pre-configured demo provided in the left menu.

You can progress in steps from adding just local TCP/IP connectivity, to unauthenticated MQTT connectivity (this is just for learning, never use unauthenticated connections in production!), to authenticated MQTT connections, and further.

Progressing to AWS connectivity, first step

The pre-configured AWS Quick Connect demos already build the necessary AWS IoT libraries on top of the connectivity libraries, so provide a good introduction to AWS connectivity.

Explore AWS IoT libraries

Once you have an understanding of how an IoT device and AWS IoT work together, you can start exploring FreeRTOS for AWS IoT libraries individually, ending up at the featured FreeRTOS IoT reference integrations which are comprehensive, and demonstrate security best practices.

Develop your AWS IoT applications

Follow these steps to create an AWS IoT connectivity project for a devices not already supported by a pre-configured demo:

  1. Download the latest FreeRTOS or Long Term Support (LTS) version, or clone from the FreeRTOS-LTSexternal_link GitHub repository. You can also integrate the required FreeRTOS libraries into your project from the MCU vendor's toolchain if available.

  2. Follow the FreeRTOS Porting guideexternal_link to create a project, set up the development environment, and integrate FreeRTOS libraries into your project. Use the FreeRTOS-Libraries-Integration-Testsexternal_link GitHub repository to validate the porting.