The Arduino Platform (ATmega88PA, ATmega168PA, and ATmega328P)

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.

Arduino IDE

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

Arduino Board(s)

The Arduino Diecimila is a great for beginners. It has been updated and is called Duemilanove now.

Boarduino

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).

Arduino like...

Pin (Re)mapping
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

Projects

LED Tutorial

LED_RGB & LED_3 Module

Only $2 and 20 minutes work. It is great to learn about basic programming, animation, and color mixing.

LED_5 Module

Only $5 and 30 minutes work. It is great to learn about basic animation, but also useful as a bar display.

LED_8 Module

Extension of the early prototype. It is great to learn about basic animation, but also useful as a bar display.

Other Projects

TVout

Connecting the Arduino to a TV (RCA).