Hello, in this project i want to show you how to make a constant-current source which gives 20mA at the output.
Its also known as LEd driver, because many leds need 20 mA to light up. The input of the constant-current source can be between 5V and 15V DC, what is realy usefull for variable voltage sources. The unloaded output will be the same Voltage as the input -0,7V for the circuid, it will regulate itself when you burden it . You can place 1 to 7 LED´s in a row, without a resistor and without destroying the LED´s / the driver.


The LED will try to get the maximum aviable curent, what is 20mA, if the 20mA are reached the voltage will go down to the voltage which the LED need to have a currend of 20mA and stay there --> LED driver

Step 1: What Do You Need?


a circuit board
1x 39Ohm Resistor
1x 10kOhm Resistor
1x BC547B Transistor (Or equal)
2x 1N4007 Diode (Or equal)


Terminals (like the blue ones on the pictures)
LED´s to test/use it


soldering iron
a Cutter
voltage source to test/use it

Step 2: Assembly

Now solder it together, use the schematic. Importand, eighth at the transistor don´t permute the legs or maybe there will be curents around 200mA (i tested it!! ;) ).
The circuit board i used is 7x8 holes small one, you can make it smaller when you dont use the terminals, a cooling element is not necessary, because it will not heat up that mutch.

Step 3: Testing...

If you assembled it all right together you are ready to test it.
Add a Voltage source, and add a LED, the LED should light up :)

You can place 1 to 7 LED´s in a row, without destroying them and the driver, but then the voltages which the LED´s need added together dont have to exceed the input voltage -0,7V for the circuit.


Input voltage = 9V
Circuit = 0,7V
Red LED´s = 1,8V

0,7V 1,8V 1,8V 1,8V 1,8V = 7,9V < 9V OK
0,7V 1,8V 1,8V 1,8V 1,8V 1,8V = 9,7V > 9V Not OK

Thank you for Reading, feel free to Comment.


To test a LED
for bike lights, the dynamo generate different voltages at different speeds
If you are annoyed to calculate a resistor for a LED

Thank you for reading, you may want to visit my other websites:



great circuit, I made mine as small as possible. orange and black wires are where the power comes in, I got up to 25v, and red and black are where the LEDs go. I have two 75 ohm resistors instead of the 39 ohm one, to handle the extra voltage. thanks for sharing this circuit.
Hi im curios what to use to get power a led at 4 volts 40miliamp from 21 volts
<p>Very cool, Thank you for building it! I will try that with the 75Ohm resistors too! :)</p>
I modified the circuit to run any value, adjustable amperage. But keeping the LED series option, did that sentence make any sense? anyway, I'll post an 'ible on it soon.
<p>I understood the sentence, so i think its okay :D I&acute;m waiting for it ;)</p>
so I did some testing with different input voltages, all at 530mA, and it seems that the mA going through the LED ranges quite a bit depending on the input voltage. This might be part of the circuit's function, but it seemed that it should have constant current even with uneven input. Here are my results with a single 3.6v blue LED: turns on at 2.5v. 10mA @ 3.5v. 20mA @ 4.1v. 40mA @ 5.15v (USB voltage). 60mA @ 7v. 80mA @ 9v. 95mA @ 11v this was as high as I could go, my power supply can go up to 17v, but the circuit would not accept above 11v. anything more and it turned it into heat (it got pretty hot when I tried 17v). just thought I would share this. and I'm currently waiting on a few parts to get here for my 'ible, hope they get here soon!
<p>oh, okay, I will test my circuit too, that seems to be bad. Thank you for sharing!</p>
I finally got around to making my 'ible using your circuit. I'm currently experimenting with a driver circuit I made, I'll post an 'ible on that sometime in the next couple of months. But it is still based off yours.
<p>I&acute;m looking forward to see it :)</p>
<p>I pluged in my led and it went POP!</p>
Hello,I would like to know how to calculate , or what parts do I need for 21 volt source to 4 volt 40 miliamp led
<p>Can i use this for LED with typical rating 1.2V@20mA</p>
<p>Lights, Camera, Action. I built it as a movie light. Thanks for the instructable.</p>
<p>that looks very cool, thank you for sharing it with me! :)</p>
<p>hello there, i really appreciate this tutorial, i made the circuit then modified it for my own use after figuring out how it works, it is using the two diodes to be a very low voltage source the same way as a zener diode would function for higher voltages. the transistor then uses that on its base to basically compare the voltage source to the voltage on the resistor turning more on if the voltage is low and turning more off if the voltage goes higher. meaning there will always be about the same voltage on the resistor as on the base, and as voltage drop over the resistor will vary linearly with the current it regulates the current. this can probably also be a crude voltage regulator as it regulates the voltage on the resistor i might give that a go also. :) anyway i made a video about it on my youtube channel: https://youtu.be/A_1w0LWc3vg <br><br>i had originally wanted this for slowly charging lithium batteries as i do alot of recycling but it has alot of other applications. <br>in the first picture you can see it being used to slowly charge a battery up so i can test it on my charger. the second is the newest version shown in my video with a to-92 7805 for regulating my voltage source which is a 5k pot voltage divider with a 100ohm limiting resistor. it could handle quite a few amps but it can only do less than 800mA on the breadboard and using that resistor bank. it should total 5 ohms but the breadboard adds more and i dont think im getting 5v at the transistor because of the current through the transistor to turn it on and the voltage drop of that itself. before i solder it up i will test to see how i can make it better for higher currents. (maybe darlington setup or even using an lm317 as the voltage source, i also see dan's CC circuit)</p>
<p>Thanks for sharing. I tried this out-used a bc549c and one led with Vf 2.1v</p><p>this is not a constant current source, as it varies with the input voltage.</p><p>but it does limit the current to a reasonable value over the range, and it works from a very low input voltage which is nice.</p><p>I do not understand completely, but i think the voltage drop over the diodes makes the transistor control the current</p><p>2v -&gt; 1.75mA</p><p>2.1v -&gt; 2.8mA</p><p>2.2v -&gt; 4mA</p><p>2.3v -&gt; 5.6mA</p><p>2,5v -&gt; 8mA</p><p>3v -&gt; 9mA</p><p>4v -&gt; 10mA</p><p>15v -&gt; 15mA</p><p>24v -&gt; 19mA</p>
<p>Hi, Thanks for rebuilding my project,</p><p>the current shouldnt change, but it is an interresting effect, I will try it on my circuit!</p>
<p>I just bought this: <a href="http://www.adafruit.com/products/1005#Technical_Details" rel="nofollow">http://www.adafruit.com/products/1005#Technical_De...</a></p><p>...for the color wheel interface. I am using 1-2 RGB LEDs only and would like to drive them with this controller. The current needs to step down from 4A to 30-20mA. Would a circuit like this one work or would I be better off hacking the device? </p>
<p>It should work, the input voltage just has to be 0.7 V higher then the output voltage :)</p>
Which element sets this circuit to 20mA? In case you might need a higher current for a different kind of LED.
Please tell me the current you need, because the maximale current of this circuit is 50mA !!! <br>I will make soon an Instructable with a constant current source which has a higher maximum current :) <br> <br>U1=UD1+UD2-UBE <br> <br>I=U1:RE <br> <br>RE=U1:I <br> <br>I hope it helps :-)
Oh ok, no I was thinking more in the range of 100 mA to 2A, so I'll check out your new Instructable when it's done. I'm not in a hurry or anything just interested in the subject in case I might need it someday!
Ok, done, Current Range: 40mA to 3A Voltage Range: 0,1V to 39V, i will make a Instructable tomorrow :)
Ah that is very multifunctional range, nice!
The simplest way of doing this I've seen , great idea !!! CHEERS!
Thank you :) CHEERS! :)
nice circuit,very well explained. <br>THANKS <br>
Thank you :)
Simple yet elegant, good job.
Thank you :)

About This Instructable




More by Jan_Henrik:How to 3D-Print multicolored obejcts Photography How to make a diffusor for your LED Matrix 
Add instructable to: