Author Options:

Driving an LED Array without sourcing or sinking too much current and without too much resistance dimming the LED's? Answered

I want to use a microcontroller (I haven't chosen which one yet) to control a large number of RGB LED's for use in an LED cube type display, and my concern is that assuming specs of about 20/25 mA source/sink capacity, how do i provide sufficient current to drive that many LED's in a multiplexed array? The Multiplexing also presents a problem, since a 4x4x4 RGB LED cube contains 256 different leads, each ideally with independent control, but I think i can work that out with multiplexing and the judicious use of MUX and de-MUX IC's.


The forums are retiring in 2021 and are now closed for new topics and comments.

11 years ago

I'm building an instructable now that demonstrates how to use an Arduino (any MPU will suffice) to drive 8 LED's. It's a light chasing project so I'm sticking with 8 LED's, but it shouldn't be too hard to extend it. There are integrated solutions for driving LED matrixes but I'm going with a low tech approach of using a transistor driver stage for each LED. I also drive the LED's from a shift register which is driven by the MCU (using only two pins). A further enhancement can be made using a 3-State buffer and controlling it from another pin on the MCU (bringing total pin count to 3). This will prevent the LED's from momentarily lighting as the register is cleared for the next number to be streamed in. It's very subtle but if you stand in the direct cone of vision you can barely see the LED's flash as the register is cleared by clocking in all zeros (and clocking out any remaining ones - which is what flashes the LED). Anway, so with two chips, 8 transistors, and 16 resisters I'm doing the work of an IC - like I said, low tech.