Ben Chuanlong Du's Blog

It is never too late to learn.

Rust for IoT

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!


tock-os Tock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M and RISC-V based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers.


embassy is a modern embedded framework, using Rust and async.


cortex-m-rtic Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers.


hubris is a lightweight, memory-protected, message-passing kernel for deeply embedded systems.


FreeRTOS is a Rust create to use FreeRTOS in rust projects. The freertos-cargo-build crate can be used to build and link FreeRTOS from source inside

Drone OS

Drone OS is an Embedded Operating System for writing real-time applications in Rust.


R3-OS is an experimental static component-oriented RTOS for deeply embedded systems.


Bern RTOS is a real-time operating system for microcontrollers written in Rust .

Using Rust in RIOT

RIOT is a real-time multi-threading operating system (developed in C) that supports a range of devices that are typically found in the Internet of Things (IoT): 8-bit, 16-bit and 32-bit microcontrollers.

On supported CPUs, Rust can be used to develop RIOT applications. Support is indicated in the has_rust_target feature, and tested for in applications using the Makefile line FEATURES_REQUIRED += rust_target.


ApolloLabs.bin Tech Blog

Rust Embedded Org @ GitHub

PlatformIO is a professional collaborative platform for embedded development .

espressif-trainings contains Training Material for learning to use Embedded Rust with the Espressif ESP32-C3.


cross provides "Zero setup" cross compilation and "cross testing" of Rust crates .


probe-rs is a debugging toolset and library for debugging embedded ARM and RISC-V targets on a separate host .


probe-run is a custom Cargo runner that transparently runs Rust firmware on an embedded device. probe-run is powered by probe-rs and thus supports all the devices and probes supported by probe-rs.


Discovery is a book introducing microcontrollers and how to use Rust with them.

Learning Rust For Embedded Systems

Safe & Portable Data Structure Design

not-yet-awesome-embedded-rust is a collection of items that are not yet awesome in Embedded Rust .