My former coworker Ben wrote to me earlier today asking whether I had any particular recommendations for books about electronics and Arduino. I was in a voluble/caffeinated mood, and ended up producing enough text that I figured I might as well throw it on the ol’ blog:
I’d suggest the book Practical Electronics for Inventors. I’ve heard others speak highly of it, too. When I first read it (and I didn’t read all of it) it didn’t make a ton of sense. This was slightly disappointing, and all the more so given that others attest to it being one of the most approachable introductions available. But it’s proven to be a useful (if at times slightly outdated) reference. And the scene-setting it provides is invaluable. I don’t think I’ve ever actually built a voltage-dividing circuit (though it’s a pretty basic thing), and to be honest I don’t even find myself using Ohm’s Law all that much — shameful, but relatively easy to avoid thanks to the Arduino’s robustness and the various online calculators that are available — but these are good things to know. Understanding passive components in terms of hydraulic analogies is extremely helpful, too, at least for me.
On to Arduino. I don’t have any books about it, which probably says it all. The online docs are totally sufficient, and it’s a much simpler topic in general than electronics. Still, it may be worth picking something up, particularly since Arduino resources are often geared toward programmers learning electronics (many microcontroller resources are set up exactly the other way, which can make them too elementary and too advanced at the same time). There’s this introductory book, which I’ve heard HacDC’s Serge Wroclawski describe as an okay Arduino/electronics combo primer for the total novice.
But he also said that it’s not advanced enough to really satisfy. For a more sophisticated alternative, I’ll note that I’ve heard good nothing but good things about Making Things Talk.
I’d also suggest looking at people’s projects online. Frequently they’re much simpler than you’d expect, because people like myself have muddled through and done things slightly incorrectly, but in ways that fall within the tolerances of the components. This is a good way to start — I built things that were pointless and expensive (transformers w/ bridge rectifiers? what was I thinking?) when I should’ve just done something simpler, and would have if I knew more about how others had solved the problems I was facing. Sometimes these projects cross into the realm of the dangerously stupid — see here — but as long as you stay away from the sorts of voltages coming out of your wall, you should be fine.
Above all, talk to folks who know what they’re doing. I’m happy to fill that role to the extent that I can, but I’m almost entirely a fraud. I imagine there’s probably a hacker space in your town — that’d be a great place to start. If you have any EE friends, pestering them over beers is a good idea, too. Generally you can find the information you need online, but knowing what terms or topics to search for can be tough. For instance, when I first started thinking about how to sense if a door was closed I only thought of mechanical solutions, not magnetic ones, because I simply hadn’t heard of the existence of reed switches and Hall Effect sensors. Or you might want to measure how much a knob is turned and try to do something funky with a potentiometer to do it, instead of searching for details on rotary encoders. Simply having someone mention these to you can be all you need to figure them out for yourself.