Step 1: Materials:
Sparkfun is kind enough to put a little sticker on the chip so that you know what each pin corresponds to ex. 1 is RESET.
Atmega328 DEV-10524 - make sure that it has the boot-loader on it. You can put it on, but this one has it and it makes everything far simpler.
28 Pin DIP socket PRT-07942 - helpful for reprogramming the chip so that you don’t have to de-solder it every time you need to make a change (breadboard friendly).
Power (3 options depending on power source):
a) 4x AA NiMH Batteries PRT00335- They are each 1.2V so *4=4.8V, safely with the Atmega328′s operating range. Also helpful is the fact that they will give you around 2500mAh versus ˜800mAh from a 9v Battery.
b) 1x 5v Voltage Regulator COM-00107 - The Atmega328 needs a regulated voltage to run and 5v is well within its operating range. You will need a 9V+ power supply for the voltage regulator 2x Electrolytic Decoupling Capacitors COM-00523.
c) 1x 5v Voltage Regulator - http://www.pololu.com/catalog/product/798 - Takes less than 5v and steps it up so that your Atmega328 is running at 5v.
Resonator COM-09420 - No fuss or extra parts. The middle leg goes to ground and the other 2 legs go to Pin 9 and 10.
1x Pushbutton - it does not matter what kind, this will be used for reset.
1x 10K Ohm resistor.
Breadboard with channel
300 Ohm resistor
Step 2: Hooking It All Up
These parts can be hooked up directly to VCC and GND.
Otherwise the you can power the Atmega328 with less than 5v, although, some protection is probably a good idea. Perhaps a Zener diode assuming you can waste some power as heat?
If you are using the Ceramic resonator the 2 outside legs go to pins 9 and 10 (where it says VCC and GND on the left) and the center goes to GND.
If you are using the ceramic crystal connect the crystal between pins 9 and 10 going to GND and connect the 22pf capacitors between GND and the pins.
From pin 1 (RST) create a connection to your push button. On the other leg (same side of push button) connect the 10k Ohm resistor to GND. Now whenever you push it the Atmega328 will reset itself.
Lastly wire a resistor from D13 to a LED connected to GND so that you can test the Atmega328 with the blink script. You can also add various LEDs to test for example, is the power flowing in.
Step 3: Programming
Congratulations! You are now free to control the Atmega328 in any form without any constraints.