Free real-time operating system (RTOS) designed for deeply embedded applications
FreeAbout Free real-time operating system (RTOS) designed for deeply embedded applications
StateOS is a free, extremely simple, and very fast real-time operating system (RTOS) designed for deeply embedded applications, targeting ARM Cortex-M and STM8 microcontrollers. Inspired by state machine concepts, it supports both preemptive and cooperative scheduling modes. StateOS offers a rich set of features including tick-less operation for low power, MPU protection, various synchronization primitives (mutexes, semaphores, condition variables, barriers, etc.), message/mailbox/event/job queues, timers, and a hierarchical state machine. It provides a comprehensive C++ wrapper with support for standard C++ threading (std::thread, std::mutex, etc.) and also implements CMSIS-RTOS and CMSIS-RTOS2 APIs. The kernel can operate with 16, 32, or 64-bit timers. All documentation is contained within source files, and examples are available in separate repositories. Licensed under MIT.
Key Features
Pros & Cons
- Free and open-source under the permissive MIT license
- Extremely simple and fast kernel design
- Rich set of synchronization and communication primitives
- Supports both preemptive and cooperative scheduling
- Advanced C++ wrapper enabling use of std::thread, std::mutex, etc.
- Tick-less operation for reduced power consumption
- MPU protection for enhanced safety and security
- Compatible with CMSIS-RTOS and CMSIS-RTOS2 APIs
- Targets only ARM Cortex-M and STM8 architectures; not portable to other platforms
- Documentation is primarily contained within source comments, which may be less accessible than a standalone manual
- Relatively small community compared to larger RTOS projects (e.g., FreeRTOS)