I'm working on project that involves 100 white and 100 RGB LEDs, controlled with 25 TLC5940s.

I've managed to connect three TLCs to an Arduino MEGAv3 and so far, so good.

I've found out that I have to add 0.1 μF capacitors (ceramic, but I can only get film) between TLCs VCC and GND to smooth out voltage drops and 1 μF / 100 μF caps along the positive and negative rails (to not burn down TLCs). I'm using these LEDs: RGB and white.

So, from the TLC5940 basic use example, I calculated that I have to use a 1,5 kΩ resistor on each TLC to provide 26,04 mA per LED channel. So at full on, all this should pull 26.04x400=10.416 A!

As this is going to be freestanding installation I'm thinking of using a 12 V, 105 Ah car battery (not connected to a car) with this buck converter: DC/DC 12 V-5 V 15 A 75 W

My questions, that I haven't found answers to, are:

  1. How to calculate the resistors for the TLCs? Or are none needed?
  2. How to calculate the resistors for the LEDs? It's stated I = 39.06/R(in ohms) (I don't know why V is 39,06), so R = (Vc-Vled)/ILed = (5-3,4)/0,03 = 53 Ω?
  3. How to protect the TLCs from any possible overheating that I'm not aware of?
  4. Are my LED current calculations correct? As I measured with a single LED turned on between an Arduino 5 V pin and the breadboard it showed ~36 mA on my multimeter.

I have attached a sketch below. It's only showing two TLCs, but this wiring will continue as shown.

multiple tlc

UPDATE: This is my scheme as it is now on breadboard. I went with MeanWell 12->5 V converter after consultations in the Arduino forum. I cannot take risks of running out of voltage because of voltage drop in system.

I changed my white LEDs to a more efficient model and added SN74HC04N inverters for signal strength.

I hope schematic is somewhat understandable. It actually works as is and I plan to start soldering this to veroboards soon. There are definitely improvements to be made that I'm not aware of and maybe someone can point out some?

multiple tlc scheme

UPDATE 2023: Final result from 2019 :) Thank you, everyone!



  • \$\begingroup\$ Fritzing (usually) allows you to convert the wiring cartoon into a proper schematic diagram. That would show us how the circuit is supposed to work. \$\endgroup\$
    – Transistor
    Oct 20, 2018 at 0:26
  • \$\begingroup\$ @Transistor yeah.. I know, but it's a mess If done automatically and I'm bad at drawing schematics. But I will try! \$\endgroup\$
    – Atis
    Oct 20, 2018 at 8:51
  • \$\begingroup\$ You deserve praise for the courage of trying a project "that involves 100 white and 100 RGB leds, controlled with 25 TLC5940" while beeing "bad at drawing schematics" \$\endgroup\$
    – mguima
    Oct 21, 2018 at 2:29
  • \$\begingroup\$ @Transistor I managed to draw one, added update to question, I hope it's understandable.. \$\endgroup\$
    – Atis
    Nov 2, 2018 at 21:14

2 Answers 2


For a battery powered project you need to look at all the power you are wasting.

You should be able to do this with a 3.3V power supply.
There are plenty of white LEDs that have a lower forward voltage and much brighter than the one you link. The RGB link did not work.
You can get white LEDs with and luminous intensity of 46,000 mcd.
You could reduce the current by a factor of 8 (2.5 mA) and greatly reduce the load on the battery with the same brightness.
Here are some example of brighter white LEDs: DigiKey white LEDs

At 3.3V you can save an additional 33% for the voltage reduction.
If you reduced the current to 2.5 mA you will lower the forward voltage of the LED this will save a little energy.

You can reduce your battery capacity by more than 10x by reducing the voltage and and lowering the current.

This will also keep the TLC5960 from getting too hot.

How to calculate resistors for TLCs? Or are there not needed any..?

The TLC 5940 provides a constant current so no resistor is needed.

And how to calculate resistors for LED?
It's stated I = 39.06/R(in ohms) (i don't know why U is 39,06..) U = (Vc-Vled)/ILed => (5-3,4)/0,03 = 53ohm ?

Not needed.

How to protect TLCs from any possible overheating that i'm not aware of ?

Not likely needed, if heat were a problem you would reduce the current.

Are my LED mA calculations correct ? as i measured with single led turned on, between arduino 5V pin and breadboard it shown ~36mA on multimeter. I have attached sketch below, it's only showing two TLCs, but this wiring will continue as shown.

You only need one resistor, RIREF for each TLV5940. The value is calculated using the formula in Section 8.3.7 of the datasheet. The resistor sets the maximum current for all 16 LEDs.

Notice there are no LED resistors to limit the current.

enter image description here


One thing you need to understand is you cannot just look at the mcd rating. You must also consider the view angle.

The mcd is the intensity of the light beam being emitted. The view angle is the size of the beam. The two together is how much light (luminous flux, i.e. lumens) is being emitted.

Your green LED is 14400 mcd (14.4 candela)n @ 30° = 3 lumens
Another green might have only 7200 mcd (7.2 cd) but a view angle of 60°.
How do these compare? Is yours twice as bright? Yes and no. Depends upon the angle you view the LED from.
If you compare the amount of light being emitted the difference is 2x.
Except it's the 7.2 cd emitting twice as much light as the 14.4 cd LED.
The 7.2 cd @ 60° = 6 lumens

But if you view the LED straight on at 0° yours is twice as bright.
It's about how the emitted light is optically directed by the shape of the LED.

If viewing the LED from a 30° yours cannot be seen. While at 30° the 7.2 cd LED will be seen at 50% intensity, or equivalent to a 3.6 cd LED.

You RGB looks very good. The view angle is a little small but if it's to be viewed straight on, very good.

Below is a graph of your LED's spacial radiation (direction of light). The arc by the highlighted 0.5 is the 50% intensity point.
At 15° (one half of the 30°) the intensity is at 50%.

enter image description here

  • \$\begingroup\$ I updated RGB link. So I need 12v->3.3V converter, like this one?. Unfortunately I already bought these LEDs. But I guess I have to look for the ones you suggested, because I need to save that battery. What do you mean by- If you reduced the current to 2.5 mA ? \$\endgroup\$
    – Atis
    Oct 20, 2018 at 8:48
  • 1
    \$\begingroup\$ By using a more efficient LED you can get the same luminous intensity at less current. Example, if one LED is 10,000 mcd @ 20 mA and the other is 1,000 mcd @ 20 mA, if you run the former at 2 mA it will be as bright as the latter at 20 mA. 10x difference in power (battery life) but the same luminous intensity. I under estimated the savings. I compared the mcd of the other LED at 20 mA and yours is rated at 30 mA. So add another 33% savings (14x). When you lower the current from 20 mA to 2 mA the forward voltage will drop up to 0.5V, about another 10-15% energy savings. \$\endgroup\$ Oct 20, 2018 at 9:53
  • \$\begingroup\$ Ahh ok. And so the R.IREF resistor calculated in 8.3.7 doesn't get affected by 5v or 3.3v input in TLC ? \$\endgroup\$
    – Atis
    Oct 20, 2018 at 10:34
  • 1
    \$\begingroup\$ VCC is not a factor. As long as VCC is between 3V and 5.5V the internal reference voltage (Viref) will always be 1.24V. Fig. 3 is a graph of resistance vs. current. You can use that graph to verify your calculation. I have updated my answer regarding the RGB. \$\endgroup\$ Oct 20, 2018 at 11:51
  • 1
    \$\begingroup\$ Regarding the DC-DC converter, I only buy from a reputable supplier. If reliability is an issue then I would not buy this one. Power supplies are the weak link. You have to think about the ramifications if it were to fail. I do not recommend no name brand power supplies. I only buy Mean Well. They make over 2.5 million unit per month with good warranty and fair price. I would look at the Mean Well RDS meanwell.com/webapp/product/search.aspx?prod=RSD-60 \$\endgroup\$ Oct 20, 2018 at 12:10

Regarding resistors, the TLC5940 uses a constant current sink driver for all 16 LED drive lines. That baseline current is set by one resistor, sec 6.7 figure 1. There is a dimming function provided by the PWM capability. Note that for color balance RGB leds are tricky in that if all three LEDs are getting the same current the light may not look 'white' to the eye, so that could get complicated, especially since that reference resistor is applied over all 16 lines, so you either use PWM to rebalance, or you run each R/G/B color to a separate TLC5940 and tweak the reference resistor.

One thing to watch on the datasheets notice how that DC forward voltage changes for each LED (even within a batch of LEDs with min/typ/max). Color and luminosity grades (binning is the vernacular) can become critical in high end applications (don't know what your's falls under). the 3.4V is the typical white LED, note the 2.1/3.1 typicals for the R/GB, plus the spread. A 53 ohm resistor would dump
60mA into the red LED (typical). Thats' why the current sink technique on the TLC5940, brightness is proportional to current.

From the LED datasheets you should set your current to 20mA or lower for best LED reliability, so this indicates a reference resistor of about 2K ohms.

Regarding TLC5940 overheating, you need to pay attention to section 11.2, 11.3 as well as sections 9.x.

Figure 3 gives you an idea of the power dissipated in the chip by the current sinks, so ,02A * 0,5V *16outputs = 0,16W per chip, which isn't bad, for a total of 4W dissipation.

You'll note that the different packages have different maximum dissipation rates section 6.7 fig 2, -especially- if the power-pad heat slug is not soldered down properly to a very good copper plane to conduct heat away from the chip. Notice the 2:1 difference, and note that you will not be able to solder that powerPAD with a regular soldering iron- it is underneath the chip body. You will require at a minimum a hot air soldering station or better yet a friendly business with a reflow oven.

Luckily at 20mA you're ok, -but- say you decide you want to PWM the LEDs, then you may want to change the maximum current drive to higher level and that power dissipation factor may become critical, especially depending on the ambient temperature.

I recommend reading that datasheet and and make sure you understand what and why they are doing. Notice that the LED drive inputs can take up to 17VDC, so that means that you can also do strings of LEDs, which may make your life easier (until one burns out and the string goes dark).

  • \$\begingroup\$ Thanks! I use basic 28-pin PDIP varsion of TLC which i plan to solder onto veroboard with 28-pin socket. This is not a high end application. If I use 2k resistor with 3.3v TLC input will I kill my RGB LEDs, as they have 2.1/3.1v typical voltage? (now I'm testing them with 1,5k resistor and 5v TLC input, ad everything seems to work) \$\endgroup\$
    – Atis
    Oct 20, 2018 at 10:58
  • 1
    \$\begingroup\$ @Atis you sound confused. With a constant current source the voltage does not matter as long as the supple is greater than Vf. A 2KΩ Riref will give you 20 mA max. 1.5KΩ will be 30 mA. Whether the supply is 3.3V or 5V will not affect the LED. 5V will make the TLC run much much hotter than 3.3V. The power from excess 1.7V must be dissipated by the TLC. \$\endgroup\$ Oct 20, 2018 at 12:27
  • \$\begingroup\$ Believe me.. I am confused, no just sound like.. First steps in electronics.. Thank you for answer! \$\endgroup\$
    – Atis
    Oct 20, 2018 at 12:31

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.