Simple Led Driver/Constant-current Source 20 MA


Introduction: Simple Led Driver/Constant-current Source 20 MA

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:

2 People Made This Project!


  • Woodworking Contest

    Woodworking Contest
  • Oil Contest

    Oil Contest
  • Planter Challenge

    Planter Challenge

We have a be nice policy.
Please be positive and constructive.




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.

8 replies

Hi im curios what to use to get power a led at 4 volts 40miliamp from 21 volts

Very cool, Thank you for building it! I will try that with the 75Ohm resistors too! :)

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.

I understood the sentence, so i think its okay :D I´m waiting for it ;)

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!

oh, okay, I will test my circuit too, that seems to be bad. Thank you for sharing!

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.

I´m looking forward to see it :)

Hi, can I use the PN2222 transistor instead? and how to change mA and voltage?

Typically what is meant by "current source" is that the current does not vary (substantially) with load. If you look at the circuit schematic symbol for a current source, the supply for the source is not part of it. So, it's inaccurate to say that this is "not a constant current source" because it varies with supply voltage. Exactly what the constant value is will change with supply voltage, which however should be kept constant once a supply/value is selected.

The reason it varies with supply voltage is that the 1N4007 diodes (like all diodes) do not have a fixed forward voltage; above the threshold the forward voltage will depend on the forward current. The forward current is set by (Vin - (2 * Vdiode) / 10k). This roughly corresponds to (Vin-2)/10k since 1N4007s have a nominal forward voltage of 1V, but again the precise value depends on forward current.

I pluged in my led and it went POP!

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

Can i use this for LED with typical rating 1.2V@20mA

Thanks for sharing. I tried this out-used a bc549c and one led with Vf 2.1v

this is not a constant current source, as it varies with the input voltage.

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.

I do not understand completely, but i think the voltage drop over the diodes makes the transistor control the current

2v -> 1.75mA

2.1v -> 2.8mA

2.2v -> 4mA

2.3v -> 5.6mA

2,5v -> 8mA

3v -> 9mA

4v -> 10mA

15v -> 15mA

24v -> 19mA

1 reply

Hi, Thanks for rebuilding my project,

the current shouldnt change, but it is an interresting effect, I will try it on my circuit!

I just bought this:

...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?

1 reply

It should work, the input voltage just has to be 0.7 V higher then the output voltage :)

Which element sets this circuit to 20mA? In case you might need a higher current for a different kind of LED.