Iterates on the post-merge 404 redesign across all 8 sub-sites: - SVG roofline-plot fonts bumped for readability without changing layout: axis labels 9.5pt to 14pt, region labels 9.5pt to 14pt, title and "your page (404)" annotation 11pt to 16pt. - Random-joke font shrunk from 1.6rem to 1.3rem (1.1rem on mobile) so the joke no longer dominates the SVG above it. - Removed the static "Looks like this page slipped past our load balancer" subline from 6 sub-sites — it read as a competing static joke alongside the random rotation. Slides and instructors keep their informational sublines. - Joke pool tightened 97 to 79 via a strict ML-systems-centric test: if you could swap "page" for any generic web/ops resource and the joke still works, cut. Cuts removed the H&P canonical material (Amdahl's Law, TLB miss, Dennard scaling, false sharing, fat-tree topology) that is general computer architecture rather than ML systems specifically. 19 borderline jokes were rewritten to anchor punchlines in concepts only ML practitioners decode (KV cache, gradient AllReduce, prefill, ZeRO, speculative-decode acceptance, 1F1B schedule, ridge point, BPE merges).
Hardware Kits
Hands-on Embedded ML Labs for Real Devices
Note
📌 Early release (2026)
Hardware Kits shipped with the 2026 MLSysBook refresh. Labs, build recipes, board notes, and PDF exports are actively iterated as hardware and SDKs evolve.
Feedback — GitHub issues or pull requests.
What This Is
The Hardware Kits teach you how to deploy ML models to real embedded devices. You will face actual hardware constraints: limited memory, power budgets, and latency requirements that do not exist in cloud environments.
This is where AI systems meet the physical world.
🎓 What You Will Learn
| Concept | What You Do |
|---|---|
| 🖼️ Image Classification | Deploy CNN models to classify images in real-time on microcontrollers |
| 🎯 Object Detection | Run YOLO-style detection on camera-equipped boards |
| 🗣️ Keyword Spotting | Build always-on wake word detection with audio DSP |
| 👋 Motion Classification | Use IMU sensors for gesture and activity recognition |
| 🗜️ Model Optimization | Quantize and compress models to fit in KB of RAM |
| 🔋 Power Management | Balance accuracy vs battery life for edge deployment |
🛠️ Hardware Platforms
| Platform | Description | Best For |
|---|---|---|
| Arduino Nicla Vision | Compact AI camera board with STM32H7 | Vision projects, ultra-low power |
| Seeed XIAO ESP32S3 | Tiny ESP32-S3 with camera support | WiFi-connected vision |
| Grove Vision AI V2 | No-code AI vision module | Rapid prototyping |
| Raspberry Pi | Full Linux SBC for edge AI | Complex pipelines, prototyping |
🚀 Quick Start
For Learners
- Pick a platform from the labs
- Follow the setup guide for your hardware
- Complete the labs in order: Setup → Image Classification → Object Detection → Keyword Spotting
For Contributors
cd kits
Build HTML site ln -sf config/_quarto-html.yml _quarto.yml quarto render
Build PDF ln -sf config/_quarto-pdf.yml _quarto.yml quarto render --to titlepage-pdf
Preview with live reload quarto preview
🔬 Labs Overview
Each platform includes progressive labs:
| Lab | What You Build | Skills |
|---|---|---|
| Setup | Hardware setup and environment configuration | Toolchain, flashing, debugging |
| Image Classification | CNN-based image recognition | Model deployment, inference |
| Object Detection | Real-time object detection | YOLO, bounding boxes |
| Keyword Spotting | Audio wake word detection | DSP, MFCC features |
| Motion Classification | IMU-based gesture recognition | Sensor fusion, time series |
📂 Directory Structure
kits/
├── contents/ # Lab content
│ ├── arduino/ # Arduino Nicla Vision labs
│ ├── seeed/ # Seeed XIAO & Grove Vision labs
│ ├── raspi/ # Raspberry Pi labs
│ └── shared/ # Shared resources (DSP, features)
├── assets/ # Images, styles, scripts
├── config/ # Quarto configurations
│ ├── _quarto-html.yml # Website config
│ └── _quarto-pdf.yml # PDF config
├── tex/ # LaTeX includes for PDF
├── filters/ # Lua filters
└── index.qmd # Landing page
📚 Documentation
| Who | Resources |
|---|---|
| Learners | Online Labs ・ PDF |
| Contributors | See build instructions above |
🤝 Contributing
We welcome contributions to the hardware labs! To contribute:
- Fork and clone the repository
- Add or improve lab content in
contents/ - Test your changes with quarto preview
- Submit a PR with a clear description
🔗 Related
| Component | Description |
|---|---|
| Main README | Project overview and ecosystem |
| Textbook | ML Systems concepts and theory |
| TinyTorch | Build ML frameworks from scratch |
| Website | Read labs online |
Contributors
Thanks to these wonderful people who helped improve the hardware kits!
Legend: 🪲 Bug Hunter · ⚡ Code Warrior · 📚 Documentation Hero · 🎨 Design Artist · 🧠 Idea Generator · 🔎 Code Reviewer · 🧪 Test Engineer · 🛠️ Tool Builder
Vijay Janapa Reddi 🪲 🧑💻 🎨 ✍️ 🧪 🛠️ |
Marcelo Rovai ✍️ 🧑💻 🎨 tutorial |
Salman Chishti 🧑💻 |
Pratham Chaudhary 🧑💻 |
Recognize a contributor: Comment on any issue or PR:
@all-contributors please add @username for tool, test, video, or doc
License
Content is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
See LICENSE.md for details.