Embedded Systems & Hardware
Focus: software meets siliconโprogramming at the hardware boundary.
Bare Metal Programming
Programming without an OS.
| Topic | Description |
|---|---|
| Bare Metal Programming | Direct hardware access |
| Bootloader Deep Dive | System boot process |
Microcontrollers
Small computers for embedded applications.
| Topic | Description |
|---|---|
| ESP32 Programming | WiFi-enabled microcontroller |
| ESP32 Without Arduino | Native ESP-IDF development |
Real-Time Operating Systems
Deterministic embedded OS.
| Topic | Description |
|---|---|
| RTOS from Scratch in C | Build your own RTOS |
Firmware Development
Low-level system software.
| Topic | Description |
|---|---|
| Firmware Deep Dive | Firmware development |
| Embedded Linux | Linux on embedded devices |
| Embedded Linux Deep Dive | Advanced embedded Linux |
Assembly & Hardware Description
Lowest level programming.
| Topic | Description |
|---|---|
| ARM Assembly Projects | ARM assembly programming |
| Verilog from Zero | Hardware description language |
Learning Tips
- Get hardware: No substitute for real devices
- Read datasheets: Primary documentation for hardware
- Use oscilloscopes/logic analyzers: See whatโs happening
- Start simple: Blink an LED before building robots
- Understand timing: Real-time means real constraints