I want to make a constant current source for a few dozen (say 30~60) 2-lead bipolar LEDs by combining a constant-current (CC) source circuit with an H-bridge circuit:


simulate this circuit – Schematic created using CircuitLab

Here the CC source can provide a constant current, but only in one direction. The H-bridge can drive both polarities of the LED, but is a constant-voltage source (VCC or GND). Here's my combination:


simulate this circuit


When signal A is active (low), the CC source with Q3 is biased active and VCC is applied to the anode of D1, causing it to illuminate. Since signal B is inactive (high) the CC source with Q5 is inactive since Q8 is inactive, and VCC cannot 'reach' the collector of Q3. When the signals are reversed, an equal but opposite operation occurs so D2 is illuminated. Software will ensure both A and B are not active simultaneously.


  1. Anyone see any inherent problems with the circuit?
  2. I don't have a ton (or well-suited) high-power PNPs lying around, so can anyone think of a way to substitute in my abundant TIP120s (Darlington NPNs)?
  • \$\begingroup\$ Your #2 question ("high-power") suggests to me you want to have all 30-60 in a single circuit. So is this 30-60 LEDs in a single circuit? Or 30-60 separate circuits with only one bipolar LED each? And are these red-green bicolor LEDs? \$\endgroup\$
    – jonk
    Jun 21 '17 at 4:17
  • \$\begingroup\$ Indeed I do to the latter -- apologies that I wasn't that clear. These red-green LEDs will all be in parallel; the D1-D2 pair represents a single LED. \$\endgroup\$ Jun 21 '17 at 12:55
  • \$\begingroup\$ So quite a lot of current? Have you decided how much current? And do you have an "efficiency" goal? Or are you okay with significant wasted power. \$\endgroup\$
    – jonk
    Jun 21 '17 at 17:37
  • \$\begingroup\$ It's kind of a push-pull design right now: let's see how many LEDs I can power with the parts at hand. I'd like to shoot for around an amp or two (~50 LEDs) and I have a lot of TIP120s sitting around waiting to be used. I have some IRF731s, too, but I bought a bag of them and just worry about their integrity (long-term and short-). I know bipolar transistors are a bit wasteful, but I don't have power or size constraints. \$\endgroup\$ Jun 21 '17 at 20:08
  • \$\begingroup\$ TIP120 can be used, at least in part. What do you have for the high side, though? What kind of PNP-related device do you have for that? (IRF731 is N-MOS, I think.) So you want a way to use TIP120's "all the way down?" I think that would be... tricky. Willing to buy anything at all? Oh. What's your Vcc? \$\endgroup\$
    – jonk
    Jun 21 '17 at 20:21

Given that's what you have (TIP120s) in abundance and hoping for an amp or two of current, I give a shot to the idea of using those TIP120's as your power pass devices, all around. The active TIP-120's (Darlingtons) will each require about \$V_{BE}\approx 1.3\:\textrm{V}\$ and, if you are lucky, may present as little as \$V_{CE}\approx 600\:\textrm{mV}\$.

This may be in the direction you want:


simulate this circuit – Schematic created using CircuitLab

Loading on your \$5\:\textrm{V}\$ I/O pins should be very modest (perhaps under \$1\:\textrm{mA}\$) even with relatively high load currents. I've set this up for about \$1\:\textrm{A}\$ through the diodes. Each half-bridge is independent of the other one. So you drive \$A=5\:\textrm{V}\$ and \$B=0\:\textrm{V}\$ for one current direction and otherwise \$A=0\:\textrm{V}\$ and \$B=5\:\textrm{V}\$ for the other current direction. To shut it off, just drive \$A=0\:\textrm{V}\$ and \$B=0\:\textrm{V}\$, which will leave both ends of the LED array near \$12\:\textrm{V}\$ and without any current.

The basic problem in all this is wasted power. But there's nothing much to be done about it, without a complete re-design to use a switcher arrangement. Since this is entirely linear, the power sources from a \$+12\:\textrm{V}\$ supply rail, and the LEDs don't need more than about \$\frac{1}{4}\$ of that, the other \$\frac{3}{4}\$ is wasted. So at best, this is about 25% efficient.

At \$1\:\textrm{A}\$ and \$12\:\textrm{V}\$, there will be \$12\:\textrm{W}\$ of power. And that means about \$9\:\textrm{W}\$ is wasted. Plan for at least \$2\:\textrm{W}\$ each for \$R_1\$, \$R_2\$, \$Q_1\$, \$Q_2\$, \$Q_3\$, and \$Q_4\$. That totals more than the expected waste of \$9-10\:\textrm{W}\$, but the exact distribution varies a little. Roughly speaking though, that gives you an idea of about how much waste there will be. And there's not a lot to be done about it.

Yeah. You do need to find some NPNs. But they can be any small signal TO-92 type.

I've added resistors to each of your LED pairs to help share LED currents. If you don't do that, and instead just paste them all together, you can be pretty sure that some of them will hog a lot more current (unless you have a pre-sorted batch to work with.) I couldn't imagine trusting them without something there to help share out the current. You have some headroom to work with, so you can consider different values than I offered here. (\$R_7\$...) Larger values will help share the currents better but will require more headroom. Luckily, you have the headroom. So you can afford to waste some drop across these to improve current sharing. It also helps to lighten up the dissipation problems with the other parts I mentioned, too.

  • \$\begingroup\$ Ah very nice! Good call on the 15R load-sharing resistors, and indeed the small NPNs are no problem. I may experiment, too, on using the 5V rail instead just to see if it'd work--probably reducing R7.. and R1-R2 to 10R and 1R, respectively. That power dissipation hurrrts when I actually see it calculated. \$\endgroup\$ Jun 23 '17 at 1:09
  • \$\begingroup\$ I believe you'll find that the high-side drivers, even though Darlilngtons, will not turn on very will, and you'll have large voltage drops. \$\endgroup\$ Feb 25 '19 at 0:55
  • \$\begingroup\$ @WhatRoughBeast The op had wanted me to consider using his "abundant TIP120s" to the exclusion of all else. I hated even trying. But I tried. And I still didn't achieve it because I added in regular BJTs, anyway. Also, those are simple bipolar LEDs so they can accept quite a voltage drop from the high side and low side and still have enough headroom left over in order to function. I'll take another look, tomorrow perhaps, and see if I can improve the answer more since you've brought me back to it. \$\endgroup\$
    – jonk
    Feb 25 '19 at 6:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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