Skip to content

Embedded systems, bit by bit.

Understand the bits. Build the firmware. Learn the fundamentals of embedded engineering through clear explanations, runnable C examples, and practice.

HardFault is a growing, free learning resource for firmware and embedded software engineers. Whether you are preparing for an interview or strengthening your foundations, start with one concept and work through it carefully.

Understand the concept

Follow the reasoning from first principles, with binary diagrams and small examples you can work through by hand.

Check it in C

Compile the accompanying examples on your computer. The first chapter requires no development board.

Test your understanding

Work through practice questions before revealing the answers. Learn to explain why an operation works.

Connect it to firmware

Learn where everyday C meets registers, hardware behavior, and the mistakes that matter in real systems.

The first chapter is ready to read. Future topics will build toward memory and pointers, interrupts, peripheral interfaces, RTOS concepts, and debugging. New chapters will appear as they are written and checked.

Everything here is free to read, with no account required. Found something unclear? Open an issue on GitHub.