Async Rust in Embedded Systems with Embassy - Dario Nieuwenhuis
Published at : 23 Dec 2025
Async/await in Rust has a unique design compared to other languages that offers much lower-level control. This makes it surprisingly well suited for use in microcontroller-based embedded systems with no operating system, little memory (down to kilobytes!) and no heap. Embassy is an async runtime that makes that possible: it includes an executor that works on no-std no-alloc targets, and libraries to do async IO directly against the hardware. In this talk we'll explore how this is done, what challenges arise and how Embassy solves them, what makes async on embedded unique compared to a standard async runtime like Tokio, and what improvements could we make to the Rust language itself to make it even better.