The Arduino Platform is a collection of great and inexpensive micro controller boards, based on Atmel's AVR product line. The most popular chip is probably the ATmega168, but many people have started to replace it with the pin compatible ATmega328. Lately the ATmega644 got more and more popular for more demanding projects.
The Arduino community has also created a very intuitive software environment, which can be downloaded from here for free.
Uploading your program can be tricky. It is really important to select the correct board, because the upload speed depends on the firmware:
Board | Baud Rate |
---|---|
ATmega168 based | 19200 baud |
ATmega328 based (before Uno) | 57600 baud |
Uno | 115200 baud |
The Arduino Diecimila is a great for beginners. It has been updated and is called Duemilanove now.
If you are a little more adventurous - the Boarduino is a better choice. You can buy a kit from Adafruit webshop, but you have to solder it yourself. The advantage is, that the footprint is very small and you can decide what kind of header you want to use. I bought three and put male headers on the first (for bread boards), female headers on the second (for direct wiring to the sensors), and terminal screw-blocks on the third (for really flexible wiring).
![]() |
![]() |
ATmega328 |
Arduino |
|||||||
Pin |
Name |
Additional |
Comparator |
Timer |
PCINT |
Digital Pin |
Analog Pin |
Additional |
2 |
PD0 |
RXD |
PCINT16 |
digital pin 0 |
RX |
|||
3 |
PD1 |
TXD |
PCINT17 |
digital pin 1 |
TX |
|||
4 |
PD2 |
INT0 |
PCINT18 |
digital pin 2 |
||||
5 |
PD3 |
INT1 |
OC2B |
PCINT19 |
digital pin 3 |
PWM |
||
6 |
PD4 |
XCK/T0 |
PCINT20 |
digital pin 4 |
||||
11 |
PD5 |
T1 |
OC0B |
PCINT21 |
digital pin 5 |
PWM |
||
12 |
PD6 |
AIN0 |
OC0A |
PCINT22 |
digital pin 6 |
PWM |
||
13 |
PD7 |
AIN1 |
PCINT23 |
digital pin 7 |
||||
14 |
PB0 |
CLKO/ICP1 |
PCINT0 |
digital pin 8 |
||||
15 |
PB1 |
OC1A |
PCINT1 |
digital pin 9 |
PWM |
|||
16 |
PB2 |
SS |
OC1B |
PCINT2 |
digital pin 10 |
PWM/SS |
||
17 |
PB3 |
MOSI |
OC2A |
PCINT3 |
digital pin 11 |
PWM/MOSI |
||
18 |
PB4 |
MISO |
PCINT4 |
digital pin 12 |
MISO |
|||
19 |
PB5 |
SCK |
PCINT5 |
digital pin 13 |
LED/SCK |
|||
9 |
PB6 |
XTAL1/TOSC1 |
PCINT6 |
crystal |
||||
10 |
PB7 |
XTAL2/TOSC2 |
PCINT7 |
crystal |
||||
23 |
PC0 |
ADC0 |
PCINT8 |
digital pin 14 |
analog input 0 |
|||
24 |
PC1 |
ADC1 |
PCINT9 |
digital pin 15 |
analog input 1 |
|||
25 |
PC2 |
ADC2 |
PCINT10 |
digital pin 16 |
analog input 2 |
|||
26 |
PC3 |
ADC3 |
PCINT11 |
digital pin 17 |
analog input 3 |
|||
27 |
PC4 |
SDA |
ADC4 |
PCINT12 |
digital pin 18 |
analog input 4 |
SDA |
|
28 |
PC5 |
SCL |
ADC5 |
PCINT13 |
digital pin 19 |
analog input 5 |
SCLS |
|
1 |
PC6 |
RESET |
PCINT14 |
reset |
Only $2 and 20 minutes work. It is great to learn about basic programming, animation, and color mixing.
Only $5 and 30 minutes work. It is great to learn about basic animation, but also useful as a bar display.
Extension of the early prototype. It is great to learn about basic animation, but also useful as a bar display.