Review of “Exploring Arduino: Tools and Techniques for Engineering Wizardry” by Jeremy Blum. Reviewed on August 24th, 2015.
I’m coming to review this book rather late. It was published in late 2013, I believe, but I’ve only recently purchased it and wanted to pipe up with my two cents’ worth. As many people can probably say, I originally encountered the works of Jeremy Blum on YouTube. I bought my first Arduino board in late 2013. Being a busy professional and father, I didn’t have a whole lot of time to play around with it, although I truly did want to play. But I can’t really learn new things in a vacuum, so I quickly developed a project to use my first board on: a timing track for my son’s Boxwood Derby car. (He had a brief interest in the Cub Scouts, which has long since waned.) So searching the Intertubes for training materials on the Arduino was natural. I looked at many of them, but by far the best at least in my opinion, were the short videos produced on the topic by Jeremy Blum with the support of the electronics supply company Element 14. (Note: I have no association with the author or any of the companies mentioned here.)
I used those Arduino Tutorial videos to bring myself up to speed quickly. I actually managed to get a timing circuit built in time for my son to enter his car in an elementary school science fair. True, we only re-proved what Galileo figured out in 1638, but still, it’s always nice to see that the laws of physics haven’t changed. I was very grateful to Mr. Blum for his guidance. At the time, I remember being astonished that such clear, cleanly explained training films existed for the Arduino and that they had been created by an undergraduate engineering student! When he announced that he was writing a book, I sort of felt like I owed it to him to buy and read it. (Plus, he had helped to get me hooked on this whole open-source hardware maker movement, so I was naturally curious to learn more.)
To summarize my perspective on the book, I’m a working IT professional who had introductory practical electronics courses as a Physics student nearly 30 years ago, so many of the concepts here aren’t new to me. I’ve played around with small circuits on my own for many years, but I was never really a hobbyist, more of a dabbler. But with the arrival of the Arduino and the Raspbery Pi, I finally had the opportunity to try out working with microcontrollers. I had always been a bit too busy and perhaps slightly intimidated to take that particular plunge. I think maybe that’s Jeremy’s best trait, he makes you unafraid to try out new things. The other thing I should mention here is that I've worked as a technical writer for many years, so I'm aware of the technical aspects of putting together this kind of hardware/software instructional book. It's a unique kind of challenge to write about both technical hardware and software in a combined work.
So, the book . . . I bought the paperback on Amazon during a month in which Mr. Blum turned out to be donating his profits to young, women engineers. I can certainly get behind that cause and I’m glad it worked out that way. The book, printed by Wiley is nicely printed. I like the texture and design of the cover. The pages are fairly standard for technology/programming books, black and white on a medium-light weight, matte stock. The layout of chapters are clean and crisp; the typography clear and legible and the illustrations printed well in greyscale. The illustrations are basically an even mixture of screen grabs of the Arduino IDE interface, what looks to be Mac OS X operating system windows and elements, circuit diagrams done in Fritzing, a few photos likely taken by the author, and a few black and white diagrams of key concepts.
The structure follows the YouTube tutorial videos pretty closely, introducing elementary engineering principles first and then moving on to the basics of how a microcontroller works, the practical capabilities of an Arduino, and then simple and more complex projects created with one. Usually, the author sticks with the Arduino Uno, but he does acknowledge and occasionally even suggest projects for the other models. He starts each chapter calling out the digital resources available related to the material in the chapter, which is nice. He naturally links back to his tutorial videos, but he isn’t shy pointing to other valuable online resources. All of the sketches, diagrams and schematic files he uses are available on a custom website supporting the book. (www.exploringarduino.com)
Each chapter goes farther, obviously, than he could in an 8 to 15 minutes web video. I found the extra content illuminating if not terribly exciting. Many of the suggested projects are pretty elementary, but then the goal is to slowly guide a student new to electronics into the topics without scaring them. That, I have to say, is the true gift of this book and of Jeremy Blum’s technique in general. He seems truly skilled at introducing concepts that could be very daunting and making them seem clear and even friendly, in a way.
Actually, I want to avoid giving faint praise to this book. I found it quite wonderful. It really is only a book about the Arduino in the same way that ‘Zen and the Art of Motorcycle Maintenance’ is about motorcycle maintenance. The subject is a means to an end. The end, I would venture to say, is to train young, eager people to become engineers in both mind and spirit; maybe not even to become professionals, but to become imbued with that sense of curiosity and intellectual audacity that generates the most astonishing innovations in human culture. It doesn’t just walk you through, step-by-step, on how to interface your Arduino with a motor, for example. It uses this as an opportunity to provide an astonishingly clear explanation of what transistors do and how to avoid being intimidated by them. The number of topics he just gradually sidles up to and introduces to the reader is quite charming and amazing at the same time. This is a book on how to think like a maker. Not a “Maker” but rather simply a maker-of-things . . it describes how to be a true engineer, like the Wright Brothers or Archimedes; someone who takes what’s in the world and uses it in interesting and novel ways. The electronics of sound, coding, serial and parallel communications, wireless communications, the key details of devices connected on the Internet, data logging, hardware and software interrupts, dealing with high and low power environments, dealing with servos and pulse-width-modulation, it’s all described in the authors consistently concise, clear, and complete prose.
That completeness is quite nice, especially for someone learning the techniques. He doesn’t really assume anything about what the reader knows. He goes out of his way to make sure that every loose end of a project is described in plain ways. What is the difference between a pull-up and pull-down resistor? Why would one want to use polling when interrupts are available? What are the limits of the power supplies you will encounter? This is all useful, practical stuff that many books for beginners either ignore or bury in lots of scary detail.
I suspect that Mr. Blum is going to spend many years updating this book. It’s perfect for teaching young engineers or scientists the basics of practical electronics. When studying as an undergrad physics student, you are required to take a course in basic electronics, because most of your experimental work means that you need to design simple or robust or complex measurement circuits. This book is a perfect way to introduce these concepts. But being based on the Arduino, a very young technology, means that he’s going to need to update this book every few years to avoid it from going out of date. But it’s so well organized that I suspect updates will be straightforward. And it cries out for the creation of an interactive e-book version, if one isn’t already in the works. I tend to keep an eye on what the author is doing with this and other projects on his personal website, first because I often refer back to his materials and blog posts, but also because I find his ethical take on sharing with younger engineers (and other topics) to be heartening.
The only criticisms I have of the book are related to the illustrations. There are several places where elements of illustrations, particularly Fritzing circuit diagrams, are called out by color. I understand that the ebook version includes the diagrams in color, but the book emphatically does not. It only happens a few times, but when it does, it can cause some consternation. The other problem I only occasionally had with the illustrations was the size of the text in some screen captures. Getting that consistently correct across a full book can be quite challenging as you pull images from multiple sources. Still, most of the pictures are clean and clear, and the color illustrations could be redesigned slightly in gray scale with callouts emphasizing items from the text.
Overall, I really like this book. When my sons get a bit older, I will encourage them to read it if they show even the slightest interest in the arcane ways of engineers. This is the kind of book that will teach a young mind not to fear the engineering wizards, but to emulate them. And the world needs all of the engineering wizards it can find these days.