Books About Embedded Systems Design
Here's a list of the handful of books about embedded systems design that we recommend most highly.
![]() |
Programming
Embedded Systems: With C and GNU Development Tools, 2nd
Edition, by Michael Barr and Anthony Massa The one book every embedded software developer must read to learn to interface directly to hardware using C. The updated and expanded second edition has examples using the GNU C compiler and an ARM processor. |
![]() |
Designing
Embedded Hardware, 2nd Edition, by John Catsoulis The perfect complement to Programming Embedded Systems (above), this book is a beginner's guide to embedded hardware development. Learn how to design a simple PIC or AVR-based printed circuit board. |
![]() |
Embedded C Coding Standard, by Michael Barr The Embedded C Coding Standard was developed from the ground up to minimize bugs in firmware, by focusing on practical rules that keep bugs outâ€â€while also improving maintainability and portability. |
![]() |
Hardware/Firmware Interface Design: Best Practices for Improving Embedded Systems Development, by Gary Stringham Seven principles and over 300 best practice rules for designing ASICs, ASSPs, FPGAs, and SoCs so they don't suck. If you follow these rules, the device drivers and other firmware that uses the registers and blocks in the hardware will be easier to write and debug. |
![]() |
Practical
Statecharts in C/C++: Quantum Programming for Embedded
Systems, by Miro Samek Everything you ever wanted to know about hierarchical state machines. A true gem of a book, complete with C and C++ implementations of a framework for executing state machines in embedded systems. |
![]() |
MicroC/OS-III: The Real Time Kernel, by Jean Labrosse The book to read if you want to know what makes a real-time operating system tick. It even includes the complete source code for a compact yet highly-portable RTOS. |
![]() |
Embedded Systems Dictionary, by Jack Ganssle and Michael Barr A handy desktop reference for beginner and expert alike. Over 2,800 embedded-specific terms defined. |
![]() |
Analog Interfacing to Embedded Microprocessors: Real World Design, by Stuart Ball Loaded with great information about various types of sensors, A/D converters, and other interfaces to the analog world. |







