English

Ariel OS: An Embedded Rust Operating System for Networked Sensors & Multi-Core Microcontrollers

Operating Systems 2025-10-02 v1

Abstract

Large swaths of low-level system software building blocks originally implemented in C/C++ are currently being swapped for equivalent rewrites in Rust, a relatively more secure and dependable programming language. So far, however, no embedded OS in Rust supports multicore preemptive scheduling on microcontrollers. In this paper, we thus fill this gap with a new operating system: Ariel OS. We describe its design, we provide the source code of its implementation, and we perform micro-benchmarks on the main 32-bit microcontroller architectures: ARM Cortex-M, RISC-V and Espressif Xtensa. We show how our scheduler takes advantage of several cores, while incurring only small overhead on single-core hardware. As such, Ariel OS provides a convenient embedded software platform for small networked devices, for both research and industry practitioners.

Keywords

Cite

@article{arxiv.2504.19662,
  title  = {Ariel OS: An Embedded Rust Operating System for Networked Sensors & Multi-Core Microcontrollers},
  author = {Elena Frank and Kaspar Schleiser and Romain Fouquet and Koen Zandberg and Christian Amsüss and Emmanuel Baccelli},
  journal= {arXiv preprint arXiv:2504.19662},
  year   = {2025}
}
R2 v1 2026-06-28T23:13:34.030Z