This book is an introduction to the open-source electronics prototyping platform known as Arduino. Arduino is a single-board computer that can be the basis for interactive electronics projects like art installations, interactive environments, and appliance controls. A project is created by connecting different sensors, LEDs, motors, etc. to the board. Software programs can then be written in the Arduino programming language running on a host computer (Windows, Mac OS X, or Linux) and uploaded via USB. The book is less than 120 pages and is a quick read, but serves as a perfect entrance to the Arduino world of programming and to the growing Arduino community on the World Wide Web. An Arduino board can be built from the open-source schematics available on the Arduino website (http://arduino.cc/) or can be purchased pre-assembled (for less than $40 USD) from one of the many vendors available.
The book's back cover states that the reader will learn about several topics, like interaction design, physical computing as well as the basics of electricity and electronics. While this is true to a point, some of the most compelling material in the book is Mr. Banzi's explanation of the mindset from which Arduino grew and which surrounds it now. I enjoyed his stories about taking apart different things as a child and some of his experiences with different technology. I remember wanting a "50-in-1 Electronics Kit" from RadioShack that never seemed to materialize under the Christmas tree, despite countless reminders to my parents over the course of several years. With Arduino, there is no upper limit to the number of projects possible. As Mr. Banzi says, the word that best captures the spirit of Arduino and this type of new media is "tinkering" and it is the tinkerer's willingness to start on a particular journey without a goal, but with the willingness to play, plain and simple, with the attached components, that yields the most interesting results. An improvisatory approach to the creation of projects is further underscored by the convention of referring to Arduino projects as "sketches." Mr. Banzi's passion for the subject matter comes shining through.
There are only a handful of actual projects in the book and they range in complexity from periodically lighting an LED to the more bizarre but elegant project of using a WWW newsfeed to control a lamp. However, even in the simpler examples, the book explores the mindset necessary to deal with the various analog and digital inputs and outputs of the Arduino board. In fact, the reader is shown how to "think" like the board to further their own project development.
The book assumes the reader can find their way around a computer with some ease. One can type in the programming examples or can in fact download them from the Makezine.com website. Most people who would be interested in this topic are probably well versed in electronics or computers and would not find it too daunting. There are only a few errata on the O'Reilly website. I found only one point in the book where I would have formatted it differently. This is during the explanation of the setup for computer drivers for Windows and Mac OS X (there is no such coverage for Linux). The last two paragraphs on page 24 are under the driver setup for Windows, when in fact they are applicable to both operating systems. I was paying attention mostly to the Mac OS X instructions and was surprised to find on page 25 that the Arduino interactive development environment (IDE) had already been launched, but I hadn't been instructed to do so.
This book is certainly worth the price and would probably be passed on to a friend once a little experience with the development paradigm has been gained. There are countless programs, free examples and documentation of other user projects on the WWW. Also, the vendors listed on the Arduino website have more challenging peripheral components one can explore or that can provide inspiration for further projects.
|