Preface
Since its introduction in 2005 the Arduino has become one of the most successful (some might argue the most successful) open source hardware projects in the world. Boards based on the open designs released by the Arduino team have been fabricated in countries around the world, including Italy, Brazil, China, the Netherlands, India, and the United States. One can purchase a fully functional Arduino-compatible board for around $15, and the Arduino development environment is readily available for download and is completely free. Originally based on the 8-bit AVR family of microcontrollers (the AVR is itself an interesting device with an equally interesting history), the Arduino has moved into the realm of 32-bit processing with the addition of the Due model with an ARM processor, the Yún with an on-board module running the OpenWrt version of Linux, and the upcoming Zero model. Arduinos have been used for everything from interactive art to robotics, and from environmental sensors to the smarts in small “CubeSat” satellites built by small teams and launched for a fraction of what a full-size satellite would cost.
I bought my first Arduino (a Duemilanove) many years ago, more out of curiosity than anything else. I had worked with microprocessor and microcontroller development systems since the early 1980s, starting with the 6502, 6800, and 8051, and then moving on to the 8086, the Z80, the 80186, and the 68000 family. Early on I usually programmed these devices in assembly language ...