Understand the concept
Follow the reasoning from first principles, with binary diagrams and small examples you can work through by hand.
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.