H-bridge circuit is a very useful in electrical motor controlling. You can drive a DC motor easily at both directions with H-bridge, and if you add some PWM to driver circuit you can even control the motor speed on both directions. There are very many simple H-bridge circuit designs in Internet.
Nowadays there are many H-bridge ICs available, so usually it does not make sense to build your own H-bridge circuits from discrete transistors. And I also saw that there are also many cheap ready made H-bridge modules available at DX.com. For some testing with some small DC motors I bough one of the cheapest one: L9110 Dual-Channel H-Bridge Motor Driver Module for Arduino – Black. Here is a picture of the module on my test bench.
This module has following specifications:
Input voltage: 2.5V~12V
Price: USD$ 5,60
Usage: Can drive two DC motors or one stepper motor
Chipset: dual L9110S motor driver chipset
The board came without any technical documentation besides the pinout was printed to board itself. I found out out that there are built-in pull-up in the circuit board: When no signal connected to input the input is at around 2.6V potential (pretty independent on power supply voltage) which is considered logic high. Input can be controlled with TTL signal or with open-collector output. The circuit worked as expected when I got those details figured out. I made it to drive a small DC motor. The board has a LED in it that lights when power is applied to the board. Great value for the price, but limited to control only low power motors.