I am trying to drive some ebay bought 8 channel relay boards. They are pretty simple, have a launchpad or arduino toggle a pin and the board turns on. However, I need to use a shift register with them. I have absolutely no idea how to think about this, here is my problem:

I would like to use something like 74HC595. The relay needs 20mA to turn on however, the 74HC595 can't do this all at once (have all outputs on)

The TPIC6B595 has sufficient current capabilities. However, I cannot for the life of me figure out how I can get the pins to do what I want if the shift register is sinking the current instead of sourcing.

I have google around but can't seem to find a powerful enough shift register that sources current.

I would even be fine driving a darlington array from the shift registers, but they sink current too. (ULN2803)

Am I thinking entirely wrong? I feel pretty stupid.


Ok, I have been playing with a circuit simulator. I think this is what I want? at least it will explain it a little better.

(The relays I have are Active LOW)

  • 2
    \$\begingroup\$ Can't see your schematic, but surely the answer is to connect the top end of the relay coil to the power supply and the bottom end to the current sink? (I'm unsure what you mean by "active low" given that relays aren't a voltage sensitive device) \$\endgroup\$
    – pjc50
    Commented Dec 15, 2012 at 13:18

3 Answers 3


You should be fine driving the ULN2803 directly from a 74HC595; the latter can source the current that the Darlington driver needs.


Surely you can drive the ULN2803 directly with 74HC595 outputs. Your HC595 outputs can feed base current for the ULN2803 transistors without problems.

The logic '1' HC595 output value turns on the transistors. As you can see from the HC595 data sheet (sorry, no picture, I don't have enough reputation to post images) VOH (Output High voltage) is specified to be around 4 V while still driving around 6 mA to ULN transistor bases. You can check it out at 74HC595 data sheet, page 6, top of a page.

Considering the ULN2803 is Darlington array (high DC gain) this base current multiplied with the gain of few hundreds should be more than enough to keep transistors in saturation, even for the load requiring some amps in the collector circuit.

I have used this arrangement to drive multiple LED arrays, series of HC595 were daisy chained, each has also had the octal latch (74HC574) on it's ouputs, and single line going to all HC574 clock pins would transfer HC595 outputs to be stored into latches at once. Thus I made sure for LED content not to go wild as I clocked in the data (It was 6 digits jumbo sized LED clock driven with only 3 lines ' power supply lines to all digits daisy chained).


you can use 595 followed by A2982 for example.

  • \$\begingroup\$ Can you expand this answer? \$\endgroup\$
    – Voltage Spike
    Commented Jun 7, 2022 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.