Arduino High Power LED

Thread Starter


Joined Aug 26, 2010
HI all,

I would like dim a blue high power LED using an arduino uno.
The LED is 3W blue 4.8v 700mA.
Does anyone know of a simple constant current circuit that can be dimmed using the PWM from the arduino?

Thread Starter


Joined Aug 26, 2010
I'm a bit too much of a novice to be able to choose the correct components to recreate the IC circuit the resistors and the NPN transistor I have but Q1 I have no idea what it is.
It looks a bit like a variable resistor with a diode strapped across the back of it.


Joined Sep 9, 2010
It looks a bit like a variable resistor with a diode strapped across the back of it.
Huh? What looks like that?

That 3rd (lightbulb) circuit will work for you. Your TIP122 is rated to a higher voltage than the TIP120 but is otherwise identical, so it'll be fine too.

For the LED, I'd aim to start with about half the rated current and only raise it once I was convinced everything is hunky dory. So you need 300mA from an 8V drop in voltage (supply - Vf). Ohms law ∆V = I•R 8v = 0.3A•x x = 27Ω

You need to consider heat. Your LED needs a heat sink and your resistor will dissipate I^2•R watts, so 0.3^2•27 = 2.43 watts. I'd use a resistor rated to at least 5W. If you eventually get up to, say, 600mA, you'll need 0.6^2•15=5.4W (rough numbers). So a 10W rated resistor, to be safe.

This all assumes continuous operation. That's the safe way to design it. If you KNOW the duty cycle will never exceed, say, 50%, you could think about skimping on heat management. Not the way I'd do it, I'm just sayin'.
Last edited:


Joined Apr 24, 2011
Here's two basic methods. One of these should work nice for you:

Both are for 3.3V or 5V logic inputs. Most any NPN transistor will work, such as a 2N2222A.

The first is pretty simple and best when you're running your LED off a voltage larger then 5 volts. The transistor will be in the active mode to help dissipate off power. I used this method on a job where my power varied between 10 and 40 volts. You select R1 by the following:

R1 = ( Vin - Vbe) / Iled = ( 5 - .7) / .7 = 6.14 ohms

Power(R1) = I^2/R = .7 x .7 / 6.14 = .0798

The closest standard value I found was 6.19 ohms in 1/8 W or 1/4 W (better) versions.

The next version is a bit more typical and uses the transistor as a saturated switch. R1 is selected by:

R1 = (Vdd - Vled) / Iled = (5 - 3.8 ) / .7 = 1.74 ohms

Power(R1) = I^2/R = .7 x .7 / 1.74 = .28

Unbelievably 1.74 ohms is a standard value available in 1/2W (not recommended) to 1W (Mikey likes) versions.

(Parts found off Digikey)