Ariel OS is a library operating system for secure, memory-safe, low-power Internet of Things, written in Rust
  • Rust 97.1%
  • Makefile 1%
  • Python 0.8%
  • Go Template 0.6%
  • Linker Script 0.3%
  • Other 0.1%
Find a file
2026-05-01 14:14:20 +00:00
.cargo chore: drop cargo config unstable feature 2026-01-20 11:40:29 +01:00
.github fix: Correct link in pull request template 2026-05-01 14:10:53 +00:00
boards fix(boards): fix st-nucleo-h755zi-q red led pin 2026-03-30 14:10:19 +02:00
book refactor(native): make stdout a logging output, not a debug channel (#2052) 2026-04-28 11:19:28 +00:00
doc docs(support): leverage the new note_snippets where possible 2026-04-29 09:10:29 +02:00
examples fix(http-server): add lifetime to Input 2026-04-21 18:11:55 +02:00
scripts feat(editor-config): add support for Zed and Gram 2026-04-27 15:20:40 +02:00
src chore(log): fix typo 2026-04-30 16:04:26 +02:00
supply-chain chore(vet): vet new dependencies 2026-04-01 15:39:46 +02:00
tests fix(logging)!: provide println!() when using the log facade 2026-04-21 14:16:53 +02:00
.editorconfig chore(editorconfig): set the spelling language to en-US 2026-03-09 11:34:33 +01:00
.gitattributes docs(gen-book): mark book/src/support_matrix.html as auto-generated 2026-01-13 10:27:16 +01:00
.gitignore chore: git ignore the root-level build directory 2024-02-06 15:04:58 +01:00
.yamllint.yml chore(yamllint): disable the comments-indentation rule 2025-12-18 09:17:34 +01:00
_typos.toml chore(ci): reflect taplo config change in relevant TOML files 2025-09-04 11:44:44 +02:00
ariel-os-cargo.toml feat: bump embassy-time to 0.5.1 and embassy-time-driver to 0.2.2 2026-03-24 12:58:48 +01:00
Cargo.lock refactor(native): make stdout a logging output, not a debug channel 2026-04-27 15:13:02 +02:00
Cargo.toml feat: bump MSRV to 1.95 2026-04-29 15:26:31 +02:00
CHANGELOG.md chore(release): add a changelog for v0.4.0 2026-03-18 13:28:46 +01:00
CITATION.cff chore: add citation file 2026-03-06 15:09:41 +01:00
clippy.toml fix(clippy): add "IoT" to the valid identifier list for Clippy 2025-08-21 11:35:12 +02:00
CODE_OF_CONDUCT.md docs(coc): fix broken reporting guidelines link 2026-01-28 16:06:23 +01:00
committed.toml ci: enforce conventional commits 2024-11-26 17:24:50 +01:00
CONTRIBUTING.md docs: change link roadmap to ROADMAP.md in 3 docs 2026-03-17 15:08:24 +01:00
criticalup.toml chore(build): bump criticalup release 2025-04-30 10:41:15 +02:00
deny.toml chore(deny): add a ban on the unmaintained proc-macro-error 2026-01-20 16:16:32 +01:00
FAQ.md docs(FAQ): change Ariel to Ariel OS 2026-03-13 11:14:27 +01:00
GOVERNANCE.md fix: change to link the CNCF governance template explainer 2026-03-10 15:57:33 +01:00
laze-project.yml feat(nrf91): save power by initializing the modem (#2064) 2026-04-30 14:21:28 +00:00
LICENSE-APACHE chore: include MIT license in repo 2024-11-27 10:04:30 +01:00
LICENSE-MIT chore: include MIT license in repo 2024-11-27 10:04:30 +01:00
README.md feat: bump MSRV to 1.95 2026-04-29 15:26:31 +02:00
ROADMAP.md fix(roadmap): fix capitalization 2026-01-31 01:02:49 +01:00
taplo.toml fix(ci): Allow unaligned comments to the taplo lint 2025-09-04 11:44:03 +02:00

logo

Book Documentation Matrix OpenSSF Best Practices Mastodon

Ariel OS is an operating system for secure, memory-safe, low-power Internet of Things (IoT). It is based on Rust from the ground up and supports hardware based on 32-bit microcontroller architectures (Cortex-M, RISC-V, and Xtensa). For a quick overview of our motivations and what we plan next, check our roadmap.

Goals and Design

Ariel OS builds on top of existing projects from the Embedded Rust ecosystem, including Embassy, esp-hal, defmt, probe-rs, sequential-storage, and embedded-test. While those provide high-quality building blocks for a wide range of embedded applications, such projects do not provide the high level of integration that developers know from contemporary C-based operating systems for microcontrollers, such as RIOT or Zephyr for instance.

Ariel OS thus follows an approach whereby it simultaneously integrates many heterogeneous pre-existing crates, and adds missing operating system functionalities such as a preemptive multicore scheduler, portable peripheral APIs, additional network security facilities, as well as laze, a meta-build system to bind it all together. The result? A powerful framework that allows to write portable embedded Rust applications with minimal boilerplate, providing a batteries-included experience. Still have questions? Check out our FAQ and/or take a look at the Ariel OS book.

Getting Started

See the Getting Started page in the User Guide to get the hello-world example running in less than 5 minutes.

Terminal screencast of compiling and flashing the hello-world example

Documentation

Multiple resources are available to learn Ariel OS:

  • 📔 Extensive documentation for Ariel OS can be found in the book.
  • 🛠️ Reference documentation for Ariel OS can be found in the API documentation.
  • ⚙️ The git repository is available on GitHub.
  • Examples demonstrate various features of Ariel OS.
  • 🧪 A set of test cases further verifies the capabilities of Ariel OS.
  • 🚧 The roadmap shows the planned features for Ariel OS.

Minimum Supported Rust Version (MSRV) and Policy

Ariel OS compiles with stable Rust version 1.95 and up. The MSRV can be increased in patch version updates.

Security

If you think you may have found an issue that represents a security risk to Ariel OS users, please report it privately using GitHub's Security section.

Ariel OS is licensed under either of

at your option.

Copyright (C) 2020-2026 Freie Universität Berlin, Inria, Kaspar Schleiser

Contributing

Contributions are very welcome! Please see our contributing guide for details.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Thanks to all the people who already contributed!

All contributors