High power RGB LED hookup

Okay, with all school things passed and over with I finally have some time for the important stuff again. So I had an idea (a while ago, and I've been around here asking about it a few times, sorry :P) to create this RGB lamp for fun essentially, but I'd like to be able to read something using just the RGB lamp. I've looked around a bit now, and I've got an eye on these: http://www.sure-electronics.net/DC,IC%20chips/LE-LL007.pdf .

3W RGB LED,Full Color-1W Per Color 30-50lm, 1pcs Intensity: Red(30lm), Green(55lm), Blue(9lm), Viewing Angle: 160 degrees, Forward Voltage: 2.2~2.8V(Red), 3.0~3.8V(Green), 3.0~3.8V(Blue), Forward Current: 350mA.

Now while I'm at home with programming stuff for quite a while, I'm still to be considered a total newb at electronics (as I am!!!!!one!1eleven!), but I've understood I'd (probably?) need a transistor or LED driver (?) or something to use these with the Arduino. Now, say I'd like to hook up 3 of these 3W RGB LEDs, and I need to be able to control them smoothly with PWM, what should I start looking for? Oh, and sorry for the eternal questions and no results shown whatsoever, but when I finish this one (which should be soon now) I'll post some images, a video and sources (and diagrams if I can make those nicely) here. Thanks in advance :)

To have enough PWM, I'd say you have to use a TLC5940 (16 channel PWM), won't be hard to hook it up to your led as it has no common cathode or anode. However, you'll need some kind of external power supply as it needs 350mA per led, so the Arduino won't be able to drive 3 of thoses. I wonder if the TLC5940 can take such powerful leds.

Thanks for the quick reply :slight_smile:
Now some googling tells me the ‘per channel drive’ of the PWM chip/thing you mentioned is 120 mA. Supposing ‘per channel drive’ is indeed the maximum drive it can give one single LED, then indeed it wouldn’t be able to cope, even if I’d throw in the external power source.
But there’s a different problem for me first, as I wouldn’t know how to hook up an external power source at all, not even when I would use the on-board PWM pins… And with the 6 onboard PWMs I could still hook up 2 RGB LEDs, which would allow me to read (I guess?), and I could always expand it seeing what an extraordinary device the Arduino is (to me anyway :P).

If I were you, I’d use a 2N2222 transistor…with the Arduino or with the TLC5940 output pins. This one for example: http://au.farnell.com/on-semiconductor/p2n2222ag/transistor/dp/1611371. They’re worth cents, so get one for each LED (R, G and B) per LE-LL007 and call it done. The TO-20 package is breadboard friendly.

The external power supply is easy too. You only need an LM1086 (or similar) voltage regulator IC and 2 capacitors (plus maybe a couple of resistors).

Here’s something that’ll supply up to 1500mA (enough for one RGB LED with all 3 LED’s a 100% duty) at 3.3V: http://au.farnell.com/national-semiconductor/lm1086it-3-3-nopb/voltage-regulator-ic/dp/1559372

Now, if you check out the data sheet - on page 1 it shows you the Application Circuit. You’ll see that you need a 10uF capacitor and another 10uF Tantalum capacitor on the output. I imagine that the resistors in the middle of that diagram are optional, in case you wanted to fine tune the voltage output (I notice that the 5K resistor is a variable resistor, like a pot maybe).

If you can get that circuit happening, you’ll be in business. Given that the LED will draw up to 350mA per LED, 1.05A combined…you won’t be able to power your LM1086 from the Arduino (this will exceed the maximum mA output of the Arduino). You’ll need to get yourself a power pack (wall wart?) that will supply you at least 5V DC at 1.5A, and supply the LM1086 with that.

Alternatively, if you can find a power pack at your local electronics store that will supply 3.3V at at least 1A (or more better yet), you can just steal the power directly from it.

Oh, and remember in either case to keep your grounds joined so they the circuits play nice!

Some other hints re: the LM1086. While it will accept up to 27VDC as an input, the more Volts you put in, the more heat it’ll create in the process of delivering 3v3 to you…especially when drawing 1A. That’s 2/3rd of it’s maximum capability, so it’s going to produce considerable heat. This is why I suggested a 5V supply (you need at least 5V, any less and you won’t get 3.3V), because it only needs to discard 1.7V. You might need a heatsink for it, or just screw it to a chunk of metal you have laying about.


If driving the LEDs is the only thing you're doing with this project, you'll probably find it easier to do the 9-channels of PWM in software and skip the TLC5940, it will just overcomplicate things. It's not that difficult for the CPU, and the only reason not to do it in software is if you expect to keep the CPU busy with other tasks.

For the outputs, a 2N2222 or 2N3904 will do the job perfectly. Connect the base through a 1k resistor to the Arduino output, the collector to Vcc, and the emiter through the LED and then a 7-10 ohm 1-watt resistor to ground.

Don't forget you'll need something that can handle the 9 watts for the LEDs, and don't use the on-board Vcc and Gnd pins for the transistors collectors and emiters, that's a lot of current for the tiny traces on the board.

For the outputs, a 2N2222 or 2N3904 will do the job perfectly. Connect the base through a 1k resistor to the Arduino output, the collector to Vcc, and the emiter through the LED and then a 7-10 ohm 1-watt resistor to ground.

Are there any sources of info/tutorials on how exactly to set up the above example? Trying to control 6 different 3W RGB LEDs and am a total n00b at hardware, have no idea how to hook anything up.

Trying to control 6 different 3W RGB LED

Driving 3W LEDs is not simple, especially if you do it right. This link does not do it right:- http://fightpc.blogspot.com/2008/03/arduino-mood-light.html But it will work in a limited fashion.

To do it correctly look at:-




am a total n00b at hardware, have no idea how to hook anything up.

Then might I suggest that this project is beyond you. Sorry.

Just because my current knowledge is limited does not mean I'm unwilling to learn. But gee, thanks for the confidence.

does not mean I'm unwilling to learn.

So what I am saying is that if you can't swim then splash about in the shallow end until you get to know water. Only then is it marginally less safe to venture out to the deep end. Remember the pool guards can only send you text messages.

We all have to learn and it is great fun but if you try something hard or impossible for you and give up then you have lost something great.

I am sure you can do it if you approach it right but high power LEDs is not a simple thing. Ordinary LEDs are relativity simple and there are enough pit falls in that. Learn to walk before you run.

Word, I hear you. Just hard to know where to start when there are so many ways to execute a simple project. I have high power LEDs at my disposal so I thought I'd go there.

What I want to do is create 6 box lamps, each illuminated by some sort of light source. The boxes are quite large, so because the high power LEDs are out of the question I imagine I'd use multiple ordinary ones. I'd also like to have control over each of these box lamps (color, blinking, etc) individually.

I was immediately drawn to BlinkM due to my overall lack of experience and its easily programmable light sequencing, but it's quite out of my price range. Unfortunately its starting to look more and more like I'll have to fork over the cash to get this project done in time.

You could try a circuit like this: http://www.instructables.com/id/Power-LED_s---simplest-light-with-constant-current/step1/What-you-need/

To control it with the arduino I believe you would just have to disconect the end of R1 from the V+ and drive it with an arduino Dout. That will depend on what you pick for Q2. You will need one of these circuits for each color on each LED.

Read through the instructable to see if it will work for you. I havn't tried it yet, still waiting for my RGB LED's from China, and im definitely not a circuits guy, more of a try and see if it blows up guy.

Just an idea. You will definitely want to read it and try to understand what is going on in the circuit. Thats the best way to learn.

hi guys,

i agree with scootabug. btw, Farnell is now known as element14 Australia.

they have got a good varieties of stuff that you could use and they always deliver on time.