device-envoy wraps common peripheral patterns into reusable components, while keeping Embassy’s async model underneath. So far it includes:
- LED panels (text, animation, graphics, color correction, power limiting)
- Automatic Wi-Fi provisioning
- Audio clip playback over I2S (runtime sequencing, volume control, compression)
- Type-safe flash storage
- IR input using PIO with decoding to enum variants
- Servo control with animation
It runs fully bare metal on top of Embassy. No OS. No runtime.
Repository:
(Crates.io and docs.rs links are in the repo.)
I recently gave a talk at the Seattle Rust User Group showing demos and usage code:
I think of this as an experiment in whether bare-metal embedded systems can move closer to application-style development, similar in spirit to GUI or web programming, while still preserving explicit control of hardware.
If anyone else is exploring application-level programming on top of Embassy, I’d enjoy connecting.