So, let’s say you want to get into programming microcontrollers, but — and I know this may sound entirely implausible — you don’t have a working knowledge of at least three different programming languages, are unfamiliar with the architecture of a microprocessor and aren’t that great at designing circuits. In the past, without these necessary programing tools, you’d be told to give up and maybe go into Arts. Thankfully, there is a platform that lets anyone get into programing microcontrollers. It’s robust enough to take on intricate projects but simple enough to allow those with a basic, or even less than basic, understanding of programing to get their projects together. Just what platform could possibly be this captivating? Arduino, of course.
To start, what is Arduino? According to its website, “Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It’s an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board.”
In layman’s terms, “Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs.”
If you wanted to get into microcontrollers over the past six years, the first suggestions were usually to get a programable interface controller (PIC) or a development platform such as the popular z8 Encore. Both are fairly intuitive and straightforward — if you’re an engineer. Add a high per-unit cost on both of these boards and you have the perfect solution for scaring away newcomers.
The Arduino takes a far more radical approach to microcontrollers. Not only is it a completely open source — meaning users can tinker with the chip and code without having to worry about violating user agreements — but it caters to those not technologically knowledgeable. Couple that with a versatile, robust and widely supported board and you have an excellent introductory platform, or a go-to board for hobbyists and casual users.
Phil Torrone explains the cost benefits of open source in an interview with Wired magazine called ‘Why the Arduino is a hit with hardware hackers.’
Phil Torrone, senior editor at Make magzine says, “The Arduino is so cheap because it is easy to clone. [ . . . ] ‘[The] components are all commodity,’” which translates to a low per-unit cost. “At $30 a piece, an Arduino is an inexpensive investment for someone who wants to try it out.”
There are many companies providing after-market kits for the Arduino, the two most notable being Adafruit and Sparkfun. The kits, called shields, are boards that sit atop the Arduino and add functionality. A few examples include the Protoshield with a miniature breadboard for prototyping right onto the micro, the sound-playing Waveshield or the self-explanatory Light and Temperature Data-Logger pack.
However, the Arduino’s greatest asset is its language, Wiring. It came about as a result of the Design by Numbers (DBN) project by John Maeda. The MIT press article on Design by Numbers describes it as a language “designed for ‘visual’ people — artists, designers, anyone who likes to pick up a pencil and doodle. DBN has very few commands and consists of elements resembling those of many other languages, such as LISP, LOGO, C/JAVA, and BASIC.” This concept was taken further by the Interactive Design Institute in Italy, which spawned Wiring.
The commands to get a project up and running are simple within the Arduino environment, as Maarten Lamers’ “This is Wiring (and Arduino)” article explains. For projects requiring a digital input or output, the user simply sets up designated pins as “INPUT” or “OUTPUT. ” Analog signals are demystified via the “analogRead” and “analogWrite” commands and their related pins. Other built in functions include serial data transfer, LCD interfacing and external interrupts. Users must simply connect the components, complete the pin assignments and then “click the ‘play’ button to compile it.”
Because Arduino is open source, users can create libraries and upload them to the internet. The Wired article points out that “editing and rewriting is often easier than writing from scratch. It’s the same with electronics. It’s easier to mod[ify] an idea than start with a blank slate.”
Wired reports that “the Arduino community is at least 100,000 users strong” and that “the Arduino has hundreds of projects and ideas that are cooked up and shared by its users.” This provides an excellent environment for peer-to-peer support, as anyone who has ever browsed Arduino message boards can attest to. There are multitudes of tutorials and code snippets, as well as walkthroughs of hardware assembly. Arduino projects are the staple of DIY blogs such as Hackaday.com or Makezine.com.
All this innovation and acceptance must surely mean it’s a next generation platform, right? Not quite. On Liquidware.com, a review of the most recent chipset, the 328-based Duemalinove — or 2009 in Italian — provides us with the specifications: 14i/o pins, six pwm pins, six analog pins, a 16mhz processor, 32kB flash memory and two kB of RAM. The relatively modest specs translate into accessibility, while still providing enough robustness to keep the more demanding users satisfied. And the translation for those not well-versed in jargon to know what that means, more than you’ll ever use. Really.
It would be impossible to write about the Arduino without mentioning the important impact it has had on the hobbyist demographic, the introduction of female tinkerers. The Lilypad Arduino has created a whole new aspect to the traditionally almost all-male electronics community. Leah Buechly of MIT describes the Lilypad as “a set of sewable electronic components that let you build your own soft, interactive fashion.” There is a growing fraction of researchers and hobbyists interested in ‘wearable electronics,’ and the Lilypad provides an excellent prototyping platform. Buechly has created an ‘interactive’ shirt by coupling a Lilypad with an accelerometer and LED’s to provide real-time motion feedback through textiles, while another tinkerer, Meredith Scheff, has coupled the Arduino and a compass to create a north-pointing skirt.
The Arduino is making waves — oscillations, rather — in the micro community, and for the first time it’s allowing artists to work with digital media without having degrees in electronics. Some will say it’s not a sufficiently robust platform and decry its lack of multiple ports and relatively few output pins. Although their complaints are valid, the platform excels at what it was meant to do. One would be hard pressed to find a more accessible, cheap and modifiable microcontroller with such a widespread and diverse user base.