I came across a constant current source calculator at Electronic Product website:enter link description here

For example, for a 13.5V input, 300mA output, it comes out the following parameters:

R1: 4.5 ohm
R2:  45 ohm
R3: 382 ohm

I put the circuti in LTSpice with above values, and set 2N2907 for Q1 and Q2, a Load resistor of 10Ohm then measured current at each node:

I1:     247 mA
Iout:   245 mA
IB-Q1:  1.6 mA

I2:    27.5 mA
I3:    29.1 mA
IB-Q2:  119 uA

How can I calculate current through each component manually?

enter image description here

  • \$\begingroup\$ This is not a constant current circuit unless E1 is constant, \$\endgroup\$ – Henry Crun Jun 13 '18 at 5:55
  • \$\begingroup\$ There are lots of ways of approaching this. It appears that the calculator site you picked has set the ratio of R1 and R2 to 10. Never changes. They also use 10% of Vcc across R2, for computing purposes, I think. It's cast in concrete, they way they handle it. What do you want to do or understand? \$\endgroup\$ – jonk Jun 13 '18 at 8:26

If you redraw that circuit, it can be seen that it's actually a PNP current mirror with R3 (and Vbat) setting the current:


simulate this circuit – Schematic created using CircuitLab

Usually R1 and R2 will have the same value and Q1 and Q2 should also be identical, then you can determine the collector current of Q2. Then Iout will have a similar value (in first order, ignoring secondary effects like Early effect).

Humpawumpa's answer shows how to calculate the current so no need to repeat that here.

Calling this a constant current source is stretching the truth a bit, the current depends on the value of R2, R3 and Vbat, bit also a bit on temperature (Vbe will change over temperature). But if Vbat and R3 have a high enough value then the transistor variations will become less relevant and the current will be fairly constant. This circuit can be good enough to bias the input stage of an audio amplifier for example.


With R2, Q2 and R3 you set the base of Q2 and Q1 to the level of UR3, let's call this the regulation path conduction IReg. Current flowing in this path is

\$IReg = (E1-0.7V)/(R2+R3) = ~29.97mA\$

By choosing the ratio between R1 and R2 you define the ratio between the current through Q1 and Q2 - as the two bases are fixed to the same voltage level. When you try to draw more current on IOut, the increasing voltage drop on R1 will cause a lower collector-base voltage drop on Q1 and therefore regulate the current to

\$IOut = IReg*R1/R2 = 299.7mA\$

As correctly stated in the comment, if the calculation has to be accurate one has to take the base current of Q1 into account that will additionally flow through R3.

  • \$\begingroup\$ Note that using the R1/R2 ratio to change the output current works better (more accurate) when the voltage across R1, R2 is larger. Ideally you would also need to scale Q1/Q2 the same as R1/R2 but that is something we can only do on a chip. What can be done is use multiple stages like R1+Q1 and connect the outputs together. It all depends on how accurate you need the current relation to be. \$\endgroup\$ – Bimpelrekkie Jun 13 '18 at 6:26
  • \$\begingroup\$ Note that value for $ I_reg is assuming no base current flows through Q1. \$\endgroup\$ – Your IDE Jun 13 '18 at 6:45
  • \$\begingroup\$ Yes, I neglected that for a better understanding. Of course if the calculation has to be accurate one has to take the base current of Q1 into account that will additionally flow through R3. I'll add that to the answer, thanks. \$\endgroup\$ – po.pe Jun 13 '18 at 6:59

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.