FreeRTOS

FreeRTOS is an open-source real-time operating system kernel designed for embedded microcontrollers. It was created by Richard Barry, who released the first version in 2003, and it grew into the most widely used RTOS kernel in the microcontroller world. In 2017 Amazon Web Services took over stewardship of the project, continuing to publish it as free, open-source software under the MIT license.

The kernel’s signature trait is its tiny footprint. FreeRTOS is written mostly in C and is small enough to run on devices with only a few kilobytes of memory, the kind of chip with no desktop operating system in sight. The official documentation describes a kernel that provides a multitasking scheduler, several memory-allocation options including fully static allocation, and inter-task coordination primitives such as task notifications, message queues, semaphores, and stream and message buffers.

At the heart of FreeRTOS are tasks and queues. A task is an independent thread of execution with its own stack and priority; queues are the primary safe channel for passing data between tasks and between interrupt handlers and tasks. The FreeRTOS Kernel Book explains that the scheduler always ensures the highest-priority task that can run is the one selected to run, and that a higher-priority task entering the ready state immediately preempts a lower-priority running task. This fixed-priority preemptive model is what gives FreeRTOS its real-time behavior, and the documentation stresses that the kernel avoids non-deterministic operations inside critical sections and interrupts.

That combination of small size, predictable timing, and a free license made FreeRTOS ubiquitous in consumer and industrial embedded products. It has been ported to a long list of microcontroller architectures, and it pairs especially naturally with low-cost cores such as the ARM Cortex-M family that dominate modern embedded design.

FreeRTOS occupies the lightweight end of the RTOS landscape, very different in spirit from heavyweight certified systems like VxWorks and QNX. Where those target high-assurance, certified deployments, FreeRTOS made real-time multitasking approachable for any developer building firmware on a small chip.