Domain

Embedded C

Not a "learn C" tutorial — this domain is the specific discipline of reasoning about C the way it actually behaves on a microcontroller with a few kilobytes of RAM, no operating system to catch a mistake, and a CPU that will happily execute undefined behavior instead of complaining about it. Every topic here exists because it's a place embedded C diverges from "C as taught in a general programming course" in a way that produces real, field-reported bugs. If C itself is still new to you, start with the C domain first — this one assumes you're already comfortable with variables, control flow, functions, and pointers.

Why this domain is separate from Embedded (and from C)

Embedded is the microcontroller itself — cores, pins, interrupts, timers. C is the language taught from first principles, with nothing assumed. This domain is neither: it's the language running on that microcontroller, specifically where it diverges from general-purpose C — storage classes, integer representation, the compile/link pipeline, memory management, and the data structures a program is built out of, all reasoned about under bare-metal constraints. The distinction matters because everything here applies whether the target is an 8-bit AVR, a 32-bit Cortex-M, or a full Linux SBC — it's C discipline, not hardware.

Topics

Nothing left in "Planned" — this domain now covers the full arc from language fundamentals under bare-metal constraints through to memory layout at the byte level.