Introduction

µKOS-X is a multitasking operating system designed specifically for embedded microcontroller- and DSP-based systems. Its development traces back to 1984, with the creation of µKOS-0. At that time, I developed a simple scheduler without any additional services, constrained by the extremely limited memory available. This early system ran on a Motorola MC6809 processor operating at 1 MHz. The project gained momentum in 1992 during the development of the Khepera mobile robot, an influential academic robotics platform. During this phase, I created µKOS-I, written in CALM assembler, a language developed by LAMI-EPFL. That experience raised a critical question that would shape the future of µKOS: “How should one write software to control such a compact, resource-limited robot?” This challenge laid the conceptual foundation for what would later become the µKOS family. In 1996, I undertook a complete rewrite of µKOS-I in the C programming language, resulting in µKOS-II. Development was carried out on a Macintosh running Mac OS 9, using the MPW (Macintosh Programmer’s Workshop) environment, which offered a robust platform for embedded development at the time. In 2002, following Apple’s transition to Mac OS X and the broader UNIX ecosystem, I chose to revive, modernise, and extend the µKOS project. This effort culminated in the creation of µKOS-X, a fully updated, feature-rich version of the operating system. My goal was to consolidate the ideas, insights, and experience accumulated over nearly three decades of embedded system design, and to make them available to others working in the same domain. I consider this project to be open source, licensed under the MIT license. The µKOS project is described and distributed with full support for a wide range of ARM Cortex microcontrollers — covering both single-core and multi-core architectures — including the M3, M4, M7, M33, and M55 families, as well as for RISC-V architectures, specifically RV32 and RV64.

The proposed package

The proposed package includes all the OS sources, along with the necessary documentation and build instructions for generating both the required tools and the operating system itself for all supported targets. The supported compilers are GCC and LLVM. Both build systems, Make and CMake, are supported as well. Additionally, the package provides configuration files, example setups, and guidelines to help developers quickly adapt the build process to different environments and platforms. This ensures flexibility, ease of integration, and reproducibility across various development workflows.

µKOS-X illustration

Specifications

  • Preemptive multitasking kernel
  • Native multicore support (homogeneous and heterogeneous)
  • Privileged and user spaces
  • Configurable scheduler and priorities
  • Deterministic interrupt handling
  • Newlib integration
  • Fast MLP neural network library
  • File system for SDCards V2 & small flash devices
  • Support for ARM cores Cortex-M3, -M4, -M7, -M33, -M55
  • Support for ARM SOCs STM32F207, STM32L4R5, STM32H743, STM32H747, STM32U5G9, nRF5340, rp2350, STM32N657
  • Support for RISC-V cores RV32 / RV64
  • Support for RISC-V SOCs GD32VF103, K210
  • Cortex based boards: Nucleo-F207, -H743, -L4R5, -N657, Discovery-U5G9, Pico2-rp2350, SDK-nrf5340, Custom as example: Alastor-H743 & Asmodee-H747 (Portenta based)
  • RISC-V based boards: Longan Nano-F103, MAiXDUiNO-K210
  • Example projects and templates
  • GCC and LLVM toolchains supported
  • Build systems: Make and CMake
  • Portable abstraction layer
  • Support for third-party packages: TinyUSB, TensorFlow Lite, MicroPython, FatFs, VLGL, decnumber, etc.
  • Support of Cppcheck and LLVM clang-tidy
  • Kernel model for Segger Ozone plug-in
  • MIT-licensed open-source distribution

PDF Documentation

The µKOS-X documentation provides an overview of the architecture, APIs, configuration options and usage examples for supported targets.

📄 PDF documentation

Online Documentation

You can also browse the full online µKOS-X documentation, including architecture details, API reference, examples and graphic dependencies.

📘 Online documentation

GitHub with the sources ...

µKOS-X is distributed as an open-source project under the MIT license. You can browse the sources, documentation and examples directly on Github.

🧩 µKOS-X GitHub

The Team

Altogether, we have more than 120 years of experience in computer science.

Photo of Edo Franzi

Edo. Franzi

Software engineer with expertise in embedded systems. Original author of the µKOS family.

Photo of Laurent von Allmen

Laurent von Allmen

Software engineer with expertise in real-time, compilers and low-level development.

Antonio José Restrepo Zea

Antonio José Restrepo Zea

Software engineer with expertise in real-time. Contributor focusing on architecture, tooling and developer experience.