Help making a high powered RGB Lighting system for my highschool

As drawn up, there are 12 LEDs of the same color on each side. There may be some small variation from part to part. The variations will pretty much be a wash among part. If you find one side is too bright, bring down the PWM on that side a few notches. If you use current limiting resistors that are 1% variation, then 350 +/- 10 should be achievable. I would suggest reading the value of a potentiometer for each color, and using that to control the PWM value that is used. Then you turn a knob and see the lights of up & down. You can also create presets. Twiddle the knob to find the color you want with the cast & set in place, then program a button to jump (or fade up to) those colors when the button is pushed.

Ah, I see thanks. I think I'll use a bunch of trimpots inside the unit for control. I had planned on adding presets in the software, including the ability to read a light program from a file.

The only concern I have now is the wattage of those resistors. The voltage of the red channel is much less than of the the other two, and thus in series you get:

Red: 14-16V Blue: 20-22V Green: 20-22V

Now, at 350mA the resistor will have to drop 8V, so that gives:

0.350*8V = 2.8W. For safety I want a 5W trimpot, which could require a heat sink and such. Unless I am misunderstanding how this setup is supposed to work?

I want a 5W trimpot

Not sure if such a thing exists. These are normally quarter watt. That is why constant current drivers are such a good idea.


I want a 5W trimpot

Not sure if such a thing exists. These are normally quarter watt. That is why constant current drivers are such a good idea.

That's what I suspected. I guess I'll be sticking with the constant current drivers then. I will need some small trimpots to balance the current between the two series of LEDs but they won't be dissipating much heat at all.

Got most of the project worked out quite well now.

Just need to figure out how to turn the 5V amplitude on the arduino's PWM signal to the 1V amplitude required for the Driver IC's I have.

Run it thru a voltage divider.


Thanks for that diagram Crossroads, that explained it perfectly.

User KE7GKP is correct.

According to the datasheet you linked to, the Dimming input pin, Pin#2 "Can be connected to a logic level PWM signal". (Typical logic levels are 3.3V or 5V)

On page 3 it says Vdim threshold ranges from 1.85 to 2.25 typically 2. Therefore when the voltage is below 1.85v it is off and when it is above 2.25v it is on (or vise-versa). This confirms you can use either a 3.3V logic or 5V logic. So the arduino output will be fine. No voltage divider is required.

No, I was asking about the data sheet I linked later on in the thread, for a different product. It clearly states that the maximum Vdim voltage is 1.25 and that a PWM signal should be 0-1V amplitude. This one, showing 1.25V

PWM Output Current Range • 25% to 100% Operating Frequency • 1 kHz max On Time • 200 ns min Off Time • 200 ns min Amplitude • 1.25 V max <<< DC Voltage Control Output Current Range • 25% to 100% Control Input • 0.3 to 1.25 V max <<<

The LM3401 are only available in surface mount per that datasheet. The other part looks like a thru hole part it can be built up on a perfboard a lot easier. (Still seems like overkill to me vs TO-220 transistors.)

It is not easy to make switching LED driver working properly on protoboard. If you etch a PCB for it, it will be OK. I would suggest to check the pre-made modules as mentioned before. In theory, driving power LEDs in parallel is a bad idea. In practice, it may be OK as long as you use exact same LEDs. If one led goes bad for whatever reason, the other led in parallel will burn out instantly. I recently designed a shield for power led and wrote about my experiences. It may be useful for you.,51887.0.html

YAY! Budget increase.

Now I have enough to manufacture my own PCB!

I won't be driving the LEDs in parallel anymore, I'm going to use 12x 500mA drivers at 350mA and then split the PWM signals from the arduino. I'm currently in the process of drawing up the circuit, I'll post it here when I am done.

EDIT: Is it okay to use a 350mA driver to drive 350mA? I know it's always a good idea to underrate electronics but I can't find a chip that does exactly what I need it to for with more current. I need an IC that can handle 24V input, 350mA output with a PWM frequency range that supports both the 500Hz and 1kHz speeds on the arduino pins.

It seems that the driver I listed in my original post is my best bet. Their datasheet seems to point to the fact that it was designed for use at 350mA.

Besides, this unit isn't going to see more than a thousand hours of use anyways. Not that I'd want to make it un-reliable, but if I reduce the IC'd MTBF to 40,000 hours from 80,000 it isn't a huge deal.

Here is a tentative circuit representing one of the six color channels.

Will this work? I'm pretty sure it will but I want to make sure before I get to work designing a PCB.


@neurostar: "In theory, driving power LEDs in parallel is a bad idea." The design being worked from the first page of the thread had current limit resistors in each string, thus they are not actually in parallel.

@charliehorse, This design is total overkil for a limited use stage lighting setup. Running left & right lights with brightness matching controlled by PWM adjust from ardiuno would have been plenty. Logic level mosfets with 0.005 Rds and 350mA going thru them would dissipate <2mW and would have no cooling needs. Now you have a ton more parts to deal with, you've got a pile of NPN transistors that may need cooling as well, dissipating 250mW each, a controller that you are using at 100% capacity, no derating, and with 0.95mm lead spacing which will be a bear to solder hand.

If you still want to pursue something besides MOSFET switching, consider one of the parts in this flyer I just received via e-mail notice. MAX16822 or MAX16832 for example. Higher current flow, fewer parts, and with a student/school e-mail you are eligible for free samples.

Perhaps I am not fully understanding the mofset idea...

Looking at the circuit you posted earlier it looks as though when the PWM signal is ON, the LEDs are simply in run directly off 24V with only a resistor to reduce the voltage. If this is true, that resistor could be dissipating up to 10W when the circuit is on.

P=IV = .35 * (24V-14V) = 3.5W. So use 5W resistors. 10V/.35A = 28 ohm for Red,
(14 v worse case for Red)
4V/.35A = 68 ohm for blue/green. P=4*.35 = 1.4W, use 3W.

Depending on your PWM setting from Arduino, power dissipated will be 1/255 to 255/255 of that.
Or use a high wattage rheostat for even more fine tuning of the light levels
Say a 50 ohm resistor in series with 25 ohm 7.5W rheostat if you can find a place to get them - digikey has the part numbers to look for.
I would go with fixed resistors and PWM trimming, see how it works & add rheostats if its not quite what you want.

Check that part about 50 ohm & 25 ohm rheostat - make the fixed resistor the full value so that if the rheostat is turned to 0 ohm and PWM is at 255 (full current) you don't smoke the LEDs. Just add more resisitance on top to dim the overly bright side. Digikey has 12.5W in 25, 50, 75 ohm. If you use 25 for Red and 75 for blue/green, install on the brighter side LEDs, that will let you tone down the current by half compared to the other side, perception of brightness is another matter.

$26 each, so I would try PWM adjustments before adding these. Just leave yourself room to adjust the circuit later.

I have a 10W RGB LED that you are trying to use. These are exact voltage drops of the LED. Red : 6.39V Green : 9.38V Blue : 9.22V All at 350mA

If you want to make your own LED driver, why don't you use my design which is exactly fit with what you want to do. I published all Eagle cad files. If you design switching power first time, there are a lot of things to think about it carefully. The LED driver part of my design will cost less than $30 for 3 channels. You will have very efficient drivers and easy of PWM control that are proven to work. I will send you exact manufacture part numbers and BOM, if you need them. You will only need three drivers to drive 9x 10W RGB LED with 36V power supply such as this.

If you don't want to or don't need to make your own driver, I would shamelessly recommend my RGB LED shield. You can use rest of your budget for led heat sink and housing.

3 x RGB shields : $37 x 3 = $111 + $3 shipping 9 x 10W RGB LED : $11.49 x 9 = $103.41 free shipping 36V/4.2A Power = $40.75 + $11 shipping Total: $268

4 x RGB shields : $37 x 4 = $148 + $3 shipping 8 x 10W RGB LED : $11.49 x 8 = $91.92 free shipping 24V/5A Power = $19.33 free shipping Total: $264

@neurostar: "In theory, driving power LEDs in parallel is a bad idea." The design being worked from the first page of the thread had current limit resistors in each string, thus they are not actually in parallel.

I was talking about his initial idea. Even though it is not ideal, in practice you can drive leds in parallel with same leds which is the case for his setup. I tried, it worked with +-5% current difference though.