freertos/freertos-kernel

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 59 minutes ago
Type:Library / SDKCategory(s):Embedded & IoTSystems, Hardware & HPC
Added to GitGenius on September 15th, 2026
Created on September 9th, 2019
Open Issues & Pull Requests: 96 (+0)
GitHub issues: Enabled
Number of forks: 1,621
Total Stargazers: 4,508 (+1)
Total Subscribers: 113 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 15.2 hours
Mean response time: 20.7 days
90th percentile: 19.3 days
Tracked items: 97

Most active contributors

Sign in to see contributor activity.

How this project is maintained

94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 58% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 33
New in 7 days: 4
Closed in 7 days: 0
Avg open age: 284 days
Stale 30+ days: 28
Stale 90+ days: 20

Recent activity

Opened in 7 days: 4
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 3

Top labels

  • bug (53)
  • enhancement (34)
  • documentation (9)
  • help wanted (4)
  • question (4)
  • roadmap (4)
  • Concept Ack (1)
  • Concept Nack (1)

Detailed Description

FreeRTOS Kernel is a real-time operating system kernel for embedded systems that provides task scheduling, synchronization primitives, and memory management on resource-constrained devices.

The kernel solves the problem of coordinating multiple concurrent tasks on embedded hardware with limited memory and processing power. It provides preemptive multitasking, allowing developers to structure applications as independent tasks that the scheduler manages. The kernel handles context switching, inter-task communication through queues and semaphores, and dynamic memory allocation, abstracting away low-level timing and synchronization concerns that would otherwise require careful manual management.

Developers should choose this kernel for embedded projects targeting microcontrollers and small embedded systems where a lightweight, deterministic real-time scheduler is needed. It suits applications requiring multiple concurrent activities—such as sensor polling, communication handling, and control logic—that would be difficult to manage in a single sequential program. The tool is distributed as kernel source and header files only, designed to be integrated into larger projects either as a submodule or through CMake's FetchContent mechanism. Configuration happens through a FreeRTOS configuration header and CMake variables that select the appropriate port for your target architecture and heap implementation strategy.

The project maintains active kernel development with regular updates to core scheduling and synchronization mechanisms. Ports for multiple architectures receive ongoing maintenance and refinement to support new compiler toolchains and hardware platforms. The codebase shows consistent attention to build system integration, with improvements to CMake configuration and cross-compilation support. Documentation and example configurations are regularly reviewed and updated to reflect current best practices for integrating the kernel into modern embedded projects.