Learning embedded systems from first principles — no HALs, no pre-built drivers. Direct register access only.
| Board | SoC | Emulated via |
|---|---|---|
| Raspberry Pi Zero 2W | BCM2837B0 (Cortex-A53) | QEMU raspi3b |
| SparkFun ESP32 Thing | ESP32 (Xtensa LX6) | Espressif QEMU fork |
- Phase 0 — QEMU environment setup (macOS Apple Silicon)
- ESP32 QEMU Setup
- RPi Zero 2W QEMU Setup
- Phase 1 — UART: RPi Zero 2W ↔ ESP32
- Phase 2 — SPI
- Phase 2 — I²C
- Phase 3 — Bare metal & toolchain from scratch
- Phase 4 - Bootloader
Planned — write a custom bootloader for both platforms from scratch.
Requires understanding of the boot process, memory layout, and ELF loading._
- Refere to the quick_starup_guide once the setup is done and would quickly want to get started and start writing code.