Making Embedded Systems: Design Patterns for Great Software and over 2 million other books are available for Amazon Kindle . Learn more

Sign in to turn on 1-Click ordering.
Trade in Yours
For a 5.15 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading Making Embedded Systems: Design Patterns for Great Software on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Making Embedded Systems: Design Patterns for Great Software [Paperback]

Elecia White
5.0 out of 5 stars  See all reviews (3 customer reviews)
RRP: 25.99
Price: 17.04 & FREE Delivery in the UK. Details
You Save: 8.95 (34%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 7 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want it tomorrow, 22 Aug.? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition 16.19  
Paperback 17.04  
Trade In this Item for up to 5.15
Trade in Making Embedded Systems: Design Patterns for Great Software for an Amazon Gift Card of up to 5.15, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

12 Nov 2011 1449302149 978-1449302146 1

Interested in developing embedded systems? Since they don’t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements.

Written by an expert who’s created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.

  • Optimize your system to reduce cost and increase performance
  • Develop an architecture that makes your software robust in resource-constrained environments
  • Explore sensors, motors, and other I/O devices
  • Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption
  • Learn how to update embedded code directly in the processor
  • Discover how to implement complex mathematics on small processors
  • Understand what interviewers look for when you apply for an embedded systems job

"Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. It’s very well written—entertaining, even—and filled with clear illustrations."
—Jack Ganssle, author and embedded system expert.

Frequently Bought Together

Making Embedded Systems: Design Patterns for Great Software + Test Driven Development for Embedded C (Pragmatic Programmers) + Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit
Price For All Three: 63.84

Buy the selected items together

Product details

  • Paperback: 330 pages
  • Publisher: O'Reilly Media; 1 edition (12 Nov 2011)
  • Language: English
  • ISBN-10: 1449302149
  • ISBN-13: 978-1449302146
  • Product Dimensions: 1.9 x 17.8 x 24.1 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: 234,040 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

Book Description

Design Patterns for Great Software

About the Author

Elecia White has worked on DNA scanners, inertial measurement units for airplanes and race cars, toys for preschoolers, a gunshot location system for catching criminals, and assorted other medical and consumer devices. She is the founder of Logical Elegance, an embedded systems consulting company based in San Jose. Elecia has developed strong skills in signal processing, hardware integration, complex system design, and performance. Having been through FAA and FDA certification processes, she understands the importance of producing quality designsand how they lead to quality implementations.

Elecia has spent several years in management roles but enjoys hands-on engineering and the thrill of delivering excellent products. While continuing to provide leadership and mentoring, she prefers to focus on the technical aspects of a project. A graduate of Harvey Mudd College in Claremont, CA, Elecia enjoys sharing her passion for science, engineering and interesting gizmos, particularly how these things can make the world a better place.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4 star
3 star
2 star
1 star
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
1 of 1 people found the following review helpful
5.0 out of 5 stars Good choice 1 Aug 2013
Format:Paperback|Verified Purchase
This book could be considered as set of advices and guidelines for embedded programming. Not exactly connected with any particular programming language or hardware platform, but trying to give reader general overview of working in embedded environment. Recommended for beginners in this topic, also for developers with some experience on "bigger" systems who try to enter embedded world. Some tricks can be also be interesting even for experienced engineers.
Comment | 
Was this review helpful to you?
By S. Sims
Format:Paperback|Verified Purchase
This book covered most aspects of developing embedded systems without getting too deeply into implementation although it's filled with example code of just the "meaty bits". I wish more technical books were written this way; as an engineer coming into embedded systems from a much higher level of software development, I don't want anybody to hold my hand, just to point out the important bits and I'll find the rest out myself if I don't already know it. White's style is light and readable and its evident that she's lived through embedded systems development in a number of different situations. For example she stresses the importance of testing on the host as opposed to relying on the target without getting ideological or obsessive about it.

In conclusion, this is the kind of stuff that a good senior engineering mentor would share and therefore is recommended for anybody who's only been through development of a system once or twice. I also recommend it for those wanting to get into designing things for a hobby as this is something that the author is passionate about (evident from her podcast at "") although you'll need to refer to the internet for tutorial style help.
Comment | 
Was this review helpful to you?
5.0 out of 5 stars Excellent 18 Oct 2012
By steve b
Format:Paperback|Verified Purchase
Love this book, blends the abstract with the actual reality of creating a system,

Easy to read and excellent as a reference tool when drafting a new design,

thoroughly recommended.

Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.5 out of 5 stars  22 reviews
10 of 10 people found the following review helpful
5.0 out of 5 stars Great for background & working examples 1 May 2012
By Jeffrey M. Osier - Published on
I was extremely interested in reading this book, partly because it falls in my area of expertise, or at least I thought from the title that it would, and partly because I frequently find gaps in my knowledge base that books like this can fill. On this second point I could not have asked for a better volume. The breadth and depth of the examples and explanations gave me a greater understanding of many of the nuances of embedded systems programming than I had to begin with. The book is well-written and very well organized, and could easily be used as a textbook.

My only regret with the book initially was that it focuses solely on the interface between hardware and software, and does not cover embedded operating systems at all. At first I found this disappointing, and I still think some options could be discussed in an appendix, but I understand that is not the purpose of the book - and quite honestly, I learned so much from it that I can see why the author chose not to include that discussion.

I can't emphasize enough the value of gap-filling knowledge with a book like this.

I would highly recommend this book to anyone learning embedded systems programming who needs to know why an operating system is (or isn't) a good idea for a given project or hardware solution. You should know this stuff before attempting to choose an operating system, which I think is the author's point, and it is very well made.

Disclaimer - I received a review copy of the book.
13 of 15 people found the following review helpful
5.0 out of 5 stars Design of Embedded Software/Excellent Advice by a Veteran 17 Nov 2011
By Ira Laefsky - Published on
This is an excellent overview and collection of advice from a veteran, Elicia White, in software development for embedded systems. It is intended for a software developer who is a novice at at the design of resource-constrained embedded systems, and in the integration of hardware components in system design. Ms. White says that it is primarily intended for the development of raw metal micro-controller systems without an operating system, but in my judgement it provides many useful development heuristics that would also serve in the development of more sophisticated software for systems running Linux, an RTOS or Embedded Windows.

Certainly, as indicated in the title(semi-)formal "Design Patterns" are fully described for various characteristics of embedded development, e.g. state machines, and IOCTL-like generic control of input output peripherals; however, I would say that the most valuable contribution this book makes is in explaining the design integration of hardware components and basic EE-technologies to a software developer who has not yet experienced the design of a sophisticated embedded system. Such vital topics to the newbie embedded developer as reading a datasheet, timing diagram, or schematic are presented in an easily understandable fashion (an example datasheet is humorously provided for a dinosaur-based IO subsystem and fully analyzed). The design documentation necessary for a successful embedded project is also fully described.

This is a most necessary guidebook for a software developer involved in any hardware constrained micro-controller project; it would also be extremely useful to the hobbyist who seeks to move beyond simple Arduino-based physical computing projects.

--Ira Laefsky, MSE/MBA IT Consultant & Researcher
formerly on the Senior Consulting Staff of Arthur D. Little, Inc. and Digital Equipment Corporation
7 of 8 people found the following review helpful
5.0 out of 5 stars Very plesent surprise 10 May 2012
By B. Nizette - Published on
I've read half a dozen "Embedded Systems" books over the last several years and this one is the only one I'd recommend to anyone. Most books like this are long on concept but don't actually leave the reader more or less able to actually design a system themselves. I'm a fairly experienced Embedded Engineer ostensibly screening this book to pass on to junior colleagues, but found myself learning plenty!

This book is concise and very readable but manages to be complete and non-patronizing at the same time. It's primarily aimed at Software Engineers designing for Embedded Systems, but gives a good enough balance that it's equally suited to the Hardware Engineer looking to make their system as software-friendly as possible. I think the thing that impressed me most was that White was so candid about the limitations of the approaches presented. The text leads the reader to understanding the problems and how to go about solving them without trying to present an exhaustive list of "if x then Y" style solutions.

The only slight problem I have is that the section on floating point numbers doesn't, IMO, give enough information about IEEE754 floating point compared to the 'fake floating point' implementation discussed. There's one throw-away comment regarding the inadvisability of splitting the fake FP out in to its own library as you run the risk of re-inventing normal floating point, but it's not made explicit what the important implementation differences are that allow you to maintain the performance improvements touted.
3 of 3 people found the following review helpful
4.0 out of 5 stars A book for good practices 21 Nov 2013
By Jean-Francois Morin - Published on
Format:Paperback|Verified Purchase
For high level programmers, this book is a good introduction to the embedded world. For those already having knowledge of this field, some chapters could be skipped but the rest will learn you good practices or comfort you in what you're already doing. The application of design patterns to embedded systems is really interesting and you might find out you were already coding that way without knowing it. But you now have a name to describe it.
2 of 2 people found the following review helpful
5.0 out of 5 stars Great introduction to embedded programming 12 Aug 2013
By Marc Magrans De Abril - Published on
The book is a great intro to embedded programming, but more importantly it is also an introduction to all the bits that surround the field (hardware, PCBs, software upload, etc.). The only drawback of the book is the attempt to map the design patterns from Gamma et al to embedded programming. I think it is completely unnecessary and the book could be still more focused without these attempts.

Anyway, I think it is a excellent introduction.

An also good introduction but more focused on the programming side of things is the D. E. Simon book.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category