Background: I built a 10x20 LED matrix for use inside a jack-o-lantern. The matrix is driven by 74HC595 shift registers that are connected to an Arduino.

I've attached the Vcc of the shift registers to the 3.3V port of the arduino, so the output pins of the shift registers will be 3.3V when set high.

The datasheet for the shift register says each output pin can source at most 20ma, which is exactly the nominal current of my 3.3mm orange leds.

I know that power supplies can source much more than 20ma, so the use of current limiting resistors are necessary when the voltage is higher than the forward voltage, however is there any harm in exceeding the forward voltage if the current is clamped to the LED's nominal current rating?

  • \$\begingroup\$ The limiting value for current in the supply to the chip is 70mA - this means that you are looking at probably 8mA max per LED - see my answer. \$\endgroup\$ – Andy aka Oct 27 '15 at 21:53
  • \$\begingroup\$ How is your matrix arranged? \$\endgroup\$ – EM Fields Oct 28 '15 at 12:48

Unless the output was designed specifically as a current limiter, the source limit specified on the datasheet doesn't mean "I will helpfully keep the current at this level for you," it means "you had better keep the current below this level or bad things will happen." You need resistors on each output.

| improve this answer | |
  • \$\begingroup\$ Doh, you're right. I think I just assumed it would limit the current. Thanks. \$\endgroup\$ – Stephen Melvin Oct 27 '15 at 19:44

The 74HC595 isn't going to do what you want and it's not just the fact that the output current might not be carefully controlled.

If you look at the data sheet for the device and find the table that gives absolute maximum ratings you will see that the supply current to the device must not go greater than 70 mA: -

enter image description here

Now, if you are driving LEDs from output pins and using resistors to limit current, you have to face the fact that the total current you can supply to your LEDs (per chip) is less than 70 mA. Given that you might have 8 LEDs (all driven), the current you should be considering limiting at is going to have to be no more than 70mA/8 = 8.75 mA and I personally wouldn't recommend this high a level.

It's also worth noting that the limiting value for current per pin is 35mA and not 20mA. You might have someone else's data sheet that specifies a lower figure of course.

| improve this answer | |
  • \$\begingroup\$ Since the allowable supply current is 75mA and the allowable ground current is 75mA, with a little judicious programming and appropriate current-limiting resistors, it should be possible to source 18.75mA per LED to four LEDs with their cathodes grounded, and to sink 18.75mA each from four LEDs with their anodes tied to Vcc, yes? :-) \$\endgroup\$ – EM Fields Oct 28 '15 at 10:59
  • \$\begingroup\$ @EMFields how clever you are today, yes I do believe you are right but trouble is the LEDs are in a matrix so they can't be wired that way (maybe). \$\endgroup\$ – Andy aka Oct 28 '15 at 11:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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