Believe it or not, artists, hobbyists, and other “makers” have discovered embedded computing. Increasingly, they’re turning to an open source hardware platform called Arduino to put firmware inside their creations. Over 100,000 of these inexpensive embedded systems have apparently been sold for use in prototyping and in a range of low-volume “products.”
What is Arduino?
Arduino is the name of a family of related circuit boards, which includes the Arduino One shown in the photo below. The official website of the Arduino project is http://www.arduino.cc.
Like many open source projects, there appears to be a lot of branching from the original design. So what follows is a generalization. Arduino is based on the Atmel AVR microcontrollers, such as the ATmega328. The ATmega328 is an 8-bit MCU with on-chip memory in the form of 32K flash, 2K SRAM, and 1K EEPROM. In the Arduino designs, the processor is generally clocked at 16MHz.
There are also a whole host of pin-compatible extension boards, containing displays, buttons, sensors, actuators, network interfaces and/or wire-wrap prototyping areas.
The Arduino IDE is an open source cross-platform tool (i.e., written in Java) that is based on the avr-gcc compiler (a variant of the GNU compiler for 8-bit AVRs). Though you can program in the “Arduino language,” this is really just a set of function calls that gets translated into C–so you can also program in C or C++ if you prefer.
An open source bootloader (0.5K) makes downloading your programs to the Arduino board easy.
Should you care about Arduino?
As a professional embedded software developer, I don’t have much use for a prototyping board like the Arduino. I’m generally handed a custom board by a hardware designer on my team. And many of you design both the hardware and the software for your projects. So why should we care about Arduino?
I don’t think I know the answer to this question yet. But it is very interesting to find embedded software being used by such a diverse group of artists, hobbyists, and entrepreneurs. What do you think?