High Power LED Driver Circuits


Step 6: The new stuff!! Constant Current Source #1

lets get to the new stuff!

The first set of circuits are all small variations on a super-simple constant-current source.

- consistent LED performance with any power supply and LED's
- costs about $1
- only 4 simple parts to connect
- efficiency can be over 90% (with proper LED and power supply selection)
- can handle LOTS of power, 20 Amps or more no problem.
- low "dropout" - the input voltage can be as little as 0.6 volts higher than the output voltage.
- super-wide operation range: between 3V and 60V input

- must change a resistor to change LED brightness
- if poorly configured it may waste as much power as the resistor method
- you have to build it yourself (oh wait, that should be a 'pro').
- current limit changes a bit with ambient temperature (may also be a 'pro').

So to sum it up: this circuit works just as well as the step-down switching regulator, the only difference is that it doesn't guarantee 90% efficiency. on the plus side, it only costs $1.

Simplest version first:

"Low Cost Constant Current Source #1"

This circuit is featured in my simple power-led light project.

How does it work?

- Q2 (a power NFET) is used as a variable resistor. Q2 starts out turned on by R1.

- Q1 (a small NPN) is used as an over-current sensing switch, and R3 is the "sense resistor" or "set resistor" that triggers Q1 when too much current is flowing.

- The main current flow is through the LED's, through Q2, and through R3. When too much current flows through R3, Q1 will start to turn on, which starts turning off Q2. Turning off Q2 reduces the current through the LED's and R3. So we've created a "feedback loop", which continuously monitors the LED current and keeps it exactly at the set point at all times. transistors are clever, huh!

- R1 has high resistance, so that when Q1 starts turning on, it easily overpowers R1.

- The result is that Q2 acts like a resistor, and its resistance is always perfectly set to keep the LED current correct. Any excess power is burned in Q2. Thus for maximum efficiency, we want to configure our LED string so that it is close to the power supply voltage. It will work fine if we don't do this, we'll just waste power. this is really the only downside of this circuit compared to a step-down switching regulator!

setting the current!

the value of R3 determines the set current.

- LED current is approximately equal to: 0.5 / R3
- R3 power: the power dissipated by the resistor is approximately: 0.25 / R3. choose a resistor value at least 2x the power calculated so the resistor does not get burning hot.

so for 700mA LED current:
R3 = 0.5 / 0.7 = 0.71 ohms. closest standard resistor is 0.75 ohms.
R3 power = 0.25 / 0.71 = 0.35 watts. we'll need at least a 1/2 watt rated resistor.

Parts used:

R1: small (1/4 watt) approximately 100k-ohm resistor (such as: Yageo CFR-25JB series)
R3: large (1 watt+) current set resistor. (a good 2-watt choice is: Panasonic ERX-2SJR series)
Q2: large (TO-220 package) N-channel logic-level FET (such as: Fairchild FQP50N06L)
Q1: small (TO-92 package) NPN transistor (such as: Fairchild 2N5088BU)

Maximum limits:

the only real limit to the current source circuit is imposed by NFET Q2. Q2 limits the circuit in two ways:

1) power dissipation. Q2 acts as a variable resistor, stepping down the voltage from the power supply to match the need of the LED's. so Q2 will need a heatsink if there is a high LED current or if the power source voltage is a lot higher than the LED string voltage. (Q2 power = dropped volts * LED current). Q2 can only handle 2/3 watt before you need some kind of heatsink. with a large heatsink, this circuit can handle a LOT of power & current - probably 50 watts and 20 amps with this exact transistor, but you can just put multiple transistors in parallel for more power.

2) voltage. the "G" pin on Q2 is only rated for 20V, and with this simplest circuit that will limit the input voltage to 20V (lets say 18V to be safe). if you use a different NFET, make sure to check the "Vgs" rating.

thermal sensitivity:

the current set-point is somewhat sensitive to temperature. this is because Q1 is the trigger, and Q1 is thermally sensitive. the part nuber i specified above is one of the least thermally sensitive NPN's i could find. even so, expect perhaps a 30% reduction in current set point as you go from -20C to +100C. that may be a desired effect, it could save your Q2 or LED's from overheating.
Remove these adsRemove these ads by Signing Up
remi.serriere made it!5 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 ;)

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

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
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?
josephx861 year ago
I want to build a constant current source which has input voltage between 3-311v.
how can i make it with low cost and transistor based circuit?
Thank you very much.
you could use a 3055 or comparable powertransistor, as in attached picture. the LED curent is roughly 0.6/R2. 3 Volts input voltage might be pushing it a bit but should be doable
Oh, I forgot write i want to drive 1 up to 80 3.2v / 20ma white LED with 311vdc.
You have helped me more than you will ever know. This circuit is amazing if your Vf on your led's is close to your input voltage. It then becomes super efficient.

I bought a bunch of MC34167's hoping to run some led's with it, only to find that it doesn't have current sensing. So you saved my reer.

To make sure of the Forward voltage drop being close to your input voltage though, the MC34167 is a tremendous choice. It is a single chip step up/down converter with a minimum of external components available that will get you to the correct voltage for super cheap and not have to worry about heat as it is crazy efficient.. I now use this along with most of your circuit for current control for 4ampere's worth of 100lumen/watt led's in an automotive environment....... CRAZY bright. And no heat given off anywhere except for the LED's themself. Best of all, no need for an O-scope and you can get this much efficiency. Lets face it, if you have a $4000 scope you can make your own PWM circuits and not have to worry about any of this. But if you don't it is good to know there is still ways to do things.
I only have a p-channel FET (U9024N). How do I modify this circuit to work with it?
Here's an attempt I did with Circuit Simulator:


Unfortunately, the current doesn't seem too stable. :(
Loafman1 year ago
Hi, first thing I have to say is I love this circuit. I have built one and have been doing some testing with it. The main difference with mine is that for Q2 I am using an IRF540 (I had about load of them already), but it functions basically the same as it's still a power N-FET. The thing I have found though is that when calculating the value of the current set resistor (R3) I kept coming up with worryingly high readings (I was aiming for 300ma), and found that R3 = 0.5 / 0.3 = 1.67 ohm to be giving about 360ma (according to both my multimeters). The solution (at least for me) was to change it to R3 = 0.6 / 0.3, which gave a resistance of 2 ohms and a near perfect 300ma. I'm not sure if anyone else has had the same issue (I can't find any issue with my equipment), so thought I would post up here in case it helps.
Anyhow, thanks for a great post!
Hi, just a quick follow on from my last post. In the last post I was using a 12v DC power supply, and found that the formula to work out the resistance of R3 (at least for my circuit) was 0.6 / 0.3a (300ma was my required current).

I have since chosen a 36v DC supply ( so that I can connect more LED's in each series and maximise efficiency) and found that it once again alters the formula slightly. With the 12v supply I had a steady 302ma current, but with the same circuit and 36v input I am showing a steady 326ma. I am currently using a breadboard, so I'm not sure if the higher voltage is proving more efficient at driving the current through the connecting points... maybe, but I'm rusty as hell with electronics!

The good thing is that the Vgs on the MOSFET is sitting around 3.6v, so no danger there!

Anyway, thanks again for this fab cicuit, and I hope my findings help some others with their experiments!
nnadine19732 years ago
It is working incredible considering the parts involved! I become member here just to say thank you to you.
So, Thank You!!
bobking1442 years ago
just a fast know it seems to help out with a 1000uf+ cap on the outgoing wire to the led's, I am using a 3000uf 16v cap.
bobking1442 years ago
ok I am kind of rusty for the Constant Current driver do I need to use the same voltage as my le need? led need 15volt so in put needs to be like 17volt is that right?
anyone know.
bobking1442 years ago
this is a great drive I love it, what voltage did you build yours with? cues I see that when input voltage is lower output amps goes down and when input voltage is higher amps out goes up.
sprocketme22 years ago
I understand that R3 is calculated as R=(Saturation voltage of Q1)/(desired current through LEDs) If I am wrong please correct me. Now for circuit 5 specifically, is R1 still functioning as a pull up (100kohm) like the other circuits, or is it functioning as gate resistance for Q2? In which case it would be in the order of 25-100ohm.
i need to kwon how calculate the set current, because i have a 18v and 3,5 A power source and i want conect 4 red led 3w and a blue one 3w at 700mA each one
ArtemKuchin3 years ago
I am thinking about using this schematic to power just 100mA RGB LED (pulses 1/12 of time). But the power is only 5V and Vf for blue can go up to 4V (for 20mA). So, the question is: do i have enough voltage here? As i understand the minimum voltage drop will be
V across R3 (Vbe which can be 0.7V) + drop across Q2ds which probably can be ignored because it will open fully when needed and Ron is 0.021 Ohm.
But the led Vf can be higher than 4V for 100mA and who know how much higher. But it seems like i have only 5-0.7-4=0.3V headroom.
Do you think this is not enough and i should switch to higher voltage power supply? For my project this means 12V. If so, i would probably go for switching regulator because of power dissipation on the FET.
I not even sure that with 100mA the Vf will be within 5V :( No graph for such case in the datasheet, but 100mA is allowed with 1/10 PWM. Any idea what could it be?
oranges0da3 years ago
I'm looking to power 1 or 2 1W LEDs with a 3.7V LI-ion battery... will this circuit work with it?
larams3 years ago
Does the power dissipation of R3 depend on how much of a voltage drop there is? He says .25/R3 will tell us what wattage we need but doesn't really say where the .25 comes from. Does that formula change depending on the supply voltage?

dan (author)  larams3 years ago
P = V^2 / R. V across R3 is constant at about 0.5.
kjjohn3 years ago
In the schematic, the LEDs appear to be wired in series. I have multiple 3v 700mA LEDs, but a 3.7v power source, so I would like to wire the LEDs in parallel. So do I calculate the R3 value for 700mA * the number of LEDs?
letniq3 years ago
Hi, Great article but I didn't understand how to calculate the how many ohm should be R3. For example I'm having 36 3W power leds. 12x3 leds Source: 12V PC PSU LED Forward: 3.2V LED Current: 750mA I will have 9A through Q2 (IRF3205) Q1: 2N3904 R1: 110K It will be great if someone can help me. Thanks.
mertg3 years ago
 Ok. I have a question about this topic. Some people posted comments about this circuit, being not so efficient. I want to ask them, how to measure the efficiency. I built this circuit with an IRF630MFP  and a C3198 from my old CRT monitor chasis.  I put 2 ammeters. 1 for LEDs, 1 for the whole circuit. If I apply 12 VDC and drive 3 PowerLEDs with 349mA, I read 351mA from the ammeter connected to the main supply. The FET is not connected to a heatsink and no heat is produced on the FET. It supplies constant current for leds. Thus can I calculate the efficiency like 349/351 ???
mertg mertg3 years ago
I think I've missed some points. if i calcutale P_in and P_led (P_led / P_in) it becomes 3,35Watt / 4,2 Watt. Thus the circuit is 79% efficient. Is that correct?

Thank you.
Yakumo4 years ago
I don't know how to say it but the Instructable was a little bit confusing even if the schematics are easy to understand. Please don't get me wrong but the "parts used" and "setting the current!"-part are the most important and its kind of hidden in this much extra information. ordering the textparts a little bit different will make it easier for the reader ... I think^^
Thanks for the Instructable made me read a lot about stuff I didn't understood before oh and my LED's are actually emitting light now ^^

@Everyone who cares
I replaced Q1 with an IRF1010N (because of the lack of Fairchild FQP50N06L in the German market) and Q2 with a 2N3904 (hat too much lying around) and it works nicely
zspzs4 years ago

Dear Dan,
Thanks for the article!
I would like to use your current regulator to provide 5A. (For a DC motor.)
Based on the above calcularions in my circuit R3 should be 0,1 Ohm / 2,5W.
Should I modify anything else or that's all?
Can I use 2N5089 instead of 2N5088? The supply voltage is 18V.
Thank you in advance for the answer.

Orikson4 years ago
Hey there,

First of all, I guess the symbol for Q2 is wrong. You write, that you are using a N-channel FET, but in the scematics there are p-channel FET symbols!

Also I'm trying to build this circuit, but it isn't working as I expected. I'm tried a 100k and 1M for R1, 0.85 Ohm (5 watt) for R3 (should be around 600mA), white power LED (3,4 - 3,6V @ 700mA), BD548C for Q1 and IRL540N for Q2 because I already have them. The power supply was a regulated powersupply. I set it to 5 Volts and set the current limiter to 100 mA which I increased slowly up to 600mA.

The problem is, that the voltage wasn't regulated by this circuit! In the end the LED got 4 V at 550mA!

So where is the problem? My Q1 and Q2 seems to have nearly the same technical data, don't they?
Q1 & R3 set up a clasic constant current supply (by def voltage will vary and is not regulated).  The base emitter junction drop is approximately 0.7 volts, as the author noted, this voltage will vary as temp varies (temp variation of diode junstion - exp of absolute kelvin temp).  The current is set by 0.7/R3.  He set the circuit to effect the gate voltage and allow the FET to regulate the power (heat), the R3 power drop is constant i^2 * r, but the FET power will depend on the current, led voltage drop and supply voltage P(fet) = (V+ - V(led) - 0.7) * (0.7 / R3).  As you noted the drop of the LED is not as listed, welcome to the real world.  This is usually a result of heat build up within the LED, but could be normal for your LED. 
While this circuit is not the most efficient from a power view, it is easily one of the best to understand and sets the current with a minimum of components.  This is a good circuit and should perform well with a wide power supply tolerance.  Just monitor the heat dissapated by the FET.
xsmurf6 years ago
In the FET circuit, can I dim the leds by changing R1 to a potentiometer or multi-position switch?
dan (author)  xsmurf6 years ago
no. see the dimming options in the following steps
gopskochi dan4 years ago
cant i adjust the brightness by connecting a pot instead of R1, pls can u brief the theory behind how R3 adjust the current in the led.
bobbyg dan6 years ago
Dear dan, I am designing a light for argicultural applications I want to use 36 k2s red 700 ma 2 watt at 75 lm and 10 royal blue at 620mw 1500ma appx 7 watts I am disturbed because they are charging me almost $300 for the materials and only $100 of it is actually leds the drivers are so much I want to do a 24 x 24" box w/6" overhang where do I start?
gopskochi4 years ago
can i adjust led brightness by making R1 a variable resistor, also i am using a lead acid battery, which will not be connected to any charging circuits when lighting leds. will the brightness remain constant for a few hours as the battery discharges.
osmana4 years ago
hi all,
i want to drive 12x3w power LED's. LED's forward voltages are 3.2V. Total i need 38.4V. How can i drive it.
soovui4 years ago
Dear friend,

I like to make use of this circuit for my LEDs about 18 LEDs in a row. It groups into 3 LEDs in serial and 4 parallel (3 LEDs in serial) in a row of 18 LEDs. Each LED is 1 Watt x 18 = 18watts in a row and also LED is 3 Watts x 18watts = 54 watts in a row.

Anyone can help me on what is the right resistors value for LED circuit 18watts and 54watts?

Your advise and help is very much appreciated.
Thanks and best regards,

ac-dc6 years ago
Efficiency of this circuit is usually as bad as with a resistor. The one large benefit is the variability to different supply voltage like when batteries are used. It does not work as well as a switching current regulator, it does waste as much power as a resistor in typical uses since even one "poorly configured" is an equivalent state to just picking a different resistor. So it is indeed better than a resistor to control current as supply voltage drops but I feel we can ignore this method altogether as there's little point. Switching controllers are not expensive anymore, and smaller, and require fewer supportive parts. Switching controllers are better and cheaper, and faster to implement. Even so, it is good to be thorough showing this method, it just isn't ever the better option _today_ to power LEDs. See my prior comment for sources of the current regulating controllers for about $2 each and no time prototyping to use them.
ewitte ac-dc5 years ago
Please show me a *cheap* switching controller that will drive 56 3w ;) Multiples is ok but when it costs $20 to drive only a small handfull the cost adds up.
alah ewitte4 years ago
Look at Alah´s comment above. Thic IC can drive 6 X 3,6v LEDs at up to 1A from a 24v 10A PS. So you will need ten @ $1.56 = $16.00.

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!