Apress was kind enough to send me a copy of their recently released book “Arduino Robotics” a few weeks ago (ISBN13: 978-1-4302-3183-7, 628 Pages. Publication Date: July 18, 2011). So I thought I would read through and do a quick review on it.
Packed with 628 pages of information, it is easily one of the thickest Arduino books out there. Judging by its title, as you might have already guessed, this book is all about building robotics projects with Arduino and its variants.
The popularity of Arduino has been steadily increasing ever since its first release a few years ago. While Arduino is by no means the first microcontroller board ever built, its open source nature and low pricing point had made it hugely successful among electronics hobbyists and professionals.
In my opinion, this book is mainly for those who are interested in robotics and are new to the microcontroller world. One of the main challenges for electronics hobbyists foraying into MCUs is to find sample projects that are interesting enough to build and with instructions that are easy enough to follow.
This book seems to have fulfilled both needs. The first three chapters give you enough background information to get started. While the material presented maybe trivial for people with electronics background, it gives newbies a glance at how simple circuit works. And the information is essential in terms of safety for people know nothing about electronics as well. From chapter four on, the book presents eight detailed projects that you can easily follow. None of these projects are trivial ones, and none of them are dependent on the others. The sample projects range from a line follower, a remote controlled boat to a Segway-style balancing robot. The techniques covered are not only useful for building projects using Arduino, they are essential for building any kind of electromechanical projects using a variety of other microcontrollers as well. This book even contains a section for PCB (printed circuit board) making. More advanced users will certainly appreciate this.
The programming needed for each project is self-contained within each chapter, which means user can pretty much pick any projects to start depending on his interests and technical expertise. In terms of the difficulty level on the programming side, I would say that the examples included in this book are towards the easier side. Most of the programming aspects are solely dependent on the Arduino framework and users do not need any intimate knowledge on the internal workings of an MCU to write code comfortably. Though there are a couple of examples that dealt with registers and interrupts directly, but nothing insurmountable.
Even for experts, this book can still be fun to read. The beauty of robots-building is that there is not a prescribed way of doing things and it is enjoyable to read how others do things in their particular ways.
If there is one thing that I wish the book could have included then it would be a project that could fly. Although model airplanes and model copters require more technical skills to make, a book on robotics can not be considered complete without having such a project. Furthermore, one of those quad-copter projects would certainly add to the coolness factor of the book. Maybe this will be added in a sequel.
This book is not meant for teaching you how to write code for MCUs. If you know nothing about programming, I would suggest you read a classic book on C. After all, most MCUs including Arduino (ATmega MCUs) can be programmed conveniently in C or C++. Arduino’s official site has the most up-to-date documentation on the Arduino libraries.