FreeRTOS is a popular real-time operating system for embedded devices, being ported to 31 microcontrollers. It is distributed under the GPL with an optional exception.


  • Designed to be small, simple and easy to use.
  • Free RTOS kernel - preemptive, cooperative and hybrid configuration options.
  • Includes a tickless mode for low power applications.
  • Official support for 34 embedded system architectures.
  • Supports the ARM Cortex-M3 MPU.
  • Very portable, predominantly written in C.
  • Supports both real time tasks and co-routines.
  • Mutexes with priority inheritance.
  • Powerful execution trace functionality.
  • Stack overflow detection options.
  • No software restriction on the number of real time tasks that can be created.
  • No software restriction on the number of task priorities that can be used.
  • No restrictions imposed on task priority assignment - more than one real time task can be assigned the same priority.

Demo Projects

  • FreeRTOS Ported to Raspberry Pi. This project provides a very basic port of FreeRTOS to Raspberry pi. It includes a demo application that use 2 FreeRTOS tasks to flash the LED on and off.
  • DuinOS. DuinOS is a small multithreading real time operating system (RTOS), based on the FreeRTOS kernel, for Arduino compatible boards.It’s installed as an Arduino core, and currently supports the following AVR processors:
  • LPC43XX-FreeRTOS-with-2xLED-Threads. This is example code of using a NXP LPC4337 Xplorer board from NGX with FreeRTOS.It has two LED blinking tasks running at the same time.
  • FreeRTOS on XMEGA. port.c and portmacro.h for FreeRTOS to run on any AVR XMEGA
  • FreeRTOS on STM32. FreeRTOS demos for STM32F103ZET6 board that include LEDs, Buttons, USART, and LCD.
  • FreeRTOS on AVR with external RAM. This project add extra RAM connected to the external memory interface of Atmega128.
  • LPC4300 Development Boards with FreeRTOS demo. LPC4350 Dual-Core Cortex-M4 and Cortex-M0 Development BoardLPC4350 is the first asymmetrical dual-core digital signal controller with ARM Cortex-M4 and Cortex-M0 processors. The LPC-4350-DB1 development board consists of the most essential components that you need to start your development.It contains the LPC4350FET256 dual-core controller, USB, Ethernet and JTAG connectors, 4 push buttons + 4 LEDs, 16MB external NOR flash.
  • Porting FreeRTOS to MikroC for STM32 M3. This project port FreeRTOSV7.1.1 to CORTEX STM32F107 MikroC Version 2.5.
  • Using FreeRTOS kernel in AVR projects. Instructions to run FreeRTOS on AVR Atmega128L, using AVRStudio5.
  • Running multiple FreeRTOS tasks on AVR. Let us go further with our example code and add more tasks to our FreeRTOS engine. We already have LED flashing task that toggles LED every second. Additionally we are going to create another task that checks button state. Also we are going to send some information to LCD. As always lets take care of drivers for all of them.
  • Running FreeRTOS on the Keil MCBSTM32 Board with the RVMDK Evaluation Tools. This application note describes how to modify an existing port demo of the FreeRTOS operating system that targets the Luminary Micro LM3S102 evaluation board. It uses Keil
  • uc3l0 freertos demo. Demos for FreeRTOS and the UC3L0. This demo provides: Full USART Command TerminalConfigurable ADC TaskPWM control over RGB LEDs (on the L0 Xplained)Printable Data from various sources.
  • gsm control system. G.S.A. (GSM System Automation) is a control system that allows you to manage your domestic appliances by means of gsm-communication.You can program GSA simply by send a SMS.
  • STM32F4 – Deploy FreeRTOS Embedded OS in under 10 seconds!. This tutorial describe how to build and deploy the FreeRTOS embedded operating system on STM32F4 Discovery board under 10 seconds.
  • ST ARM Cortex-M7 STM32 F7 RTOS Demo. This page provides documentation for the FreeRTOS demo that targets the STM32756G-EVAL Evaluation Kit, which incorporates an STM32F7 ARM Cortex-M7 microcontroller from STMicroelectronics. Pre-configured build projects are provided for both the IAR and ARM Keil tools.
  • Creating a FreeRTOS-based WiFi HTTP server for ESP8266. This tutorial shows how to create a FreeRTOS-based HTTP server with the ESP8266 chip.
  • esp-open-rtos. A community developed open source FreeRTOS-based framework for ESP8266 WiFi-enabled microcontrollers. Intended for use in both commercial and open source projects.

FreeRTOS Platforms

  • MSP430
  • ARM
  • AVR
  • ColdFire
  • PIC
  • x86

FreeRTOS Components

  • FileSystem
  • Network
  • Command Line Interface
  • Runtime Analysis