What is FreeRTOS?
Developed in partnership with the world's leading chip companies over a 15-year period, and now downloaded every 170 seconds, FreeRTOS is a market-leading real-time operating system (RTOS) for microcontrollers and small microprocessors. Distributed freely under the MIT open source license, FreeRTOS includes a kernel and a growing set of libraries suitable for use across all industry sectors. FreeRTOS is built with an emphasis on reliability and ease of use.
FreeRTOS includes libraries for connectivity, security, and over-the-air (OTA) updates. FreeRTOS also
includes demo applications that show FreeRTOS features on qualified boards
FreeRTOS is an open-source project. You can download the source code, contribute changes or
enhancements, or report issues on the GitHub site at
https://github.com/FreeRTOS/FreeRTOS
We release FreeRTOS code under the MIT open source license, so you can use it in commercial and personal projects.
We also welcome contributions to the FreeRTOS documentation (FreeRTOS User
Guide, FreeRTOS Porting Guide, and FreeRTOS
Qualification Guide). To view the markdown source for the documentation, see
https://github.com/awsdocs/aws-freertos-docs
Downloading FreeRTOS source code
Download the latest FreeRTOS and Long Term Support (LTS) packages from the Downloads
page on freertos.org
FreeRTOS versioning
Individual libraries use x.y.z style version numbers, similar to semantic versioning. x is the major version number, y the minor version number, and starting from 2022, z is a patch number. Before 2022, z was a point release number, which required the first LTS libraries to have a patch number of the form "x.y.z LTS Patch 2".
Library packages use yyyymm.x style date stamp version numbers. yyyy is the year, mm the month, and x an optional sequence number showing the release order within the month. In the case of the LTS package, x is a sequential patch number for that LTS release. The individual libraries contained in a package are whatever the latest version of that library was on that date. For the LTS package, it's the latest patch version of the LTS libraries originally released as an LTS version on that date.
FreeRTOS Long Term Support
FreeRTOS Long Term Support (LTS) releases receive security and critical bug fixes (should any be necessary) for at least two years following their release. With this ongoing maintenance, you can incorporate bug fixes throughout a development and deployment cycle without the expensive disruption of updating to new major versions of FreeRTOS libraries.
With FreeRTOS LTS, you get the complete set of libraries needed to build secure connected IoT and embedded products. LTS helps reduce maintenance and testing costs associated with updating libraries on your devices already in production.
FreeRTOS LTS includes the FreeRTOS kernel and IoT libraries: FreeRTOS+TCP, coreMQTT,
coreHTTP, corePKCS11, coreJSON, Amazon IoT OTA, Amazon IoT Jobs, Amazon IoT Device Defender, and Amazon IoT
Device Shadow. For more information, see the FreeRTOS LTS libraries
FreeRTOS Extended Maintenance Plan
Amazon also offers FreeRTOS Extended Maintenance Plan (EMP), which provides security patches and critical bug fixes on your chosen FreeRTOS Long Term Support (LTS) version for up to ten additional years. With FreeRTOS EMP, your FreeRTOS based long-lived devices can rely on a version that has feature stability and receives security updates for years. You receive timely notifications of upcoming patches on FreeRTOS libraries, so you can plan the deployment of security patches on your Internet of Things (IoT) devices.
To learn more about FreeRTOS EMP, see the Features
FreeRTOS architecture
FreeRTOS contains two types of repositories, single library repositories and package repositories. Each single library repository contains the source code for one library without any build projects or examples. Package repositories contain multiple libraries, and can contain preconfigured projects that demonstrate the library’s use.
While package repositories contain multiple libraries, they don't contain copies of those libraries. Instead, package repositories reference the libraries they contain as git submodules. Using submodules ensures that there is a single source of truth for each individual library.
The individual library git repositories are split between two GitHub organizations. Repositories containing FreeRTOS specific libraries (such as FreeRTOS+TCP) or generic libraries (such as coreMQTT, which is cloud agnostic because it works with any MQTT broker) are in the FreeRTOS GitHub organization. Repositories containing Amazon IoT specific libraries (such as the Amazon IoT over-the-air update client) are in the Amazon GitHub organization. The following diagram explains the structure.

FreeRTOS-qualified hardware platforms
The following hardware platforms are qualified for FreeRTOS:
-
Microsoft Windows 7 or later, with at least a dual core and a hard-wired Ethernet connection
Qualified devices are also listed on the
Amazon Partner Device Catalog
For information about qualifying a new device, see the FreeRTOS Qualification Guide.
Development workflow
You start development by downloading 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 Amazon IoT service or Amazon IoT Greengrass as part of a complete IoT solution.

Additional resources
These resources might be helpful to you.
-
For additional FreeRTOS Documentation
, see freertos.org . -
For questions about FreeRTOS for the FreeRTOS engineering team, you can open an issue on the FreeRTOS GitHub page
. -
For technical questions about FreeRTOS, see the FreeRTOS Community Forums
. -
For more information about connecting devices to Amazon IoT, see Device Provisioning in the Amazon IoT Core Developer Guide.
-
For technical support for Amazon, see Amazon Support Center
. -
For questions about Amazon billing, account services, events, abuse, or other issues with Amazon, see the Contact Us
page.