no_std Foundations

required122 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

required42 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

recommended44 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

recommended61 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

differentiator18 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

Rerun is the data layer for Physical AI, using Rust for core performance-critical code. They are hiring for multiple roles including Rust Backend Engineers.

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 →