Hey all - I have an AVR project in mind that will require a 13 by 13 LED matrix of bright white LEDs. I'll be wiring up my own matrix to do this (not using premade 8x8's). I plan on using some shift registers to control the anodes/cathodes (columns/rows).

This will be my first project with an LED matrix and my first time working with shift registers.

I'm not sure if my shift registers can handle the current for this many LEDs (if I lit up an entire row for example). I don't know the proper way to wire this up, but I understand that I should control each row (maybe each column?) with a transistor of some kind between my microcontroller/shift register and the LEDs. I'm having trouble finding good explanations of how something like this should be wired up, or how to calculate the current requirements and how that translates to picking the right components.

Any advice would be appreciated. Thanks!


1 Answer 1


I would suggest that you should use a shift-register chip that has decent current-sinking capability for the cathodes, and use a shift-register chip to drive discrete transistors for the anodes. Perhaps wire the matrix as 7x26 and use two TLC5925 chips for the columns, and use a 74HC164 or equivalent to drive seven nice beefy transistors for the rows.

Actually, it may be a good idea to rig up the rows with a counter chip and a 555-timer wired so that they will automatically scan, but the main processor can 'nudge' the timer when it's almost ready for its next count. Such a circuit could ensure that no matter what the processor did, it would not be possible for a row to be energized much more than 1/5 of the time (the processor could strobe six rows quickly, then linger on the seventh, then six rows quickly, linger on the seventh, etc. but the hardware would limit what fraction of the time would be spent on any one row even in a worst-case situation.


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.