An H-bridge is an electronic circuit which enables DC electric motors to be run forwards or backwards(wikipedia). They are pretty easy to set up and use with an arduino and allow you to control the direction and speed of rotation. The image below shows a DC motor attached to the H-Bridge and linked to an Arduino. There are two ways that you can attach a DC motor. Below you can see that output pins 9, 4 and 3 of the arduino are connected to the h-bridge, pins 4 and 3 control the direction of rotation by setting one high and one low and vice-versa. Pin 9 is a PWM pin and this controls the speed of the rotation.

Image above shows how to attach an arduino to an H-Bridge and then to a DC motor. There is a .pdf I make for a workshop that explains this a little more. To view the pdf click here
You can also control the speed and direction of a DC motor by just pulsing two pins High and Low. It takes a bit more coding, but it does allow for more direct control and may be a solution to certain situations where there might be problems with the above situations especially with issues of torque. It also means you can control two motors independently.
