Parallel LED strings of different colors and Arduino

arduinoledtransistors

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.
enter image description here

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.

Best Answer

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".