Giovanni Di Sirio (

Chibi ?

I didn't want a serious name for this project. It is the Japanese word for small as in small child. So ChibiOS/RT (ちびOS/RT) means small Real Time Operating System. Source Wikipedia.


  • Free software, GPL3 licensed. Stable releases include a exception clause to the GPL.
  • Designed for realtime applications.
  • Easily portable.
  • Preemptive scheduling.
  • 128 priority levels. Multiple threads at the same priority level allowed.
  • Round robin scheduling for threads at the same priority level.
  • Offers threads, virtual timers, semaphores, mutexes, condvars, event flags, messages, mailboxes, I/O queues.
  • No static setup at compile time, there is no need to configure a maximum number of all the above objects.
  • PC simulator target included, the development can be done on a PC under Linux or Windows.
    Timers, I/O channels and other HW resources are simulated in a guest OS process and the application code does not need to be aware of it.
  • No *need* for a memory allocator, all the kernel structures are static and declaratively allocated.
  • Optional, thread safe, Heap Allocator subsystem.
  • Optional, thread safe, Memory Pools Allocator subsystem.
  • Blocking and non blocking I/O channels with timeout and events generation capability.
  • Minimal system requirements: about 6KiB ROM with all options enabled and speed optimizations on. The size can shrink under 2KiB by disabling the the unused subsystems and optimizing for size.
  • Almost totally written in C with little ASM code required for ports.
  • Optional Hardware Abstraction Layer (HAL) with support for many device driver models and device driver implementations.

Related pages