Step 1: Parts List
1 x Arduino (preferably UNO)
1 x ATmega328 chip (other versions work too, more on this later. You'll most likely want one with a preloaded bootloader)
1 x 28 pin DIP socket (holds the ATMega, not absolutely necessary but you really should have it)
1 x 5v Regulator (L7805)
2 x 10 uf Capacitors
1 x 16Mhz Ceramic Resonator (a 16Mhz crystal works too, but you will need additional capacitors which take up space.
1 x pcb board (got a small one that fit in an altoid tin from radioshack for a few bucks)
1 x breadboard (to test the circuit)
2 x motors (I used pager motors with planetary gear boxes from robotshop.com)
2 x wheels (also got these from robotshop.com, but you can use whatever works)
1 x L293D (motor driver chip, which is necessary if you will be using motors)
1 x pushbutton (my code revolved around this thing, definitely useful)
Wires! Will need a lot to breadboard and solder.
Coin cell batteries (these keep the size small enough to fit in the altoids tin)
2 x photoresistors (lots of fun programs you can write for these)
2 x RGB LED's (gives it the personality!)
1 x mic element (lets it listen and react to sound)
Anything you think would be cool! I wanted to add sound, but sadly didn't have enough space left for a tiny piezo speaker.
Tools: clippers, soldering iron, perhaps a friend to help hold wires
Step 2: Main Circuit
You can find a pinout diagram of the ATmega328 courtesy of instructables HERE. Basically you are making the simplest arduino circuit possible (I don't even include a reset button, but you can if you'd like). Now the only things you will HAVE to hook up to the ATmega is 5v (regulated by the L7805) to pins 7 and 20, ground to pins 8 and 22 (i drew in pin 21 as blank because it doesn't need to be connected to anything), and the ceramic resonator (or crystal oscillator) to pins 9 and 10. See the pictures for how to use the capacitors with the voltage regulator and be sure to ground the middle pin of your ceramic resonator. If you are using a crystal oscillator you will need additional capacitors, to see how to do that or as another reference for any part of this circuit check the 'ible HERE.
The pinout diagram for the L293D motor controller can be found HERE. I don't have any pictures of this because it's pretty simple pins 1, 8, 9, and 16 get 5v; pins 2, 7, 10, and 15 go to the arduino digital pins (I used ones with pwm to control motor speeds); pins 3, 6, 11, and 14 are hooked up to the motors (the motors run of 3v but the drop through the chip is enough that no diode's are needed); and pins 4, 5, 12, and 13 are put to ground.
Step 3: Extras
Step 4: Testing
Now you're cookin'!
Step 5: Layout
Step 6: Soldering
Step 7: Motors
The only other issue was that the wires under the belly of the robot were so thick that the small wheels didn't even touch the ground. To solve this I added a paperclip to the back, which I bent into two triangles and used two beads as wheels to allow a smoother ride (pictures are much clearer on what this looks like).
Step 8: Battery
Step 9: Enjoy
Add some sound, make it dance, and let me know what cool things you make! Would love to see lots of tiny robots domin- i mean...