Single LED modulation

Hi, apologies if this has come up before, had a quick search and couldn’t find a similar post…

Simple question: I’ve a project where I’m wanting to drive a single LED at a constant frequency (set by software) in a portable device where the lifetime of the LED is critical. I’ve reservations that running the LED in series with a resistor directly off an Arduino output pin will reduce the lifetime of the LED. How stable is the 5V from these pins? I understand that small changes in the voltage can lead to significant changes of current through the LED, so I wanted to consider other options.

The only requirements I have is the circuit needs to be low power (as this is a portable device running off batteries), and the current through LED as constant as possible when it is on.

One option is using the LM334 as a constant current source where the voltage comes from the Arduino pin, switching 0-5V at the desired frequency (which will be in the kHz range).
eg: http://www.wiparat.com/wp-content/uploads/2008/06/calibrated-led-by-lm334.jpg

Any other suggestions welcome… thanks in advance!

I've reservations that running the LED in series with a resistor directly off an Arduino output pin will reduce the lifetime of the LED

Can you explain what leads you to think this? What sort of lifetime do you require?

As long as you operate within the electrical and environmental specs, LEDs will have lifetimes in the tens or hundreds of thousands of hours.

Given the low-impedance of the output, won't small increases in the supply result in large variations in current through the LED? (and thereby possibly damaging it?). With only 5V to play with, I can't use a large value for the series resistance if I want 10-20mA through the LED.

I would have thought using a higher-impedance source be a more suitable solution. I really need a very constant output from the LED when it is on.

Lifetime? As long as possible...

I really need a very constant output from the LED when it is on.

Lifetime? As long as possible...

Need to hang some numbers on those WIBNIs

if I want 10-20mA

You appear to be talking narrow margins, yet specify a 2:1 range.

Until I build and test a working circuit, I won't really know what the output stability requirements are. I'm measuring back scattered light from the LED with a photodiode, and obviously I want the noise to be background limited (ie from the scene) and not as result of variations from the LED. I thought it best to start middle of the road with a constant current circuit rather than something as basic as a resistor in series with the LED from an Arduino pin.

The Arduino will be kept busy during the measurements process (RTC, ADC, uSD logging & controlling a servo motor) and I don't have a feel for any likely variations on the 5V from an output pin. So I guess maybe that would be a more relevant question. How stable is the digital output voltages?

and obviously I want the noise to be background limited (ie from the scene) and not as result of variations from the LED

You should be able to point a reference diode (maybe with optical filtering) directly at your source, and use the reading from that to null-out any variations.

Yeah, I'm considering that also. Trouble is that I'm going to need as much output from the LED as possible that any optics in the path reducing the optical power output will be undesirable. How undesirable - will again be something I'll find out after initial testing. I was also considering monitoring the diode current to use that as a reference.

So you think a basic series resistance circuit will be suitable?

So you think a basic series resistance circuit will be suitable?

Without any form of performance specifications, it really isn't worth commenting. You really should have an optical reference; measuring current won't account for aging of the die affecting output power.

I’ve reservations that running the LED in series with a resistor directly off an Arduino output pin will reduce the lifetime of the LED. How stable is the 5V from these pins? I understand that small changes in the voltage can lead to significant changes of current through the LED, so I wanted to consider other options.

Running off a resistor or constant current will not affect the life time of the LED as long as it is within the parameters of the LED. Wanting to maximise the light output and maximise the light output is a non starter, the more light the shorter the life, simple as that. However LEDs are rated in half life’s the time it takes the output to drop by half.
Small voltage changes only give large current changes if applied directly to the LED, that is why the resistor is there to absorb that change. The arduino logic output is quite stable given a fixed load current. I wouldn’t think it will change by more that 0.5% given a stable supply voltage.