Last night, as part of my new foray into the world of electronics, I soldered up a
Boarduino. What's a Boarduino, you ask? It's an
Arduino clone that plugs directly into a solderless breadboard. "OK, smartass, what the heck is an Arduino (apart from an 11th-century king of Ivrea in northern Italy?)" you ask? It's an open-source physical computing platform based around the ATMEL ATmega168 AVR processor. Physical computing means that it's very easy to interface to physical things.
Let's take a look at the ATmega168 chip in more detail:
- 16 MHz 8-bit RISC processor
- 14 digital input/output pins (6 can be configured to output pseudo-analog PWM)
- 6 analog input pins with built-in 10-bit A/D converter
- 16K bytes flash memory
- 1K bytes SRAM
- 512 bytes EEPROM
All this in a chip that costs under $5 in quantity 1, and half that in quantity 100.
The Boarduino consists of a small (2.75 " x 0.8" (75mm x 20mm)) printed circuit board that holds the ATmega168 chip, a few resistors, capacitors, a diode, a ceramic oscillator to provide a clock reference, a voltage regulator and various connectors. Most of the connectors are on the underside of the board and plug directly into a solderless breadboard. The EEPROM in the included chip is preprogrammed with a boot loader that knows how to load programs through the serial pins included (a USB->TTL cable that works with the board is available for $20.)
So much for the hardware, now for the software. One of the nice things about the Arduino and its clones is the development environment. It's a Java-based IDE which uses avr-gcc to compile code. This means you program the chip in C. Assembly language is available, or you can use standard tools like make instead of the IDE, but the IDE is pretty nice to work in. It also runs on Windows (although I understand it's not fully Vista compliant,) Linux and OSX. You simply hook up the board to your PC via the USB cable (it can get its power from the USB cable if you don't want to hook up an external power supply,) press the reset button on the board, and press the "Upload" button in the IDE. A few seconds later your program is uploaded to the board and it's running!
Last night after setting things up, I plugged it into my breadboard, added some jumpers, three colored LEDs and three resistors, whipped up a short bit of code, and ended up with an LED traffic light.
I highly recommend the Arduino/Boarduino if you have any interest in making electronic things that can react to the outside world.