I have the Arduino Uno board, and I want to create a 17x31 RGB LED matrix. Unfortunately, I wasn't patient enough and already bought the LEDs, and I purchased common-cathode LEDs without doing much research prior.

After the fact, I did my research and found out that the TLC5940 would only work with common-anode LEDs (because they are current sinking). I saw a similar post to mine that suggested to use shift registers with common-cathode LEDs instead, like the 74HC595, because it's current sourcing.

So, is it possible to use multiple 74HC595 drivers to control 527 RGB LEDs with the Arduino? If I multiplex, I think I would only need to be able to control 82 outputs, correct? Otherwise, what would be a better solution?

  • \$\begingroup\$ What does your array look like / how is it configured? \$\endgroup\$
    – EM Fields
    Commented Apr 18, 2016 at 5:45
  • \$\begingroup\$ Haven't started any construction yet. Was thinking of multiplexing. Which I just now realized I wouldn't need 1581 outputs, it would actually shrink down to just 82. \$\endgroup\$
    – amallard
    Commented Apr 18, 2016 at 5:54
  • \$\begingroup\$ What's your multiplexing scheme and how will you configure the array to get there? \$\endgroup\$
    – EM Fields
    Commented Apr 18, 2016 at 6:56

1 Answer 1


The maximum continuous current you can source from a Q is 35 mA, but the max you can source from the whole chip is 70 mA so, depending on what your array looks like and how hard you want to drive the LEDs, this excerpt from TI's HC595 data sheet says you may be SOL. :(

enter image description here


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.