Motor control system are very complicated. One of the key parts is the design of the driver.
However, the article isn't going to talk about that.
We may use ULN2003 or ULN2803 for some driving systems, like the one for Stepper Motors, Relays... But how about DC Motors? We may need neither two Half-bridges (H-bridge) or one Full-Bridge to dirve the motor in both forward and reverse directions. In this application, using ULN2003 or ULN2803 would make the solution much more complicated...
A simple and cheap solution is using AO4606:
AO4606 is a chip with the description "Complementary Enhancement Mode Field Effect Transistor"... The package is SOIC-8, which is small enough for general use.
(It is used in many LCD backlighting circuits actually.)
It consists of two parts, the N-channel part and P-channel part:
The N-channel supports current up to 6.9A while that of P-channel can be up to -6A. With two AO4606 ICs forming a Full-bridge, a small DC motor can be drived in both forward and reversed directions!
When I got to know it, I asked my self, "What is the difference between it and one N-MOS and one P-MOS?"
The answer is, um... some N-MOS and P-MOS do not have the reverse protection diodes...