Parallel LED strings of different colors and Arduino

I need to use 7 strings of led, each one of a different color. I will control each string using a Arduino and the BC 337 Transistor. The string will be connected to a 12V power supply.

I have read lots of things about LED's. I think the right way is to use the string in parallel, with each string having it's own resistor, based on the voltage drop of the led in that string. So, the string blue will have a resistor and the string red will have a different one, because the voltage drop of one LED is different than the other (the colors are different).

Here is the circuit I draw. I only need to calculate each string resistor value, depending of the voltage drop of the led.

Is it right and safe to use? My only doubt is that I read in a lot of places that this kind of thing would require more complex components to regulate the voltage. And then I read a lot people saying this design is good enough.

• Looks fine to me. Be sure that the base resistor for each transistor is low enough that the transistor saturates. 1k is a good starting point. Commented Feb 20, 2015 at 21:20
• It looks good. There are ways to get more precise voltage. Really, LEDs are current driven devices, so current drivers are used as well. However, for simple projects, this is just fine. Commented Feb 20, 2015 at 21:58
• Consider using NFETs instead of Darlingtons, although that could just be personal preference. The strand resistors will need to vary from "ideal" to achieve the same "brightness" from each color; i.e. 10mA of red != 10mA of blue.
– Jon
Commented Feb 20, 2015 at 22:33
• What you have is most likely good enough. So not saying that the following is the way to go. If you have voltage to spare, it is very easy to turn what you have shown into regulated current drivers. Just move the current limit resistors to between emitters and ground. Then $I_{LED} = (V_{OHofMCU} - V_{BE}) / R_{current}$, while the voltage $V_{OHofMCU} - V_{BE}$ would be committed for the current regulation. Commented Feb 21, 2015 at 21:45
• $V_{OH}$ is applied at the base to turn on the transistor. $V_{OH}-V_{BE}$ appears at the emitter. The current through the resistor at the emitter is $(V_{OH}-V_{BE})/R$. Due to the gain of transistor, practically all of the current is sourced from the collector, therefore $I_{LED}$ is approximately the current through the resistor. Commented Feb 22, 2015 at 6:34

Looks fine to me. Be sure that the base resistor for each transistor is low enough that the transistor saturates. 1k is a good starting point. – Dwayne Reid

My NFET suggestion reduces base/gate current from the MCU to "0".

It looks good. There are ways to get more precise voltage. Really, LEDs are current driven devices, so current drivers are used as well. However, for simple projects, this is just fine. – Justin Trzeciak

The point of all the fancy circuits/ICs is to maintain an equal "amount of light" with various colors, forward voltages, fluctuating inputs, high surge currents (output PWM), etc. It is obvious when one strand causes all of the others to fade out a little. For "simple projects", we don't care if they do.

Consider using NFETs instead of Darlingtons. The strand resistors will need to vary from "ideal" to achieve the same "brightness" from each color; i.e. 10mA of red != 10mA of blue.

Red may need much more current than blue to be "equally bright".

• I will study your suggestions of using NFETs. I'm just starting to learn electronics. Thank you! Commented Feb 22, 2015 at 1:44
• @LucasM, FETs will let you control the strands with voltage, rather than current. MCU's are pin- and package-limited for current so FET's will make the MCU's life easier. You can also PWM them like BJTs for fading.
– Jon
Commented Feb 22, 2015 at 3:58

this is probably not an issue, but you want to make sure that the power supply is able to supply all the current you need and maintain the voltage regulation when all the strings are lit.

Another option would be to use an addressable RGB string. There are a number of variants depending on the chip that they use (LPD8806 and WS2812 are two common variants), and there are nice libraries for both for the arduino. You can also drive them with 5V, so you don't need two separate power supplies.

Adafruit carries a nice selection of them.

• Thank you for your suggestion. I have considered using RGB LEDs, but they are more expensive. My project will need "clusters" of LEDs of a certain color, so I can't use LEDs strings. Commented Feb 22, 2015 at 1:42