Books¶
The short shelf. Every book recommended anywhere in the guide, in one place, with who it is for. Free ones are marked. Links go to the author or publisher, never to a marketplace.
Read these first¶
| Book | Who it is for | Free? |
|---|---|---|
| Making Embedded Systems, 2nd Edition by Elecia White (2024) | Everyone. The one book to buy if you buy one. Architecture, drivers, debugging, testing, shipping. Companion code. | No |
| Beej's Guide to C Programming by Brian Hall | Learning C from scratch or relearning it properly. | Yes |
| Embedded C Coding Standard (BARR-C) by Michael Barr | Anyone writing C that other people will read. Short. | Yes, PDF |
| Programming Embedded Systems by Michael Barr and Anthony Massa | The classic introduction, now free chapter by chapter online. Dated examples, timeless structure. | Yes, online |
C, deeper¶
| Book | Who it is for | Free? |
|---|---|---|
| Modern C by Jens Gustedt | Your second C book. Rigorous and current. | Yes, PDF |
| Effective C, 2nd Edition by Robert Seacord | Undefined behavior, security, and the standard, from a committee member. | No |
How computers work¶
| Book | Who it is for | Free? |
|---|---|---|
| Code: The Hidden Language of Computer Hardware and Software, 2nd ed. by Charles Petzold | High schoolers and anyone who wants the story from relays to CPUs. | No |
| Nand2Tetris | A course more than a book, but it comes with one. Build a computer from gates. | Yes, course |
| Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron | CS students who want the full systems picture: machine code, memory, linking, concurrency. | No |
Electronics¶
| Book | Who it is for | Free? |
|---|---|---|
| Ultimate Electronics: Practical Circuit Design and Analysis by CircuitLab | Beginners. Interactive simulations inline. | Yes |
| All About Circuits Textbook | Reference. Look things up. | Yes |
| The Art of Electronics, 3rd ed. by Horowitz and Hill | The reference every hardware engineer owns. Not for beginners. | No |
Firmware craft¶
| Book | Who it is for | Free? |
|---|---|---|
| Test-Driven Development for Embedded C by James Grenning | Anyone who thinks TDD does not apply to firmware. | No |
| Practical UML Statecharts in C/C++, 2nd ed. by Miro Samek | Hierarchical state machines and event-driven design, in depth. | Yes, PDF |
| Mastering the FreeRTOS Real Time Kernel by Richard Barry | Using FreeRTOS. Official and current. | Yes |
| Bare-metal programming for ARM by Daniels Umanovskis | Startup code, linker scripts, and drivers from nothing, on an emulator. | Yes |
| Practical Guide to Bare Metal C++ by Alex Robenko | If your team uses C++ on microcontrollers. | Yes |
Specializations¶
| Book | Who it is for | Free? |
|---|---|---|
| The Scientist and Engineer's Guide to Digital Signal Processing by Steven W. Smith | DSP without the calculus. Module 17. | Yes |
| Mastering Embedded Linux Development, 4th Edition by Frank Vasquez and Chris Simmonds (2025) | Embedded Linux, end to end. Module 15. | No |
| Linux Device Drivers, 3rd Edition by Corbet, Rubini, and Kroah-Hartman | The kernel's mental model. Old APIs, still worth it with current docs beside it. | Yes |
| Embedded Systems: Introduction to Arm Cortex-M Microcontrollers by Jonathan Valvano | A university textbook series with free lecture material and labs, used in the edX "Shape the World" course. | Partly |
| Arm Education books including Joseph Yiu's Definitive Guide to Arm Cortex-M series | The deep reference on the cores you are using. | No |