I don't understand, I have seen many people use the 74HC595 to drive 5V across 8 5mm green LEDs via 220Ohm resistors at the same time, whereas the datasheet says that the maximum Vcc current is 70mA. This should add up to in excess of 100mA...

I'd like to drive a 7 segments display via a 8 bit shift register, so if there is a reason why it works, I'd like to know. The 7 segments I've found draw 20mA per segment, but so do 5mm green LEDs!

Example: http://jumptuck.com/2011/11/03/how-to-drive-595-shift-registers-with-avr-hardware-spi/

  • \$\begingroup\$ You are correct. The circuit in your link is over-driven. It may work for a while or it may work forever if all LEDs are on for only short durations. \$\endgroup\$
    – Transistor
    Apr 18, 2016 at 20:18
  • \$\begingroup\$ Note that unless your seven-segment is really large, 20mA is probably an absolute maximum, and it should look just fine with 5mA or less per segment. Can you link the datasheet of the seven-segment? \$\endgroup\$
    – uint128_t
    Apr 18, 2016 at 20:21
  • \$\begingroup\$ @uint128_t: nearly all the 7 segments I've found on Farnell (3 to 4 digits) were rated 20mA... If 5mA is enough then a 74HC595 should do the trick. Is that enough? \$\endgroup\$
    – user42875
    Apr 18, 2016 at 20:25
  • 2
    \$\begingroup\$ Some of "makers" don't pay attention to detail and exceed ratings listed in datasheets, or just to care to look at it in the first place. \$\endgroup\$
    – Voltage Spike
    Apr 18, 2016 at 20:26

2 Answers 2


You can (and should) run the LEDs at lower than the maximum current. Many modern LEDs are plenty bright at a few mA, no need to run them at 20mA unless you are planning to cast shadows across the room or blind unsuspecting users.

Exceeding the absolute maximum Vcc or GND current is not guaranteed to kill the part immediately, but it will probably affect reliability negatively. You could always use a 74LVC595A (100mA abs max) but it's still bad practice to get close to the absolute maximum values.

  • \$\begingroup\$ Thanks, that's clearer now. Is 5mA enough to see the digits of a 7 segments display in normal room lighting conditions? \$\endgroup\$
    – user42875
    Apr 18, 2016 at 20:23
  • \$\begingroup\$ More than enough for the kinds we buy. \$\endgroup\$ Apr 18, 2016 at 20:41

The entire 74HCxx series has an output current of +/- 15mA per pin. Todays high-efficiency LED's can be blinding bright at just 5 mA of current. The IC's can output almost the full Vcc voltage of 5 volts.

The green LED needs about 2.9 volts to be on dim, and about 3.1 volts will make it bright. Except for infra-red LED's which turn on at 1.05 volts, most of todays LED's will turn on by 3.0 volts and reach maximum intensity at about 3.5volts.

This is for standard 'indicator' LED's and not "High-powered" LED's.

So your equation for drive current is simple, basically 5 volts - 3 volts gives you a 2 volt fixed voltage drop across your resistor. 2 volts through 2K ohm is 1mA, 200 ohms is 10mA, which is a bit high if all outputs are on, so a 330 ohm to 470 ohm 1/4 5% resistor works out great. This works best with LED's that have a maximum current of 20mA continous.

It will put about 4mA-6mA through each LED that is 'ON'. It is also within the safe limits of the IC in terms of combined current. I have used the 74HC series a great deal to drive simple indicator LED's. The LED's should last about 200 years at such low drive levels.

  • \$\begingroup\$ Thanks for the explanation (+1). Are you sure that 220Ohms gives 4-5mA? 2V divided by 220Ohms gives about 10mA, which means that 8 LEDs will be above the maximum rating of the chip (70mA). \$\endgroup\$
    – user42875
    Apr 18, 2016 at 20:49
  • \$\begingroup\$ @user42875. I gave a range of 4mA to 5mA because of resistors tolerance issues, plus the LED's actual turn-on voltage vs. brightness. I see the OP is driving a 7-segment display, which is not as efficient as some round LED's. Also correcting my math. \$\endgroup\$
    – user105652
    Apr 18, 2016 at 20:55

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.