Driving multiple RGB Led Drivers

Hello, my name is Holland and I’m a bit new when it comes to a lot of hardware design.

I’m trying to come up with a way to drive 8x RGB LEDs but I don’t want to use a lot of pins to do so. I also want all of them to be the same color, I just want them to be a different brightnesses. So I have aa couple ideas of how I’d maybe do this, but I’d like to know first whites the best/easiest before I just started buying a bunch of parts.

A. Setup a pin for each color, and wiring all the LEDS to these pins in parallel.
My only problem with this is that the current will drop from them all being in parallel, and I don’t know if that would effect them to an unstable amount. I could use Transistors to control the 3.3v out but then that would take a lot of transistor and a bunch of pins too, but Im not certain.

B. Multiplexing the LEDS. I genuinely don’t really know how someone would do this on the daisy platform, so any help on what IC to use and how to configure it would be great!

Any help is appreciated!

Depending on your form-factor something like the PCA9685 can drive up to 16 LED channels with PWM. This is the device used with the leddriver in libdaisy. You can chain multiple together, and it only takes two pins (I2C) to communicate with it.

Alternatively you can use shift registers.

Mutable-instruments Braids uses a few shift registers with transistors to essentially multiplex the shift register outputs to multiple character displays. That may be a good reference as well.

3 Likes

Maybe someone will port the adafruit dotstar led libraries



Wow, those are super cool! Looks like an easy communication protocol as well!

So I tried somethings, I ended up using the transistor method I described before and it worked very well, the only problem is the wiring can be a bit much, so I am looking into using Neo pixels, but I’m not certain.

TI makes a 24 channel I2C LED driver.
https://www.ti.com/product/LP5024

The Daisy Field and Daisy Petal both use the PCA9685. An I2C LED driver with 16. Channels. You can easily use multiple on a single bus with only two pins from the daisy. (There are two on each of the breakout boards). They are TSSOP package so not necessarily easy for DIY, but worth mentioning since there’s already a driver for it in libdaisy.

Hello…there is no restriction to the length of a strip, with the WS2811 you control three LEDs one after another and they are anchored.
There are heaps of arrangements, possibly the best would be to multiplex the drive to the strip. In actuality having one pin driving and changing it to each strip thusly. You could do this faster than the eye could see so it would appear as though all the strips were changing simultaneously.