TLC5940 circuit with USB Hub power

I am using 48 channels off of 3 TLC5940s to power RGB LEDs... I'm using 2.5K resistors on the TLCs to limit the current to around 15mA per channel. If you do the math, that means I need to provide 48*15mA=720mA.

When I have all channels set to their highest brightness I am only pulling around 566mA through the LEDs when using only USB power.

When I go ahead and plug the DC power adapter to the USB hub that the Arduino is connected to, the current goes up to around 722mA.

Is this "safe"??? Can the USB port/cable/Arduino handle this? The +5V for the LED array is being tapped directly off of the pin labeled "5V" on my Arduino Nano.

Please advise, oh Wise and Knowledgeable Ones :slight_smile:

OK… I just read the datasheet for the UA78M05 voltage regulator that is on the Nano. The max is 400mA, therefore like you said, no good using power directly from the USB port, even if my power USB hub will provide it. It WAS running in this config for a few minutes with no “perceivable” issues, but I know now it was just a matter of time.

The USB Hub uses a 5V DC power supply. Can I just tap off of that for my 5V source? Would I connect it to the “5V” pin or the “Vin” pin? Could I still have the USB plug connected? If so, would I have to cut the +5V plug wire? How about the ground… should the DC barrel plug ground be common to the ground on the hub’s usb ports? How can I “test” for this?

I really would like to be able to communicate with the Nano via USB while also providing the max current to my LED array.


Thanks for the reply!

I understand now about supplying the LEDs with a separate source than the Arduino.

The power supply is rated at 3A, so I'm assuming it will provide the current.

The ground situation is somewhat foggy, though... if I use the +5 tap directly from the power supply to feed the LEDs and leave the USB plug connected... the only ground connection out of the circuit is through the USB plug out to the USB Hub... This connection must carry the 722+mA current "out" of the circuit.... (sorry if I'm not using the correct lingo). Is this OK? Or, do I need to provide another ground connection directly from the power supply to the Arduino/LED circuit? That question is related to why I asked if the ground between the USB ports on the hub and the power supply for the hub itself are common.

I'm running the LEDs on 5V because it's what I have available, and the circuit is designed for each color of each RGB LED to be on it's own channel of a TLC5940 for full color fading control.

Thanks again... :sunglasses:

I am only pulling around 566mA through the LEDs when using only USB power.
When I go ahead and plug the DC power adapter to the USB hub that the Arduino is connected to, the current goes up to around 722mA.

That sounds odd but I assume you are measuring the current with some sort of DVM. As the current is going to be very rapidly varying due to the blanking time it is likely you are not getting a true reading of the peak current. Where as with the hub connected there is likely to be more capacitance on the supply from the hub to smooth things out.
It is also likely that the voltage is sagging a bit causing a drop in current.


I will try out using the external +5V from the power supply, as well connecting the ground from the power supply to the TLC circuit.... since I was originally getting the ground for the TLC circuit from the Arduino, would it be OK to just connect the power supply ground to the Arduino ground? Or should these be separate paths to ground? Mind you, the +5V Vcc provided to the TLCs is still coming from the "5V" pin on the Arduno... is this OK?


Yes, I'm measuring with a DVM and I understand that it's not a "true" reading... would it be a close enough approximation if the TLCs are full on?

would it be a close enough approximation if the TLCs are full on?

It all depends on the design of the DVM but I would guess no.

Hey Guys...

I've attached a couple drawings depicting options. Please tell me what is right or wrong with each if you would be so kind.

Is Option A what you described? All grounds coming from the TLC chips would be connected to the "big" pipe directly out through the power supply. The Arduino would be getting it's power and ground connections from the USB jack out through the USB hub.

I could have done an Option C that would look just like Option B only I would cut the 5V from the USB hub as well and provide the Arduino power from the big 5V pipe instead.... please tell me I'm crazy and this USB cable wire cutting is not necessary.

Before reading your post, I hooked up option A... I got totally bizarre results and I smoked 2 TLCs :(...

The third one that isn't "smoked" has some of the channels only pulling around 7mA when they should be pulling 15mA... funny thing is I popped a fresh TLC in and some of the channels on it were kind of doing the same thing... :frowning: I'm clueless... I have 3 fresh TLCs (including the fresh one that exhibits the odd behavior I just mentioned).... maybe I should order up a few extra....

I'm kind of afraid to hook up you suggestion, Is it possible for me to "protect" the Arduino voltage regulator by just not having all the channels on at the same time in order to keep the current under 400mA (max spec on the regulator per the datasheet)?

It should not be necessary to "protect" the Arduino voltage regulator because you are not drawing any current from it. At least not the way your block diagrams show.

Sorry.. I failed to complete my thought... I meant to ask that question in the event I just want to run the whole thing off USB power (aka 5V pin on the Nano).

I don't really have the means to draw a complete circuit schematic, nor am I really qualified to do that... sorry.... I have the TLCs hooked up as described here:

Except the 2k resistors are 2.5k in my case.

The question is really where to connect all the 5V and ground lines shown... to the Arduino, to an external power supply or to some combination?