High Power LED Driver Circuits

High-power LED's: the future of lighting!

but... how do you use them? where do you get them?

1-watt and 3-watt Power LED's are now widely available in the $3 to $5 range, so i've been working on a bunch of projects lately that use them. in the process it was bugging me that the only options anyone talks about for driving the LED's are: (1) a resistor, or (2) a really expensive electronic gizmo. now that the LED's cost $3, it feels wrong to be paying $20 for the device to drive them!

So I went back to my "Analog Circuits 101" book, and figured out a couple of simple circuits for driving power LED's that only cost $1 or $2.

This instructable will give you a blow-by-blow of all the different types of circuits for powering Big LED's, everything from resistors to switching supplies, with some tips on all of them, and of course will give much detail on my new simple Power LED driver circuits and when/how to use them (and i've got 3 other instructables so far that use these circuits). Some of this information ends up being pretty useful for small LED's too

here's my other power-LED instructables, check those out for other notes & ideas

This article is brought to you by MonkeyLectric and the Monkey Light bike light.

Remove these adsRemove these ads by Signing Up
remi.serriere made it!10 days ago

Thank you for these schematics. I used them on my sequential taillights for my car :

I shared the link to your article in this forum, I hope you don't mind. There's also a video of the final result.

The picture included is just a "fly bug" design ^^ IRF640 and BC547B, I used it for testing ;)

fche41414 days ago


Could l know how do you come up with the equation I = 0.5/R3 please?

cfsterpka29 days ago

Awesome tutorial on LEDs and drivers thereof, thank you!

charika1 month ago

thank you fr this excellent tutorial, I need help for a project, I need to use the high power LEDs listed bellow, 2 of them in series, can you help me to drive them please?

selvam123451 month ago

Hi Dilshan, I am building a battery powered LED torch with 4X1.2V 1200mA batteries, and 3X3W LEDs I am trying hard to find a driver which could do the job of connecting them together

the LEDs I have are,
LED, HIGH POWER, 5000K, 70CRI, 275LM
LED Colour: White
Luminous Flux @ Test: 369lm
Forward Current @ Test: 1A
Forward Current If Max: 1.2A
Forward Voltage @ Test: 2.86V.

could you please help me what should be the specifications of the driver??

pratham1231 month ago

I need to drive 5 3W RGB LEDs in series using an arduino. The maximum current required is 350mA each for R G and B dyes.
and minimum current requirement is 2.4V, 2.4V and 3.5V respectively.

What should I use to interface the LEDs with my arduino as the output current of each arduino pin is 50mA maximum

Mr--P2 months ago

Hi all... Can anybody tell me if it would be possible to adapt circuit #5 to allow for either direct voltage in or PWM. In other words, can I add to the circuit and have it so that it work via PWM but if there is no PWM signal it will still work without it. Something like this...

pholme2 months ago
Hi dan good work buddy just wanted to as how many leds can you run on circuit 3# the one you say is the best
Regards phil
shivacapricon2 months ago


I want to power my bike headlight for 1watt X 2 leds and my alternator may be powering some where to 14.5v -16.5 v at 4-5 amps

battery capacity at 12v 7 amps

Will your basic circuit work without failure

svdstoep3 months ago
I've made this diagram with an IRL540 as Q2 and for Q1 I used a BC549.
The calculation for R3 was slightly off. In the example is given 0.5/Milliamps=R3. I've tried this for 700mA 0.5/0.7=7,142857142857143 (0.75 Ohm resistor). But my current was way to high with this resistor. Then I slightly increased the resistor to 1 Ohm. at this moment the current is 640 mA. I believe this is due to the fact the collector saturation voltage of the BC549 is somewhat higher 600mV.

All seems to be working now. There's only one thing I wonder. What about the power consumption. Is there a large difference between the fancy LED drivers you can buy in the shop for a lot of money?
The Freak6 months ago
Link to PWM 555 thingy is dead (end of step 8).
You2138 months ago
I want to create a 8 led light bar( each led requires 3.2 volts and 350ma ) Is this the circuit i need because the #'s aren't adding up. if I don't use one of these circuits i am just going to use resistors alone I just wanted something to condition the power more because I will be using a 7.2 volt 1600 mah battery and as it drains I don't want the leds to dim
JTHinton9 months ago
I am getting things dialed in now. Built my first prototype. Realized I made a mistake with my math on calculating the R3. Not a problem. I chose too much resistance. Even with the lesser current going through the LED's, I am seeing that the parallel setup I made for the MOSFETs is not drawing power equally. One is getting hot, the other is barely warm. How do I keep a steady current through both in parallel? Because they are not at 100%, they are fighting each other? Will running a separate resistor into 'G' for each transistor do the trick? Thanks again for all the help.
Hello, Can anyone tell me if the Rds(on) value is important and what range it should be within if selecting a new mosfet? Also are there any none logic level mosfets that can be used, even if driving/using PWM from a 5v PIC micro? Thank you in advance, Ian
rikil IansMusical9 months ago
I think Rds won't matter in this case. I have used and tested IRF540 and IRF840. You can use them as they are cheap and can handle very heavy current.
krytcz1 year ago
Hi Dan,
I have built the circuit #5. I am using a microcontroller to control the switching on and off of the LED. However, i have a problem. The LED does not turn off immediately when the signal at the Gate terminal is terminated. It takes quite sometime for it to turn off...With this, i am not able to dim the LED..Could you help me?
rikil krytcz9 months ago
MOSFET gate has large capacitance which has to be grounded heavily to turn it completely off. Better use a NPN signal BJT as a switch which can act as a strong pull-down resistor. I use MCT2E which gives me isolation as well as pull-down.
JTHinton9 months ago
Great instructable here. I am currently attempting to power 6 Cree XM-L2's. They run around 3.35v 3000mA. I am building an off-road lamp for a vehicle. Power source will be vehicle voltage. Between 12.6v-14v DC. I am trying to adapt your Constant Current #1 to accommodate the current. First question. Do I need to run the 6 LED's in a series parallel? Seems like in series the voltage drop would exceed my input voltage. If I do, I am having trouble finding a resistor with such a low resistance, and a high wattage rating. Any help would be great. I can't seem to find DC drivers to power this build and maintain a small size and price. I am no electrical engineer that's for sure.
rikil JTHinton9 months ago
You can use multiple resistors in series and parallel to create the desired value. Which will reduce the wattage rating of your resistor, making this circuit more reliable.
Derek Lewis11 months ago
Hi Dan,

Loving this design! It's working really well for me so far, but I'm curious about component selection.

I'm using a (purchased) high powered buck regulator to get the voltage down to as low as I can, and still have this circuit operate. (~0.6V above the LED Vfwd) I'm building 36 of these circuits, to individually power and PWM twelve RGB LEDs (with 3 of the buck regulators, one for each colour), at 700ma per channel, so these serve as excellent low part-count CCRs. However, I'm not sure how various characteristics of Q1 and Q2 relate to the efficiency of the design. At 700ma x 36 any efficiency gains I can get by choosing the correct components will help reduce the amount of heat I have to deal with.

What kind of things should one look for in Q1 and Q2 to help with efficiency, either to allow input and output voltages to be closer, or anything else?
Dan, This post was a great starting off point and took care of a few questions I had been trying to work out. So thanks for the inspiration and great info. I just finished my Bike light and will be working on getting a full instructable up shortly. Here is my blog post, And this is the schematic:
hello Dan,

I'm looking at a similar project to drive 3 MCE cree LED's via a LM317 and 555 giving the PWM option for a bike light
can you advise what sort of circuit schematic and values I'd be looking at? I remember seeing a PWM circuit diagram you had on the instructible, but couldnt find it
janly1 year ago
Hi Dan,
I want to build this project using RGB high power LEDS, forward current of 350mA. I will be using the Arduino Uno and I want to supply a constant current to the LEDS. Can this be done using LM317, if so how can I do it?
nathan.0191 year ago
Hi! I need to design a LED driver which can power 70 typical (20mA) LEDs. i need to design it in a way that it will light up when a signal sends to turn it on. is it possible?? please help me..
I'm planning to blink IR LED at 36kHz with microcontroller, and I'm thinking about using Your circuit from step 8 (
But as far as I understood from the text, it limits current by "turning on and off" Q2 and LEDs. So the question is will it interfere with my PWMing rate? I need to have exactly 36kHz and if transistor will also turn LED back and forth it may cause problems...?
Davidko1 year ago
Love the instructable but would love to ask anyone out there if they can help me out. I made curcuit #5 work perfectly and i am using an Arduino uno to work the pwm. my problem is when i try controlling more then one driver it doesnt "drain" both drivers. (one dims and the other blinks high/low like it is unable to pull the transistor down) how do i build a curcuit that willl be able to control 30 drivers with only one pin on the uno?
1 pin si gonan be a bit difficult because one pin just can only send one piece of info at the same time, so you would need a seriaol protocol, but then also you need the AC circuit to understand a serial protocol. I dont think it is really possible in practice
Just in case I was dimwitted. Do you actually mean you wanted to drive 30 with one pin in total or 30 with each their own pin? Both impossible on the uno. You could add one or more multiplexers that you drive with a minimum amount of pins
i would like to drive 30 drivers with one pin on the uno. i was thinking (if it is possible), using one pin on the uno to drive a transistor or MOSFET to turn ON an external 5-9v that would in turn, drive all 30 drivers in the circuit. That is possible, BUT when the main circuit is OFF how do i "Drain" all of the circuits so that the power drivers turn off? and how who the main circuit be hooked up?

i know a little about transistors, maybe could use a NPN for turning on the power and PNP for turning off and draining? i really dont know..
My knowledge is limited, but i wish to learn.
ok so you want to switch on 30KED's at the same time with one pin right?, that in fact is not so difficult. If you are using 9 volts you do not need 30 drivers as you can drive several LED's in series albeit not 30 on that Voltage. If you use a mosfet to turn on an external 5-9 Volts, That same mosfet can turn them off, no need for extra circuitry there.
How much current do your LED's draw. Are they just regular LED's? or power LED's
i sent you a private msg a little while back stating the conditions and what i was thinking of doing. but here it is again
i would like power around 50-100 high powered LED's...
i have and would like to use:
12vdc 10A power supply (maybe 24vdc and just hookup more LED's in series to makeup the difference and use less drivers in the future)
IRF540N 33A/ 100V/ 0.040 Ohm/ N-Channel Power MOSFET with heatsinks
2N3904 transistor
0R75 ohm 2w resistor
100K ohm resistor 1/4W (i could use different values if specified)
3x 3w epistar white 3.2-3.8v 700mA LED (per built driver) and i can adjust the voltage on dc power supply(11vdc/3 = 3.66vdc each LED)
a fan for the breadboards
and an Arduino uno to control the PWM with one or two pins

now i would love to build this in a way that can PWM control these drivers with one or two pins on the Arduino. i starting building the driver in circuit #5 (and 3x 3w LED's) with great success but when i hooked up TWO drivers to one pin that is when driver #1 LED's would flicker and driver #2 LED's fade out and work like it was suposed to...(programmed the arduino to fade in and out slowly for testing purposes)
so that is when i needed help. i got to thinking.... i suppied circuit #5 with 12vdc to the LED's but i controlled the N-Channel Power MOSFET with my ARDUINO SO what if i suppied the MOSFET or transistor with 5-9vdc or 12vdc and made it supply ALL the drivers somehow. but if i do that, when the power is ON everything will work(i hope) and when the power is OFF, everything might flicker because there is no "DRAIN" hooked up to that circuit.(just like my experiment showed hooking up the drivers directly to the Arduino UNO) i dont know circuitry too well to accomplish this task so i needed some help.

any feedback would be greatly appreciated.
Thank you.
I replied to that message. didn't you get that reply?
Well there might be various reasons for the flickering
I asked about the value of R1 (the resistor connected to the Uno pin). It seems most likely that the two drivers are influencing eachother. diodes maight be the answer but I need to know the value of your resistor R1 is that the 100k Ohm you refer to?
Just a bit more of a reply
Although theer might be different solutions to your problem (e.g. separating the circuits with diodes or transistors, your thinking of switching all the drivers on and off with another FET is good.

I do not really foresee the problems you mention (and are guessing about).

One of the problems you may have is that you are using an IRF540N FET. As I understand that is designed to work with about 10 Volts as a trigger and though it is odd there would be a difference in how the two circuits you built react, it is well possible that one of the circuit sjust does not get enough trigger voltage from the Arduino.

Nevertheless, driving all the drivers as a load by another MOSFET should be possible (then ofcourse you would need to change yr circuit accoring to say #2 or 3#)

Nevertheless, you may try something else:
Change your circuit into circuit #2 or #3 (does not matter which one) and put a transistor in parallel with R2 or Z1 and add a 10 k in its baseline. Drive that 10 k with your uno. That should work. (although it will invert the signal: high = off, Low=on)

As I am not building this myself it is a bit of trial and error, but subsequently you could go two or 3 ways. The easiest would be to give each of your drivers their own transistor and connect these all to one Arduino pin (make sure you do not draw more than I think 40 mA) or you could hook up all the circuits to one transistor (but I'd suggest you would use separation diodes then).

I suggest you adapt the two circuits you built in the way i describe and see if you can drive both of them with one pin
I might have found something for you, akin to what i describe
diy_bloke, you are the BEST! i do not know how to thank you enough. with the circuit that you have provided me, i have made 2 drivers to work from ONE Arduino uno pin using PWM EXACTLY the way i wanted. I really cant thank you enough good sir. now i am on my way to constructing about a dozen of these circuits. Thank you!
I am glad I could have been of help. It took a while before I exactly understood what you wanted, but I am happy you got what you wanted. I hope it all will still be fine with a dozen of them, you may need to trim the value of R3 perhaps.
Go dluck and if you need more help don't hesitate to ask
That looks amazing. You are the best. I thank you for helping me and I will definitely try making that circuit tomorrow as it is way too late today to even start. (when I get started I can't stop till its done) I really appreciate your patience and knowledgeable responses. I will write back as soon as I build the circuit you described. Thank you again and I will keep you posted.
My pleasure. We all have to learn
David, I recently replied already in a private message
I do not really understand your worries why wld you need to drain anything
Currently i cant see thereply i thought I send to you, so i just try again You do not need 30 drivers as you can feed a couple of LED's in series.
Wether you can connect the amount of drivers to 1 pin depends on a few things:
Please tell me the following:
what is your value of R1?
What current do your LED's draw?
Do you just want to switch them on and off or do you actually send a PWM signal to the LED's?
If your circuit is now working perfectly, it would seem the easiest to either increase the voltage so you can feed more LED's in series or drive 2 led's in series, so you need 15 drivers and then drive those via 15 diodes connected to the UNO
However, there are two concerns: will the voltage drop over the diode affect opening the FET (but you can try this with one diode), and will the 15 drivers not draw too much current from yr UNO (that is why I was asking about R1)

Get More Out of Instructables

Already have an Account?


PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!