I am trying to temporarily fix a current mirror circuit for driving 40 LEDs. Each LED in the circuit represents a custom LED strip that has a forward voltage of roughly 145V and a forward current of 60mA. the problem with the circuit is that the transistors used have a low gain of about 50, which causes the reference string to draw lots of current, about 130mA. This overdrives the reference LED quite significantly. My goal is to reduce the current in the reference string while maintaining the current mirror function.


simulate this circuit – Schematic created using CircuitLab

I have done multiple experiments to figure this out, among which are:

  1. Increasing the reference resistor, R1
  • This does reduce the reference current but it increases the voltage supply. This then increases the Vce voltage of each transistor causing the transistor to dissipate lots of heat.
  1. Increasing the emitter resistor of the reference string, R2
  • This reduces the reference current string to roughly 100mA, as it reduces the emitter current of the transistor in the reference string. However, this causes the total base current to increase by about 25mA. Is there a reason for this increase? The higher I increase the emitter resistor, the drop in current seems to be less significant, is there an ideal value I should use?

Unfortunately, the PCB for this circuit has already been manufactured and assembled. Hence, the only modifications I can make are by replacing components and not adding anything. Any help will be much appreciated. Thank you in advance.

  • \$\begingroup\$ Replace the BJT's with FET's. You may have to hand select FET's with matched Vgs(th) to get decent current mirror-age. Not 100 percent sure this will work but I think it will. \$\endgroup\$
    – user57037
    Commented May 9, 2021 at 2:41
  • \$\begingroup\$ Is there a higher-rated device you could substitute in for D1? Otherwise would it be acceptable to replace D1 with a resistor or just a link? Ultimately the base current for all the transistors has to go through that path. Perhaps just increasing R2 would help, but this would depend on the current gains of the transistors being reasonably well matched, which is unlikely \$\endgroup\$
    – Frog
    Commented May 9, 2021 at 3:47
  • 1
    \$\begingroup\$ Are you really using a \$2.6 \textrm{A}\$ current source rather than a \$2.6 \textrm{A}\$-capable voltage source? If you are, then you should not expect to be able to draw only \$40 \times 60\textrm{mA} = 2.4\textrm{A}\$ from a \$2.6 \textrm{A}\$ current source… \$\endgroup\$ Commented May 9, 2021 at 12:33

4 Answers 4


You should add an extra transistor to reduce the overloading of the reference string:


simulate this circuit – Schematic created using CircuitLab

Note that the Q0/Q1 pair will have a higher voltage drop than the Q1 transistor in your shematic; you should reduce R1 accordingly.

  • \$\begingroup\$ This looks great. Unfortunately, the PCB for this circuit has already been manufactured and soldered on. Hence, the only fix I can make is by swapping one of the existing components and not adding a component. \$\endgroup\$
    – Max
    Commented May 9, 2021 at 2:15
  • 1
    \$\begingroup\$ @Max I believe Q0 doesn't need to be the same beefy SOT-223 transistor as everything else....so what if you just used a TO-92, cut some traces, and bodged it on? If you're experienced at rework, you might even be able to identify a clever spot to cut such that you can scrape off some solder-mask to anchor two pins of a SOT-23 and just run a 30AWG wire for the third pin. \$\endgroup\$
    – Ste Kulov
    Commented May 9, 2021 at 5:14
  • \$\begingroup\$ I'm going to attempt this, I also have to see if it's practical to replicate this on almost 200 boards. However, the idea of using the SOT-23 package transistor is great and may fit just nicely. \$\endgroup\$
    – Max
    Commented May 9, 2021 at 9:27
  • 1
    \$\begingroup\$ @Max Do you mean you manufactured 200 boards and then figured out it did not work as fine as you expected? \$\endgroup\$ Commented May 9, 2021 at 12:19
  • 2
    \$\begingroup\$ @Max If your transistors’ bases need \$70 \textrm{mA}\$, then the Q0 transistor will have to dissipate \$145 \textrm{V} \times 70 \textrm{mA} = 10.15 \textrm{W}\$, which requires quite a beefy transistor. Then I think you should replace your transistors Q1 to Q40 with transistors with a higher gain. Or you should consider mkeith’s answer and replace them with MOSFETS… \$\endgroup\$ Commented May 9, 2021 at 14:08

The problem with your circuit is that the base currents for all of the transistors flows through the D1 string, as well as the collector current for Q1.

User2233709's answer shows a good, and commonly used solution to that problem. That is, the use of an "emitter follower augmented current mirror" or a "buffered feedback current mirror". The idea is that the base current is separated from the reference current.

Unfortunately, the PCB for this circuit has already been manufactured and assembled. Hence, the only modifications I can make are by replacing components and not adding anything.

This poses a serious problem. :-(

What needs to be done is to change both the emitter resistor of Q1 and Q1 itself.

To decrease the current through the D1 line without decreasing the current through the other lines, you need to

  • decrease the current through the collector of Q1
  • maintain the same voltage at the bases of the transistors, and hence the collector of Q1, to which the bases are tied.

The difficulty is in choosing a transistor that will be a suitable substitute.

Since you want 60 mA through all the lines, and the emitter resistors for the lines other than D1 are 8.7 \$\Omega\$, there is about 522 mV across each emitter resistor.

Since you say the gain of the transistors is about 50, and there is 60 mA through their collectors, the base current for each transistor is about 1.2 mA. You have 40 strings, so the total base current is about 48 mA. So, ideally, you want the current through the reference transistor's collector to be only about 12 mA.

(I think you can already see that errors in estimations will pose problems).

12 mA is 1/5 of 60 mA, so to maintain the 522 mV across the emitter resistor, the R2 must be increased to 8.7 x 5 = 43.5 \$\Omega\$.

The \$V_{BE} : I_C\$ relationship for a diode connected transistor is given by

$$I_C = I_S( e^{\frac{V_{BE}}{V_T}} -1 ) \approx I_S e^{\frac{V_{BE}}{V_T}}$$

where \$I_S\$ is the reverse saturation current.

To reduce \$I_C\$ to 1/5th it's value, you need to find a transistor which has an \$I_S\$ 1/5th that of the BF720.

Unfortunately, but not surprisingly, the datasheet of the BF720 does not list a value for \$I_S\$. Nor does it have a graph or datapoints for the \$V_{BE} : I_C\$ relationship from which one might compute \$I_S\$.

If one has really good SPICE models of the BF720 and other transistors it might be possible to find a transistor that, in theory at least, has an \$I_S\$ 1/5th that of a BF720. Or one might choose a transistor that has 1/5th of the rated current of a BF720, in the hopes that the current rating is approximately proportional to \$I_S\$. But in the end, one must test such a transistor against a BF720 to determine if it really does conduct 1/5th the current when diode connected, at the same \$V_{BE}\$.

Success is far from guaranteed. :-( Sorry for the bad news.

As @mkeith has suggested, you might try replacing all of the transistors with MOSFETs. Mosfet current mirrors have different problems, but at least you will not have the problem of too much base (gate) current flowing through the reference line.

  • \$\begingroup\$ Thank you so much for this answer. Yes, I agree that the BF720 datasheet lacks a lot of information. Additionally, the gain is not a constant has varied from 30 to 50 due to the heat generated from the transistors I assume, making calculations very hard. At the current moment, I have replaced R2 with a 220ohm resistor and my Iref goes down to about 100mA and Ie of Q1 is 1mA. It's not the best but if there is nothing fundamentally wrong with this, I will probably go with this, as I will be doing a full PCB swap with a new design in the near future. \$\endgroup\$
    – Max
    Commented May 9, 2021 at 3:48
  • 1
    \$\begingroup\$ Better BF720 datasheet. See Figure 4. \$\endgroup\$
    – tim
    Commented May 9, 2021 at 3:54

While I am not 100 percent sure this will work, I don't see why it shouldn't. Replace all the BJT's with MOSFET's. For example this MOSFET: FQT4N20L.

This is a 200 V N-channel MOSFET. Safe operating area chart indicates that it can tolerate up to 36V at 60 mA. So it would be important to make sure that VDS does not go over that.

Footprint is compatible with your BJT. It is not common to see current mirrors designed with discrete MOSFET's. You may have to buy extra parts and match them by hand to make sure VGS(th) is compatible. But maybe not. You might get lucky and find that all the parts you get from the same reel match within 10 mV or something. And the fact that you have resistors in series with the emitters (sources) will help compensate for mismatch, I think.

Since I have never actually designed a discrete NMOS current mirror, I cannot vouch for this circuit. But I think it will work. The reason this will help is that it will essentially eliminate base currents. If you can keep all the MOSFET's at the same temperature (including the all-important reference MOSFET) that will give you your best chance of success.

VGS(th) is listed as ranging from 1-2 V at 25 C. This large spread is one of the reasons that people usually don't use discrete NMOS for current mirrors! This is also the reason you might need to hand-select closely matched parts.

  • \$\begingroup\$ I thought the main reason for not making a discrete NMOS current mirror is because body is always connected to source, and in ICs the NMOS's always have the bodies connected directly to VSS across the entire wafer. If there were no ballasting resistors, then I suppose it wouldn't matter...but I think they're needed to curb the matching problem you mention. \$\endgroup\$
    – Ste Kulov
    Commented May 9, 2021 at 5:24

The design below has the following properties:

  • If any of the strings other than string #1 fail open, the current is distributed equally among the remaining strings.

  • If string #1 fails open, the current is passed onto string #2; the rest of the strings work as before.

  • Scaling to more strings only involves a decrease in the value of R12.

  • It has relatively low sensitivity to transistor beta variations.


simulate this circuit – Schematic created using CircuitLab

Unfortunately, the PCB for this circuit has already been manufactured and assembled.

Hopefully that mistake won't be repeated :)


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.