How do I drive a small motor from an Arduino board?
The Arduino can drive a load of only about 40mA at 5V which is not enough to drive a small motor. Instead have a look at Nathan’s Crash course page for PWM (or the Wiki version) which has some simple transistor driver ideas. A good alternative the H-bridge from the above site is an L293D chip (available from Altronics). It is basically a dual H-bridge in a chip, plus it has built in diodes to protect your arduino. This will simplify your driving electronics a lot, but as it can run off two voltages (one for signal and one for motors), be careful which pins you connect things to. Also consider this product from Robot Gear.