// the find
drone-os/drone-core
The core crate for Drone, an Embedded Operating System.
Drone is a Rust RTOS for bare-metal embedded targets, built around async/await and fibers rather than the traditional RTOS thread model. It targets ARM Cortex-M specifically and takes a strongly opinionated approach: no dynamic dispatch, ownership-based register access, and a token system that enforces peripheral exclusivity at compile time. For developers who want async Rust on microcontrollers without embassy's approach, this is the main alternative.
The register abstraction is genuinely well-designed — peripheral tokens enforce at compile time that you can't have two parts of the firmware fighting over the same register. The loom-based concurrency tests (loom_spsc_*, loom_mutex) are a real differentiator; most embedded Rust projects skip this entirely. Fiber-based async without a heap allocator is clever and the stream primitives (ring buffer, pulse) map cleanly to real interrupt-driven patterns. The macro system for bitfields and peripheral maps eliminates a whole class of bit-twiddling bugs.
Last commit June 2023, badge still says 'actively-developed' — that's a red flag. The README is essentially a stub pointing to external docs, and the Drone Book URL may be dead or stale. Ecosystem lock-in is real: you need drone-cortexm, drone-stm32, etc., and if any of those are equally stale you're on your own. No mention of Cortex-M7 or any non-STM32 targets suggests the ecosystem never got broad enough to matter outside one chip family.