finds.dev← search

// the find

FreeRTOS/FreeRTOS-Kernel

★ 4,252 · C · MIT · updated Jun 2026

FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.

The FreeRTOS kernel — the actual RTOS that runs on hundreds of millions of embedded devices. This is the kernel-only repo, submoduled into the main FreeRTOS repo and used as a vendored dependency by most embedded projects that need preemptive multitasking on microcontrollers. It's for firmware engineers who need task scheduling, queues, semaphores, and timers on bare-metal hardware.

Port coverage is genuinely impressive — ARM Cortex-M0 through M85, RISC-V, MIPS, AVR, MSP430, 16-bit DOS, and more, across GCC/IAR/Keil/CCS toolchains. The TrustZone-M (ARMv8-M secure/non-secure) implementation is solid and well-structured. CMake integration via FetchContent works cleanly without forking or patching. The MISRA compliance documentation and Coverity scan workflow show this is production-grade safety-critical code, not a hobby project.

FreeRTOSConfig.h is a 100+ macro header you have to configure by hand for every port — one wrong setting (wrong tick rate, wrong stack depth) and you get silent stack overflows or priority inversion bugs that only show up under load. The heap allocators (heap_1 through heap_5) are static or first-fit; if you need a real-time-safe allocator with fragmentation guarantees, you're bringing your own. Co-routines are deprecated but still in the tree, creating confusion about what's actually supported. Documentation lives on freertos.org, not in the repo, so offline-first development or doc diffs are painful.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →