With these mods, this
circuit will last quite a long time, especially if you make things easier for the relay by turning off power to the motor before switching directions. It is simple and effective by adding a diode reverse-biased across the coil just to keep the transistor from being fired when the coil is switched off.
The
circuit is for a simple reversible motor control for use with the Arduino and other MCUs. It uses two TIP120 Darlington Transistors, two 220 ohm resistors and a 12 volt DPDT relay, parts easily obtainable at any Radio Shack. This design supports PWM for variable speed control, handles loads up to 5 amps, and is controlled using just two MCU pins for enable and direction.