I have a circuit which switches 12V to power a 12V, 20mA LED (Marl 512-997-21, RS: 310-6921). I need to modify this to add some simple dimming control. The current circuit doesn't have any resistors in-line, it just switches 12V directly so I assume this LED has a resistor built in.

I have a analogue control voltage available (0-10V), so could I simply feed this into a op amp with 15V supply (large enough to output 12V and suitable power drive capability to source 0.5W) to vary the output voltage? Looking online it seems constant current and PWM control is recommended but this seems a bit overkill for what I'm trying to do requiring additional complexity. I really need this to be as simple as possible with minimal component changes to the existing design whilst still being "good". Linear brightness control would be desirable. Any advise is greatly appreciated. I thought this would be simple looking online but there seems to be some very complex methods of doing this.

  • \$\begingroup\$ Opamp current source perhaps? EDIT: Can't you just feed the signal directly to the LED? Its just 20mA after all \$\endgroup\$
    – Dzarda
    Nov 18, 2014 at 12:25

1 Answer 1


PWM modulation is the way to go with this as it saves wasting a lot of power in heat that an adjustable current source would generate.

Building a PWM control can be done with many types of circuit designs but honestly the simplest to implement may be with using a microcontroller on a low cost board such as an Arduino.

If you want to build your own circuit there are a plethora of circuit resources available on line.

On the other hand if you want to keep your life as simple as possible at very low cost then consider visiting eBay and picking up a low cost adjustable module for a few bucks.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.