Domain

C

A ground-up walk through the C language itself — written for someone who already knows there are variables and loops somewhere in programming, but wants every concept actually explained, in order, with working examples. This is deliberately not the same material as Embedded C: this domain is "what does this language do," Embedded C is "how does this language behave on a chip with 2KB of RAM and no operating system to catch a mistake." Read this domain first if any of that felt unfamiliar.

Why this domain is separate from Embedded C

Embedded C explicitly assumes you already know the language and focuses on where bare-metal C diverges from general-purpose C — integer overflow on tiny types, volatile, linker sections, memory-mapped registers. This domain is the prerequisite: plain C, taught as its own subject, with nothing assumed. Once you're comfortable here, Embedded C is where that knowledge gets specialized for firmware, and C++ is where it gets extended with object-oriented and generic-programming features built directly on top of C's own rules.

Topics

Nothing left in "Planned" — this domain now covers the language ground-up, from a first program through the preprocessor. From here, Embedded C specializes this same knowledge for bare metal.

Scope note

Read top to bottom the first time through — each chapter is written assuming you've read the ones before it, and says so explicitly wherever it matters. Once this domain is complete, it's meant to be the thing you read once and then never need to reread, the same way Electronics works for circuit fundamentals.