no_std and embedded Rust essentials for firmware teamsasync Rust in this course — see the companion Async Rust Training for a full treatment of futures, executors, Pin, tokio, and production async patternsThis material works both as an instructor-led course and for self-study. If you're working through it on your own, here's how to get the most out of it:
Pacing recommendations:
| Chapters | Topic | Suggested Time | Checkpoint |
|---|---|---|---|
| 1–4 | Setup, types, control flow | 1 day | You can write a CLI temperature converter |
| 5–7 | Data structures, ownership | 1–2 days | You can explain why let s2 = s1 invalidates s1 |
| 8–9 | Modules, error handling | 1 day | You can create a multi-file project that propagates errors with ? |
| 10–12 | Traits, generics, closures | 1–2 days | You can write a generic function with trait bounds |
| 13–14 | Concurrency, unsafe/FFI | 1 day | You can write a thread-safe counter with Arc<Mutex<T>> |
| 15–16 | Deep dives | At your own pace | Reference material — read when relevant |
| 17–19 | Best practices & reference | At your own pace | Consult as you write real code |
How to use the exercises:
When you hit a wall: