Course 05 Free course 19 volumes · 103 sub-modules All 19 volumes are live ~40 hours

Embedded C from Zero: Bits, Pointers, Registers and Drivers

Embedded C is the language running inside the washing machine, the car dashboard and the smartwatch. This course starts from zero: no programming and no electronics assumed. By the end you will read and write the C that talks straight to hardware - bits, pointers, registers, interrupts, timers and drivers - and explain it in an interview.

Start here

Start with Volume 00. It explains what "embedded" means, how your code ends up running on a chip, and how to run every program in this course for free in a browser, before you own a board. Then take the volumes in order. Each one uses only what came before it.

Every program here was compiled and run before it was published, so the output you see is the output you get. Each new word is underlined with dots - point at it (or tap it) to see what it means. Every sub-module ends with a quick check.

Already know some C?

Take the quick checks in Volumes 01 to 03 without reading them. If you get them all right, start at Volume 04, where the bit manipulation begins - that is where embedded C parts company with the C taught for computers.

Designing the hardware too?State Machines from Zero teaches the same kind of step-by-step thinking on the hardware side. The two courses meet in this one, where a state machine is written in C.
Open the FSM course

Full syllabus

Part I - First steps

Part II - How C sees data

Part III - The C that firmware needs

Part IV - Inside the chip

Part V - Drivers, memory and the build

Part VI - Reliable code, and interviews

What you need before starting

What Why Free option
Nothing but curiosity Volume 00 explains every idea this course uses -
A web browser To compile and run C without installing anything An online C compiler, such as Compiler Explorer or Programiz
Optional: GCC on your computer To work offline GCC is free on Linux and macOS; on Windows, use WSL or MinGW
Optional: a microcontroller board To watch a real LED blink Any board works - the course never needs one