There are many times, when using an Arduino, you need more power for outputs. Stepper motors, servos and solenoids all consume more power than the Arduino is capable of supplying. A relatively cheap and simple solution is the ULN2003.
The ULN2003 is an array of 7 darlington pairs capable of up to 50V. Each output is rated at 500ma and is capable of peaking at 600ma. The outputs can be paralleled to increase the amount of amperage. Suppression diodes are built in for inductive load protection. Even if you are not using high amperage devices, this IC is nice for protecting your Arduino.
Connection to the Arduino is very simple. There is a built in resistor so simply connect the input to the Arduino pin. The + voltage powering the ULN2003 should be connected to the power that is supplying the load. Ground from the Arduino should be tied to ground on the load power supply.
In the example, I have all 7 inputs connected to the Arduino Mega pins. To keep the schematic clean, I show three relays connected. The additional 4 relays connect to the pins marked 4-7. We will be going over programing and testing in our next post.