FreeRTOS is an open source, real time operating system for microcontrollers that makes small, low-power edge devices easy to program, deploy, secure, connect, and manage. Distributed freely under the MIT open source license, FreeRTOS includes a kernel and a growing set of software libraries suitable for use across industry sectors and applications. To support a growing number of use cases, AWS provides software libraries that offer enhanced functionality including connectivity, security, and over-the-air updates. For example, you can use FreeRTOS to securely connect your small, low-powered devices to AWS cloud services like AWS IoT Core or to more powerful edge devices running AWS IoT Greengrass.
FreeRTOS FAQs
Page topics
FreeRTOS18
FreeRTOS kernel
3
FreeRTOS Long Term Support
12
FreeRTOS Community
8
AWS IoT Device Tester for FreeRTOS
8
FreeRTOS and AWS IoT Greengrass
3
FreeRTOS and Bluetooth Low Energy
12
FreeRTOS & Cellular LTE-M
4
FreeRTOS and AWS IoT Device Management
4
FreeRTOS Security
5
FreeRTOS Extended Maintenance Plan
24
FreeRTOS
Open allWhat is FreeRTOS?
What is the relationship between Amazon FreeRTOS and FreeRTOS?
Since 2017, Amazon FreeRTOS has been an extension of the FreeRTOS project, so we have unified the two names to reduce customer confusion. The FreeRTOS project now includes the additional connectivity libraries, security libraries, and IoT reference integrations.
Which AWS region is FreeRTOS available in?
You can download FreeRTOS code from GitHub irrespective of your geographic location and AWS region availability. For the availability of FreeRTOS over-the-air (OTA) update cloud services, see the AWS Region Table.
What are some use cases for FreeRTOS?
FreeRTOS can be used in embedded systems spanning industrial, commercial, and consumer applications. For example, smart meters, oil pump sensors, appliances, commercial security systems, fitness trackers, and sensor networks can all benefit from FreeRTOS. Smart meters are used in homes to monitor electricity usage in real time. Fitness trackers send health data via the user’s mobile device to the cloud for real time monitoring or analytics. Utilities benefit from this data by enabling more efficient load balancing and power output from their generating stations. Oil pump sensors are used on oil rigs to monitor the output on wells that might be buried deep underwater. An oil rig might deploy FreeRTOS on those sensors and use an AWS IoT Greengrass Core to locally process data from pumps and valves in real time. The AWS IoT Greengrass Core could then send batches of preprocessed pump sensor data to the cloud for analytics and data warehousing. To learn more about AWS IoT Greengrass, click here.
Who can benefit from FreeRTOS?
Semiconductor vendors manufacture microcontrollers and modules like connectivity sensors, security peripherals, and Ethernet controllers. These microcontrollers and modules are used by OEMs to build IoT devices.
OEMs include industrial companies, commercial enterprises, and consumer brands. Microcontroller developers can use FreeRTOS to easily design and develop a connected device and IoT applications.
Enterprises can use IoT connected devices that are powered by FreeRTOS to gain business and operational efficiency.
What are the major components of FreeRTOS software?
FreeRTOS includes the FreeRTOS kernel, a real time operating system kernel for microcontrollers, and libraries that support connectivity, security, and over-the-air updates. See the list of FreeRTOS libraries at freertos.org.
What minimum hardware specifications are required?
If you run all FreeRTOS libraries, including TLS, on the application microcontroller, you may need a microcontroller with >25 MHz processing speed and >64 KB RAM. If the communication and crypto stack (except for MQTT) is offloaded onto the networking processor, your microcontroller will only need 10 MHz processing speed and 16 KB RAM. However, these values are just approximations, as factors such as MCU architecture, compiler, and compiler optimization level may impact processing speed and RAM requirements. FreeRTOS needs 128 KB of program memory per executable image stored on the microcontroller. For over-the-air (OTA) update functionality, two executable images must be stored in program memory at the same time.
What architectures does FreeRTOS support?
FreeRTOS provides IoT Reference Integrations for a wide range of microcontrollers from our partners in the AWS Partner Device Catalog. FreeRTOS includes the FreeRTOS kernel, which supports 40+ architectures, including the latest from RISC-V and ARMv8-M.
How can I get started on FreeRTOS?
You can use the getting started guide for systematic instructions on how to run FreeRTOS on a qualified board.
How can I get technical support?
Use any of the following channels to get support:
What happened to the Amazon FreeRTOS group on AWS Forums?
To create a better forums experience for our customers, we have migrated all content and users from the AWS Forums Amazon FreeRTOS group to the Amazon Web Services category on the FreeRTOS Community Forums. Learn more here.
Is there a user guide?
Yes. You can use the FreeRTOS user guide to get started with connecting FreeRTOS devices to AWS.
Can I use FreeRTOS to connect to other cloud services?
Yes. FreeRTOS is an open-source software, so it can be modified to fit any specific needs of your application.
Can I make changes to the FreeRTOS source code for my project?
Yes. FreeRTOS is an open-source software distributed under the MIT license, so it can be modified to fit any specific needs of your application or project without the permission of AWS.
How much do I pay for using FreeRTOS?
FreeRTOS is free to download and use under an open source MIT license.
How can I explore FreeRTOS without buying hardware?
You can explore FreeRTOS code and functionality on a Windows machine by downloading the libraries and samples ported to run on Windows. This is a set of files referred to as the FreeRTOS simulator for Windows (Windows Simulator). Get started here.
Does FreeRTOS include hardware?
No. FreeRTOS is an open source, real time operating system for microcontrollers. You can run FreeRTOS on your chosen microcontroller by porting FreeRTOS code and validating the ported code with AWS IoT Device Tester. To make it easier for you, we have provided IoT reference integrations and qualified ports for common microcontrollers in the AWS Partner Device Catalog.
How do I understand FreeRTOS versioning?
See GitHub repository architecture and versioning on freertos.org.
FreeRTOS kernel
Open allWhat is the FreeRTOS kernel?
Developed over an 18-year period and in partnership with the world's leading chip companies, the FreeRTOS kernel is the market-leading, real time operating system kernel and the de-facto standard solution for microcontrollers and small microprocessors.
Does AWS maintain the FreeRTOS kernel?
Yes. The latest update to v10 of the FreeRTOS kernel includes support for RISC-V and Armv8-M (Cortex-M33 and Cortex-M23).
What is the difference between the MIT open source license and the (previously used) modified GPL open source license?
Both licenses allow the software to be used for free, even in commercial products, and neither license imposes any obligations when distributing binary (executable) copies. The MIT license provides simplified wording and allows for more permissive use of our source code. With the MIT license, you can still develop and sell commercial products using FreeRTOS (including the kernel) but you are no longer obliged to open source modifications to our source code, meaning you own all the changes you make. The only requirements under MIT is that the copyright notice and permission notice shall be included in all copies or substantial portions of the software (source files).
FreeRTOS Long Term Support
Open allWhich libraries are covered under FreeRTOS Long Term Support (LTS)?
The FreeRTOS LTS release includes the kernel and libraries needed for AWS IoT connectivity, security, and over-the-air (OTA) updates. See the complete list of LTS libraries here.
What is the support period for FreeRTOS LTS libraries?
The support period for FreeRTOS LTS libraries is two years. FreeRTOS LTS libraries will not have any feature development and will include security updates and bug fixes that AWS determines as critical for at least two years from its release.
Where do I obtain the FreeRTOS LTS libraries?
You can get the FreeRTOS LTS libraries by cloning the FreeRTOS LTS GitHub repository, cloning individual LTS libraries, or by downloading the FreeRTOS LTS zip file from FreeRTOS.org.
How do I integrate FreeRTOS LTS libraries into my project?
You can update individual libraries to LTS libraries by cloning them from their corresponding repositories. For example, you can update your project to the FreeRTOS LTS MQTT library by downloading code from the coreMQTT GitHub repository.
How do I find information on and download the FreeRTOS LTS patches?
You can visit the ‘FreeRTOS LTS Patches’ section in the LTS Libraries page on FreeRTOS.org for the latest information, or subscribe to GitHub notifications for the FreeRTOS LTS repository. FreeRTOS LTS releases use a date-based versioning scheme (YYYYMM) followed by a patch sequential number (.XX). For example, FreeRTOS 202012.02 LTS means the second patch to the December-2020 FreeRTOS LTS release. You can get the latest patch from GitHub by using the associated download link.
What is the software license for FreeRTOS LTS?
FreeRTOS LTS libraries are distributed free under the MIT open source license.
Do I have to pay to use FreeRTOS LTS libraries?
No. FreeRTOS LTS libraries are free for all users under the MIT open source license.
Who is releasing and supporting FreeRTOS LTS?
AWS will release and provide ongoing maintenance of the FreeRTOS LTS libraries for the benefit of the FreeRTOS community. The FreeRTOS community is encouraged to provide feedback and contribute code in the form of GitHub pull requests.
What is the release cycle for FreeRTOS LTS?
We expect new FreeRTOS LTS releases to happen every 1.5 years.
What is the SLA for security updates and critical bug fixes?
We aim to address security vulnerabilities and critical bugs on FreeRTOS LTS libraries within seven days from successfully implementing a mitigation to releasing an update.
Can I get support for more than two years?
Yes, see the FreeRTOS Extended Maintenance Plan.
I am already using a version of FreeRTOS. How can I start using FreeRTOS LTS?
Visit the FreeRTOS LTS GitHub repository and include the libraries you need for your application.
FreeRTOS LTS kernel versions are backward compatible with FreeRTOS kernel versions V8.0.0 or higher. So if you are already using FreeRTOS kernel versions v8.0.0 or higher, you can migrate to the latest kernel version in the LTS release with minimal changes to your application code.
If you are using an older version of LTS libraries, see the migration guide and corresponding validation tests to upgrade your project to FreeRTOS LTS.
FreeRTOS Community
Open allWhat is AWS IoT Device Tester for FreeRTOS?
AWS IoT Device Tester for FreeRTOS is a Windows/Linux/Mac test automation tool that lets semiconductor vendors self test and qualify FreeRTOS on their microcontroller boards. With AWS IoT Device Tester, semiconductor vendors can verify whether their microcontroller boards can run FreeRTOS and be authenticated by and interoperate with AWS IoT services.
Where do I get AWS IoT Device Tester for FreeRTOS?
You can get AWS IoT Device Tester for FreeRTOS here.
Is AWS IoT Device Tester for FreeRTOS required for qualification and listing in the AWS Partner Device Catalog?
Yes, you can learn more about how to get listed here.
What does AWS IoT Device Tester for FreeRTOS test?
AWS IoT Device Tester for FreeRTOS tests that the combination of a FreeRTOS IoT reference integration with a microcontroller board’s porting layer interfaces and underlying device drivers are compatible and can interoperate with AWS IoT services. AWS IoT Device Tester confirms the porting layer interfaces (implemented by semiconductor vendors) for FreeRTOS libraries function correctly on top of the device drivers. Also, AWS IoT Device Tester runs end-to-end tests to confirm the microcontroller board can authenticate and interoperate with AWS IoT services.
How do I get technical support for AWS IoT Device Tester for FreeRTOS?
Use any of the following channels to get support:
How can I get my microcontroller-based hardware platform listed in the AWS Partner Device Catalog?
The AWS Device Qualification Program defines the process to get your microcontroller listed on AWS Partner Device Catalog. The high-level overview is as follows: First, you must pass the AWS IoT Device Tester for AWS FreeRTOS tests. Next, log into the AWS Partner Network Portal and upload the AWS IoT Device Tester for FreeRTOS report. Provide reference to your source code for ported FreeRTOS interfaces to make it available to OEMs. Once the ported code and report are verified by AWS and other device related artifacts (such as device image, data sheet, etc.) have been submitted, the device is listed in the AWS Partner Device Catalog.
In which regions is AWS IoT Device Tester for FreeRTOS available?
AWS IoT Device Tester for FreeRTOS is available in all the regions where FreeRTOS is supported.
How much does AWS IoT Device Tester for FreeRTOS cost?
AWS IoT Device Tester for FreeRTOS is free to use. However, you will be responsible for any costs associated with AWS usage as part of qualification tests. On average, a single run of the AWS IoT Device Tester would cost less than a cent. Please refer to AWS IoT Core pricing for associated costs.
AWS IoT Device Tester for FreeRTOS
Open allWhat is AWS IoT Device Tester for FreeRTOS?
AWS IoT Device Tester for FreeRTOS is a Windows/Linux/Mac test automation tool that lets semiconductor vendors self test and qualify FreeRTOS on their microcontroller boards. With AWS IoT Device Tester, semiconductor vendors can verify whether their microcontroller boards can run FreeRTOS and be authenticated by and interoperate with AWS IoT services.
Where do I get AWS IoT Device Tester for FreeRTOS?
You can get AWS IoT Device Tester for FreeRTOS here.
Is AWS IoT Device Tester for FreeRTOS required for qualification and listing in the AWS Partner Device Catalog?
Yes, you can learn more about how to get listed here.
What does AWS IoT Device Tester for FreeRTOS test?
AWS IoT Device Tester for FreeRTOS tests that the combination of a FreeRTOS IoT reference integration with a microcontroller board’s porting layer interfaces and underlying device drivers are compatible and can interoperate with AWS IoT services. AWS IoT Device Tester confirms the porting layer interfaces (implemented by semiconductor vendors) for FreeRTOS libraries function correctly on top of the device drivers. Also, AWS IoT Device Tester runs end-to-end tests to confirm the microcontroller board can authenticate and interoperate with AWS IoT services.
How do I get technical support for AWS IoT Device Tester for FreeRTOS?
Use any of the following channels to get support:
How can I get my microcontroller-based hardware platform listed in the AWS Partner Device Catalog?
The AWS Device Qualification Program defines the process to get your microcontroller listed on AWS Partner Device Catalog. The high-level overview is as follows: First, you must pass the AWS IoT Device Tester for AWS FreeRTOS tests. Next, log into the AWS Partner Network Portal and upload the AWS IoT Device Tester for FreeRTOS report. Provide reference to your source code for ported FreeRTOS interfaces to make it available to OEMs. Once the ported code and report are verified by AWS and other device related artifacts (such as device image, data sheet, etc.) have been submitted, the device is listed in the AWS Partner Device Catalog.
In which regions is AWS IoT Device Tester for FreeRTOS available?
AWS IoT Device Tester for FreeRTOS is available in all the regions where FreeRTOS is supported.
How much does AWS IoT Device Tester for FreeRTOS cost?
AWS IoT Device Tester for FreeRTOS is free to use. However, you will be responsible for any costs associated with AWS usage as part of qualification tests. On average, a single run of the AWS IoT Device Tester would cost less than a cent. Please refer to AWS IoT Core pricing for associated costs.
FreeRTOS and AWS IoT Greengrass
Open allWhat is the difference between AWS IoT Greengrass and FreeRTOS?
AWS IoT Greengrass is software that lets you run local compute, messaging, data caching, sync, and ML inference capabilities for connected devices in a secure way. With AWS IoT Greengrass, connected devices can run AWS Lambda functions, keep device data in sync, and communicate with other devices securely – even when not connected to the Internet. Using AWS Lambda, AWS IoT Greengrass ensures your IoT devices can respond quickly to local events, use Lambda functions running on AWS IoT Greengrass Core to interact with local resources, operate with intermittent connections, stay updated with over the air updates, and minimize the cost of transmitting IoT data to the cloud.
FreeRTOS is an open source, real time operating system for microcontrollers that operates on the edge and does not generally support chipsets that could run AWS IoT Greengrass. These microcontroller devices are found on a variety of IoT endpoints such as fitness trackers, pacemakers, electricity meters, automotive transmissions, and sensor networks. FreeRTOS devices cannot run AWS IoT Greengrass Core but can trigger the execution of Lambda functions on an AWS IoT Greengrass Core device.
The hardware requirements and operating systems are different on both devices.
| FreeRTOS | AWS IoT Greengrass | |
|---|---|---|
| Software | Real time OS with libraries, runs on a microcontroller | Runtime for Linux devices and SDK for AWS IoT Greengrass-aware devices |
| Hardware Requirements | >64 KB RAM | >128 MB of RAM |
| Category | Embedded systems, IoT endpoints | Edge devices, local gateways |
| Use Cases | Microcontroller-based devices | Industrial automation systems, wireless routers, smartphones |
Does FreeRTOS require the use of AWS IoT Greengrass?
FreeRTOS does not require the use of AWS IoT Greengrass. FreeRTOS runs on IoT endpoints and is often responsible for the "sensing" and "acting" in an IoT topology. FreeRTOS devices can connect directly to the cloud or connect to AWS IoT Greengrass Core devices locally.
How can I connect FreeRTOS devices to AWS IoT Greengrass Core devices?
The AWS IoT Greengrass discovery library is included in the FreeRTOS source code, enabling you to find and connect to an AWS IoT Greengrass Core device. For more information, refer to the FreeRTOS user guide.
FreeRTOS and Bluetooth Low Energy
Open allWhat is Bluetooth Low Energy support in FreeRTOS?
Bluetooth Low Energy support in FreeRTOS offers a standardized API layer for developers to write Bluetooth Low Energy applications that are portable across FreeRTOS qualified boards. It includes companion Android and iOS SDKs that enable a FreeRTOS device to consume AWS IoT services using an Android or iOS device as proxy. You can use standard Generic Access Profile (GAP) and Generic Attributes (GATT) profiles to write Bluetooth Low Energy applications and use custom profiles for MQTT over Bluetooth Low Energy and Wi-Fi provisioning via Bluetooth Low Energy. You can also use other AWS IoT services and features including AWS IoT Device Defender, Device Shadows, and over-the-air (OTA) updates.