Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Guide · OtherFree

FreeRTOS Documentation

The official documentation for FreeRTOS, the widely used open source real-time kernel for microcontrollers: concepts, the full kernel API for tasks, queues, semaphores, mutexes and timers, and the free book Mastering the FreeRTOS Real Time Kernel. MIT licensed and already built into ESP-IDF and STM32Cube.

Kernel GitHub stars

4.5k (FreeRTOS/FreeRTOS-Kernel)

GitHub · Sept 2026

Latest kernel release

V11.3.1 (August 2026)

GitHub · Sept 2026

Licence

MIT

GitHub · Sept 2026

Format

Guide

Topic

Other

Provider

FreeRTOS (Amazon Web Services)

Time needed

The book takes 2 to 3 weeks alongside practice

Level

Intermediate

Access

Free

What FreeRTOS is

FreeRTOS is a small real-time operating system kernel for microcontrollers. It lets firmware run as several tasks, each with its own stack and priority, and provides queues, semaphores, mutexes, event groups, task notifications and software timers so those tasks can cooperate safely. It is open source under the MIT licence and maintained with support from Amazon Web Services. You will often use it without installing anything: ESP-IDF, and therefore the ESP32 Arduino core, runs on FreeRTOS, and STM32CubeMX can add it to an STM32 project through the CMSIS-RTOS v2 wrapper.

What the documentation includes

The site covers RTOS fundamentals, the kernel's features, configuration options (the FreeRTOSConfig.h settings), the complete API reference, and guidance on memory management, including the heap schemes. The most valuable learning resource is the free book "Mastering the FreeRTOS Real Time Kernel" by Richard Barry, the creator of FreeRTOS, which explains each feature with examples. The book is also maintained on GitHub, where you can download it as a PDF.

Is it worth your time?

Yes, once you move beyond a single loop. Most concurrency bugs in firmware come from misunderstanding how the scheduler chooses which task runs, how blocking works, or when to use a mutex rather than a semaphore. The book explains these precisely. The API reference then tells you the exact behaviour of each call, including which ones are safe inside an interrupt: only the functions ending in FromISR.

Prerequisites and time

You need solid C and some experience with interrupts. Reading the book's chapters on task management, queues, software timers, interrupt management and resource management, while trying each example on your board, takes two to three weeks of evenings.

What you can do after it

  • Split firmware into tasks with sensible priorities and stack sizes.
  • Move data safely between tasks and interrupts with queues and FromISR functions.
  • Protect shared hardware with mutexes and understand priority inheritance.
  • Recognise and prevent deadlock, starvation and priority inversion.
  • Read the FreeRTOS parts of ESP-IDF and STM32Cube projects with confidence.

Free or paid?

The kernel, the documentation and the book are free.

Common questions

Is FreeRTOS on ESP32 exactly the same? ESP-IDF uses a modified FreeRTOS with dual-core support and some differences, such as task stack sizes given in bytes rather than words. Read ESP-IDF's FreeRTOS pages alongside this documentation.

Does STM32 use it directly? STM32CubeMX usually wraps it with CMSIS-RTOS v2 functions such as osThreadNew, which call FreeRTOS underneath.

Best for: embedded learners moving from a superloop to multitasking firmware.

open sourcecomputer science

Ready to start?

Opens on FreeRTOS (Amazon Web Services) in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "FreeRTOS Documentation". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.