Review: Arduino Cookbook
The book is articulate, informative, and technically diverse. I consider this book to be the most important and comprehensive print resource to have been produced for the Arduino, and I highly recommend it to anyone that has either used or intends to use the Arduino platform for interfacing with the real world.
The Arduino Cookbook is an enjoyable read for anyone interested in using computers to sense and interact with the real world. The book employs a “Problem, Solution, Discussion” format that will be familiar to readers of other volumes in the Cookbook series. Working on the assumption that the reader has no prior knowledge of hardware or software engineering, the Ardino cookbook presents a comprehensive journey through all aspects of the Arduino.
The first three chapters of the book provide an introduction to the Arduino platform, to the principles of programming on an Arduino. Readers with a grounding in hardware and software can safely skim through these chapters and rejoin the book at chapter four, where the real fun starts.
Beginning with a nice easy chapter on how to get the Arduino talking to a computer via the serial module, the book runs through the practicalities of digital and analog input and output, audio and visual output, using external displays, controlling external devices, setting up wireless communications and ethernet networking, and a whole host of other topics that can be investigated by taking a look at the table of contents at O’Reilly’s catalog page. You can also download all of the sketches and example code from the O’Reilly catalog page, so there’s no need to baulk at the prospect of typing in all of the sketches from the book.
The final three chapters of the book take the reader into more advanced aspects of the Arduino platform. Using and creating libraries to expand the functionality of the Arduino is covered in one chapter, and are dealing with advanced code to optimize sketches is dealt with in another. This diversion into the areas of code that are normally abstracted by the Arduino wrapper is particularly interesting to advanced programmers, and those who want to squeeze every last ounce of performance out of the platform.
Finally, the reader gets a trip right into the heart of the Arduino hardware, looking at parts of the chip that can not be normally accessed by the Arduino language. Again, this chapter will be of interest to more advanced hackers that want direct access to the registers and timers of the Arduino’s Atmega processor.
New users need not fear the complexity of the latter chapters, because the Arduino Cookbook contains a hefty appendix with a plethora of additional information supporting the concepts and practical points discussed in the main section of the book.