Learning Embedded Systems

Embedded systems are computers inside other things: sensors, controllers, appliances. No shell by default. Wrong firmware can mean a truck roll, not a redeploy.

I will not become a hardware engineer. I want enough depth to respect the constraints and debug without hand-waving.

Initial Learning Objectives

  • One board, one sensor: flash firmware, read a value, log it somewhere sane.
  • Failure modes that matter: power loss, brownouts, corrupt state, “works on the bench” vs. in the field.
  • Read the stack below Go: ties to Learning C++ when performance or memory stops being abstract.
  • Connected devices later: IoT is embedded plus networking plus security applied. No separate track until a real device project shows up.

Assembly stays optional depth, only if disassembly or profiling actually requires it.

How I plan to learn

Microcontroller experiments in the homelab when curiosity spikes. Document what breaks. No timeline until hardware is part of a real project.