13
\$\begingroup\$

I'm trying to wire up 6 RGB LEDs in parallel, all controlled from a single source (well, three sources, one for each colour). The LEDs came supplied with resistors to limit the current of 270 Ohm for a 5v supply.

The problem is, 6 LEDs x 3 colours = 18 resistors, which is a lot, and means I need a much bigger board and a lot more soldering.

So, can I instead wire the LEDs in parallel with each other, with a single resistor protecting all six? (3 resistors in total, one for each colour). How do I calculate the value of that resistor?

More details:

The LEDs are being driven from a ULN2803A to supply a bit of current, which is in turn controlled by a Netduino providing a PWM signal on the three channels.

These are the RGB leds in question. If I've correctly understood the data sheet they want 20mA of current, and forward voltages of 2, 3, 3 volts (for R,G and B respectively?). The supplied resistors were all 270 Ohm, so the channels may not be balanced quite right.

For extra credit: I'm only using 3 of the transistors in my driver chip, which has 8 in total. could I wire the PWM from the netduino to a second trio of transistors, and split the LEDs into two groups of three? Is it worth the effort?

PS I don't have any diagramming tools to hand, but I can provide a diagram (drawn in paint) if it would help clarify my question. (see also this meta question)

\$\endgroup\$
5
  • \$\begingroup\$ Andrew, I have exactly the same LEDs, and am tackling exactly the same problem. Did you succeed in getting a working solution together? Thanks Brad \$\endgroup\$
    – Brad
    Commented Apr 16, 2013 at 20:05
  • \$\begingroup\$ @Brad I took the advice of the answers below and soldered each LED with it's own resistors, it was a bit of effort but worked fine. Stripboard helped for me, but arrays of resistors in a single package could also be worth looking it. \$\endgroup\$
    – Andrew M
    Commented Apr 18, 2013 at 13:48
  • \$\begingroup\$ If you're using ready-made stripboard, don't complain a bout soldering 18 resistors. You didn't have to design a PCB, transfer the artwork, etch it, and drill any holes. You can solder 18 through-hole resistors in one minute, if you treat it as a competitive sport and train accordingly, and don't count the preparation time of stuffing them into the board. :) \$\endgroup\$
    – Kaz
    Commented Dec 4, 2013 at 23:17
  • 1
    \$\begingroup\$ YES YOU CAN, but only if you can make sure no more than one will be lit at a time. If you need more than one lit at a time, you can multiplex them and quickly switch between them. \$\endgroup\$
    – Cano64
    Commented Jun 30, 2016 at 14:59
  • \$\begingroup\$ Cano64 comment should be promoted as an answer. I am using this multiplexing technique a lot and it works pretty well. Not sure if it will work fine with PWM in this case tough. \$\endgroup\$
    – eadmaster
    Commented Apr 18, 2017 at 6:02

7 Answers 7

19
\$\begingroup\$

Using only one resistor for 6 LEDs is not a good idea: if there's a slight difference in forward voltage between two LEDs one will light brighter than the other one.

edit
Splitting the 6 LEDs in two groups of 3 and using additional inputs of the ULN2803A would only help if you would exceed the maximum current for one driver. But each driver of the ULN2803A can sink 500 mA, while 6 LEDs will need only 120 mA.

\$\endgroup\$
12
\$\begingroup\$

No, you should not put LEDs in parallel. They will not share the current very well, one will dominate so the brightnesses will be different. Only once you have a series resistor or several LEDs in series (from a high enough voltage supply) can you successfully parallel up the strings of LEDs.

\$\endgroup\$
5
\$\begingroup\$

The forward voltage (Vf) of the LED's is characterized for a given current; but if you look at the datasheets, you'll see that the Vf will increased with current (If).

If you wire the LED's in parallel, the two common nodes of the LED's will have to have the same voltage drop. That is, the Vf's of all the LED's will have to match. Consequently, the If's of the LED's will vary until the Vf's are matched amongst the LED's - and hence you will have very different currents in the LED's, and very different brightness as a result.

Even when you have "identical" LED's, when you wire them in parallel, the subtle variations between each piece may cause different currents to flow through them.

Having an external resistor minimizes the Vf/If variance. That is why in most simple designs, the LED current is controlled by a resistor. For more sophisticated designs, you control the current with a current source.

\$\endgroup\$
3
\$\begingroup\$

From the figures you have given, the LED currents will be less than you expect.

For the red LED : $$I_F=\dfrac{5.0-2.0}{270\Omega}=11.1\mathrm{mA}$$

For the green & blue LEDs : $$I_F=\dfrac{5.0-3.0}{270\Omega}=7.4\mathrm{mA}$$

... which seems like they might be rather dim, especially the green & blue - and I haven't even taken into account the voltage drop across the driver (\$V_{CE(sat)}\$)

If you have a 12V supply available, you could string the LEDs together in groups of three in series with a single resistor for each group (6 resistors). Assuming the currents are correct, you would need :-

\$R_{RED}=\dfrac{12.0-(3 \times 2.0)}{11.1\mathrm{mA}}=541\Omega \, \, \$ (say 470)

\$R_{GREEN}=R_{BLUE}=\dfrac{12.0-(3 \times 3.0)}{7.4\mathrm{mA}}=405\Omega \, \, \$ (say 390)

\$\endgroup\$
0
\$\begingroup\$

Just to elaborate on the other (very fine) answers, using one resistor for limiting current to all resistors splits the current amongst the LED's that are turned on which has the effect of dimming the LED'S should more than one be on at a time.

I'm not sure if you've played around with the tinyCylon (schematic here), but there's a 'random' mode where a LED's light up randomly. When more than one LED lights up in this mode, there is a visible dimming.

To understand this, just apply Kirchoff's law which tells you that the sum of the current around any junction must be zero. By using one resistor, you limit the current that comes out of it which then must be split out amongst the different paths that use it (i.e. the 'on' LED's).

To get a consistent amount of current going through each LED, you have to use a resistor for each LED. To get around the problem of having hundreds of tiny resistors there is a component that packages a bunch of resistors in one called a bused resistor network. One can find them on Mouser or Digikey (e.g. here). This is what the SpokePOV uses so that each of it's LED's has a consistent current running through it (resistor networks RN1-RN8 on the SpokePOV page).

Just fair warning, I'm a complete electronics newbie, so take everything I say with a grain of salt! Hope that helps!

\$\endgroup\$
0
\$\begingroup\$

Not good idea. Because resulting assembly will behave chaotically. Even completely identical LEDs will have small differences in temperature and it will cause a runaway oscillations due to thermal feedbacks. Voltage tempco for LEDs is negative. So single LED with resistor will self regulate at some equilibrium point. 2 parallel LEDs will oscillate. 6 LEDs will be a chaotic group of tightly coupled oscillators.

\$\endgroup\$
0
\$\begingroup\$

Parallel LEDs won't oscillate- they will exhibit thermal runaway. As the temp goes up the resistance (actually the forward drop) goes down. Lower resistance draws more current which increases the temperature more. This increases the current which increases the temperature which increases the current which... This will continue until either the current is limited externally or the LED overheats and burns out.

\$\endgroup\$

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.