I've recently started a project that has some pretty loose specifications. I need to develop an LED driver that can take an input of somewhere between 7.2 and 24V, and drive an LED panel at 30V with a max of 0.7A. However, via a microcontroller I need to be able to adjust the output current to alter the brightness of the panel.

I've had a look around and I can't really see any sort of boost converter that will allow me to easily adjust the current, so I'm a bit stuck in terms of the parts I'd have to use for this.

My thoughts so far are possibly a configurable boost regulator strung in line with a constant current source, linked to a digital potentiometer. This seems a little messy though, there's surely an easier way...?

  • \$\begingroup\$ I am a little confused, do you want to drive the LEDs with 30V or 0.7A? Constant current driving works with adjusting the voltage across your LED panel to produce the desired 0.7A tru it. Or maybe 0.7A is your maximum current limit, so the current can be anywhere from 0A to 0.7A as long as there is 30V across the LED panel? \$\endgroup\$
    – Golaž
    Commented Aug 1, 2015 at 16:06
  • \$\begingroup\$ Check out lm3414. I think it does exactly what you want \$\endgroup\$
    – Gilad
    Commented Aug 1, 2015 at 18:35
  • \$\begingroup\$ Sorry, yes. As its an LED driver the current needs to vary in order to vary the brightness, so I suppose itd be constant voltage, adjustable current \$\endgroup\$
    – Sensors
    Commented Aug 2, 2015 at 10:16

2 Answers 2


What you normally do is configure the LED driver to output the current that corresponds to maximum brightness and use PWM dimming from the microcontroller when you need a lower brightness, without changing the driver's current. It is easier to implement and avoids the issue that the color of a LED changes at very low currents, eg. a nice warm white LED could look greenish. With PWM dimming the current and therefore color is always the same, you only change the duty cycle.

So what you need ideally is a 0.7 A boost LED driver (current-regulated) with a PWM dimming input. Are you looking for a ready-to-use module or a chip that you'll integrate into your own circuit?

You could use a voltage-regulated boost converter followed by a step-down current regulator/LED driver, but in this case the losses will add up, eg. if your regulators are 85% efficient each you will have an overall efficiency of 72% only.

  • \$\begingroup\$ If the OP is going with your solution I would advice him to also incorporate current limiting circuit. At 21W of power he might have problems with thermal runaway. \$\endgroup\$
    – Golaž
    Commented Aug 1, 2015 at 18:07
  • \$\begingroup\$ Yes, I mean a current-regulated boost converter. \$\endgroup\$ Commented Aug 1, 2015 at 18:25
  • \$\begingroup\$ Good to know about the colour change. I'm not 100% sure that PWM dimming is an option due to the applications of the LED panel, but if it is then it certainly seems like an easier route to go down. Efficiency is important, but mostly to reduce heat dissipation. It's possible I could also drive the panel at a much higher current but lower voltage but my instinct was to avoid that since the ESR of inductors, capacitors and PCB traces would dissipate more heat. \$\endgroup\$
    – Sensors
    Commented Aug 2, 2015 at 11:38
  • \$\begingroup\$ The forward voltage of a LED cannot be changed at will, so for a given panel you don't have the option of lower voltage/higher current for the same output power. You need a power source with a max voltage >= the panel forward voltage and a current regulator <= the max panel current. \$\endgroup\$ Commented Aug 2, 2015 at 19:17
  • \$\begingroup\$ If PWM is a no-go, TI (there are others) have a number of ICs that have both PWM and analog dimming (where you control the output current with a resistor, which could be a digital potentiometer because it does NOT have the full LED current going through it like the current-sense resistor of a typical current regulator). For instance the LM3421, LM3423, LM3424, LM3429, TPS40211, TPS92601. I suppose you could even find specialised chips with I2C control, but I don't have a reference. \$\endgroup\$ Commented Aug 2, 2015 at 19:31

You have a microcontroller in there already anyway, so have it drive the boost converter directly. Many many micros come with PWM generators intended to run switching power supplies, motor drivers, and the like. If you don't know where to start, check out the dsPIC 33 series.

Using a micro to drive a single step converter simplifies things in this case. You could use a small low side current sense resistor that develops a few 100 mV at the maximum of 700 mV output current. Let's say you use 1 Ω for sensing the current. That means the resulting voltage will be 0-700 mV. With a 12 bit A/D and 3.0 V reference, that still gives you a resolution of over 950, or almost 10 bits. That should be plenty.

Since a little bit of ripple isn't a big deal when driving LEDs, you could use a simple pulse on demand system. Every 10 µs, for example, you take a new A/D reading and decide whether the current is above or below the regulation threshold. You then either do a full size PWM pulse or not. Since the regulation threshold is in firmware, it can be easily changed via commands from the host, or a dimmer pot input, or whatever.

A more fancy scheme keeps the PWM running, but tweaks the duty cycle up and down depending on what the actual current is relative to the desired value. You could do a simple scheme where the PWM duty cycle is bumped up or down a small amount each pulse, or go all the way with a full blown servo controller. Unless a few percent ripple actually matters, the latter is overkill.

The boost converter in this case would require a low side switch, inductor, Shottky diode, and cap across the LED and resistor series string. For simplicity, use a NPN as the low side switch as it will be simpler to drive from the 3.3 V PWM digital signal. For a little more efficiency, use a N channel FET.

Take a look at my KnurdLight project. It's using a tiny micro to drive the switch of a boost converter to regulate the current thru a string of LEDs. In this case the current was fixed at 20 mA and the current sense resistor output was compared to a 600 mV reference built into the micro. This micro has no PWM generator, so the pulse are generated directly by firmware instructions. The firmware waits in a loop until the current falls below the regulation threshold, then it emits a pulse and goes back waiting for the current to be below the threshold again. And yes, it works very nicely.

  • \$\begingroup\$ Whoever downvoted this, what exactly do you think is incorrect, misleading, or badly written? Silent downvotes do this site a disservice. \$\endgroup\$ Commented Aug 2, 2015 at 20:49

Your Answer

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

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