no_std Foundations

required121 repos of evidence

Everything on-target starts here: the corpus's firmware shares heapless data structures and defmt logging as its baseline.

The destination — non-negotiable
  • build and flash a no_std binary to real hardware
  • size data structures from a memory budget
  • debug on-target with defmt/RTT instead of hope
+ beyond Cargo: no_std vs std · panic handlers · const generics · memory budgets
The vehicles — 2 ways in, any combination works

Real no_std projects — startup code, panic handlers, and memory budgets you can copy.

Prove it — build this

Blink an LED the honest way: bare no_std project, linker script understood, defmt logs streaming — write up the toolchain setup.

Can you honestly tick these?

HALs & Peripherals

required43 repos of evidence

embedded-hal is the trait layer the whole Rust embedded corpus organizes around — driver work against it is the portfolio unit that counts.

The destination — non-negotiable
  • drive SPI/I2C/UART peripherals from a datasheet
  • write interrupt handlers that share state safely
  • map a register layout to a typed API
+ beyond Cargo: GPIO/SPI/I2C/UART · interrupts · DMA · datasheets as source of truth
The vehicles — 2 ways in, any combination works

The HALs themselves — how register blocks become safe typed APIs, chip by chip.

Prove it — build this

Write and publish an embedded-hal driver crate for a cheap sensor — with docs, an example, and CI building for a target triple.

Can you honestly tick these?

Async on Hardware

recommended45 repos of evidence

Embassy is the corpus's fastest-growing embedded pattern — async task models replacing hand-rolled state machines on MCUs.

The destination — non-negotiable
  • understand async with zero threads and one core
  • structure firmware as tasks instead of hand-rolled state machines
  • serialize structured messages over constrained links
+ beyond Cargo: async without an OS · executors on MCUs · power & timing · message serialization
The vehicles — 2 ways in, any combination works

embassy-based firmware — executors, timers, and drivers in the corpus's fastest-growing embedded pattern.

Prove it — build this

Build a sensor node on embassy: async sampling task, postcard frames over serial, host-side Rust decoder — one repo, both ends.

Can you honestly tick these?

Host Tools & The Bridge

recommended67 repos of evidence

Embedded teams hire people who improve the loop: the corpus's probe-rs ecosystem shows Rust owning the flash-debug-test pipeline itself.

The destination — non-negotiable
  • own the flash-debug-test loop, not just the firmware
  • build host-side tools that talk to your hardware
  • automate hardware tests so they run on every commit
+ beyond Cargo: flashing & debugging pipelines · host-side tooling · hardware-in-the-loop testing
The vehicles — 2 ways in, any combination works

The probe-rs ecosystem — debug probes, flashing, and RTT as Rust code you can extend.

probe-rs11 repos
Prove it — build this

Build a host CLI for your sensor node: live plotting or logging over serial, a --flash subcommand, and a HIL smoke test in CI.

Can you honestly tick these?

Reliability & Rigor

differentiator20 repos of evidence

Firmware that ships must survive the field. This leg is thin on crates and heavy on judgment — the corpus's mature firmware shows both.

The destination — non-negotiable
  • design firmware that survives watchdogs, brownouts, and bad flash
  • design a safe OTA/rollback scheme
  • think in field failure modes, not demo conditions
+ beyond Cargo: watchdogs & brownouts · OTA updates · safety mindsets · power analysis
Prove it — build this

Add a watchdog, a reboot-reason register, and a crash-count report to your node — then document the failure modes you now survive.

Can you honestly tick these?
At the end of this road

Open roles matching this destination right now:

First engineering hire owning embedded no_std Rust firmware for a software-defined BMS platform. Rust is the primary language for the embedded firmware, with responsibilities from implementation through certification.

Open

Building a dynamic runtime on top of the Linux BPF sub-system. Looking for Rust developers with deep interest in Linux internals, distributed systems, and systems programming.

Open
← All destinationsBrowse the evidence corpus →