I like this book and recommend it as an introduction to the subject
This is another book in the Real World Design series by Stuart Ball. The other two being Embedded Systems Design and Debugging Embedded Systems . This book fills a gap left by many embedded books, the ins and outs of bolting on other chips to the micro controller. It is generic in that it is not specific to any micro and there is no source code, not even generic fragments. What it does give is the analogue component missing from most computing and digital electronics courses. More importantly, it explains analogue sensors in the context of an embedded (digital) system.
Topics covered are the usual analogue to digital converters, pulse width modulation, OP amps, motors, timing and various sensors and strain gauges. The information is fairly basic but the author covers many aspects that clearly show his real world experience apart from the usual technical information. The section on motors for instance will give the relative benefits of AC, DC, brushless DC and stepper motors. You will know which one is right for your application and things to look out for but you will not have the source code. Well, what did you expect? You are the software engineer and this is hardware guide.
One area where the lack of software might be a problem is in the PID section. Closed loop control theory is one thing but an example of the method in software would have been helpful. However, the description of PID is very good. Most explanations I have seen have lots of maths and little commentary. This has a lot of useful information on the variables that don't show up in the maths.
In general, for all the sections, there are plenty of simple diagrams and also the maths is kept to a simple level. In order to use some of the sensors or drivers in real circuits you will need a little more information, principally the device data sheets (although this book fills in the gaps in the data books, it does not provide values for resistors, capacitors and full wiring diagrams).
I like this book and recommend it as an introduction to the subject for home use, students and software engineers. However, these days most embedded systems engineers are qualified in electronics.