As we have seen from a basic investigation into a couple of different current sources in a previous article, the two transistor (TYPE D) current source seems to be the most stable of those tested.  In this article we take a closer look at the TYPE D current source and explain it’s working.


Basically what this little circuit does is maintain a constant maximum current which is influenced very little by variations in the supply voltage.  This is handy where we need higher accuracy or stability than what a resistor can provide.

The transistors used here are PNP types with model number BC560.  Spec sheet

You don’t need to use these transistors – just about any model of PNP transistor can be made to work if you follow the calculations below.

Let’s take a look at how this circuit works

Firstly we need to know what the junction voltage of the transistor we want to use is.  Junction voltage simply means the voltage that switches the transistor on.  It is normally around 0.65V (between the base and emitter) for BJT transistors but can vary a little so it’s best to check the datasheet.

From the spec sheet of the BC560 we can see the Vbe(on) figure for collector currents of 2mA is typically 0.62V with a maximum of 0.7V.  Based on these figures it seems that the 0.65V figure would be a reasonable first try.

Note:  Not all datasheets will show the Vbe(on) figure so in those cases you can either measure this value for yourself or simply use 0.65V which will get you reasonably close.

Now onto the math.  The maximum current is set by resistor R6 in the schematic.  The formula to calculate the current is simply:

I (Amp) = Vbe(on) / Emitter resistor (R6).

For the schematic above, the current is a bit on the high side for the transistors used and they may not actually be able to handle such a high current without overheating, so let’s look at a more practical example where we want a maximum of 20mA.

This calculation is therefore as follows:

I (Amp) = Vbe(on) / Emitter resistor (R6).
0.02A =  0.65V / R6
R6 = 0.65V / 0.02A
R6 = 32.5Ω

This is close enough to 33Ω, so let’s use that as it is a standard value of resistor.

Right, only one more calculation to do and that’s for resistor R7 which sets the reference current for the system.  We want the total reference current to be at least 10x the base current needed for transistor Q3.  Sound complicated?  It really isn’t!  Let’s see how this works:

You will remember that a transistor is a current amplifier:  a small current applied to the BASE pin of the transistor allows a large current to flow between the COLLECTOR pin and the EMITTER pin.

How much does a transistor amplify the current by?  Well, that’s easy to check in the datasheet – just look for the parameter called Hfe.

You may find multiple numbers related to Hfe.  This is because the manufacturer will often lump multiple types of transistors together in a single datasheet and also because they will normally provide the Hfefigure at a couple of different current ratings.  In our case we want the value for 2mA collector current (IC) which is typically 500 and with a minimum of 380.  This simply means that for a given current applied to the BASE of the transistor, it will typically be amplified by a factor of 380 between the COLLECTOR and EMITTER.

A more accurate way of checking the Hfe is to look at the graph normally called “DC Current Gain” in the spec sheet.  The graph shows you the exact Hfe for a specific amount of collector current (IC).  The BC560 spec sheet doesn’t include this and rather has something called “Normalized DC Current Gain” which isn’t as useful to us.

Because doing calculations based on worst case scenarios is good practice, we will use the Hfe figure of 380 in our calculations.

Back to calculating resistor R7.  We want the total reference current through it to be at least 10x the expected base current of transistor Q3.  Well, we know that we want the maximum current flowing through Q3 to be 20mA.  Therefore if the transistor has a gain Hfe of 380 times, then our expected BASE current will be:

BASE Current = COLLECTOR Current / Hfe
Ib (Amp) = IC (Amp) / Hfe
Ib (Amp) = 0.02A / 380
Ib (Amp) = 0.000’053A
Ib (Amp) = 0.053mA

So we need a BASE current of 0.053mA for a BC560 to provide a COLLECTOR current of 20mA.  Remember that we need at least 10x expected base current for our reference?  So the reference current then becomes 0.53mA = 0.000’53A.

If we have a voltage rail of 25V, then the size of resistor R7 will be (using ohm’s law):

R = V / I
R7 = 25V / 0.000’53A
R7 = 47’169.8Ω

The calculated figure is close to a 47kΩ resistor, so let’s use that because it is a standard resistor value.

So we have calculated that for a 20mA current source we need R6 to be 33Ω and R7 to be 47kΩ.  Let’s simulate and see how well our calculated numbers match up with the simulator:


Pretty close!  In reality you will be dealing with small differences between individual transistors as well as the tolerances in resistors so I would say that this is a very good first start.  Now we don’t normally need a current to be exacting, but if you did need a very precise current you would need to individually measure the transistors and then find the exact resistors needed to provide you with the output you need.

Power dissipation

For a current source to be able to deliver a fixed current it must limit the amount of current that can flow.  This is done internally by the circuit and can be viewed as a variable resistance.  The higher the input voltage, the higher this resistance must be to keep the output current steady, and vice-versa for lower iniput voltages.

Because we have “resistance” it also means we are dissipating power through it, therefore things can become hot and care needs to be taken to ensure they don’t become too hot.  So let’s take a look at the power dissipation for our 20mA current source example:

The reference current of 0.53mA = 0.000’53A is flowing through transistor Q4.  The maximum voltage drop across Q4 will be 25V on one side, and 0V on the other side, so it has a maximum voltage across if of the full 25V.

The formula for power dissipation is P (Watt) = V (Volt) x I (Amp)

Therefore, the maximum dissipation for Q4 is:
P (Watt) = 25V x 0.00053A
P = 0.01325 Watt.

From the datasheet we can see the BC560 used here has a maximum dissipation (PD) of 625mW = 0.625 Watt, so we have no problems with dissipation for transistor Q4.

Let’s look at transistor Q3 which has the full 20mA current is flowing through it.  Depending on what kind of load is attached to the circuit, we can have different amount of voltage across the COLLECTOR and EMITTER pins.  I like to use the worst case scenario here, so let’s assume that the full 25V is across Q3.  Our maximum dissipation then is calculated as:

P (Watt) = V (Volt) x I (Amp)
P (Watt) = 25V x 0.02A
P = 0.5 Watt.

Now this is still within the maximum allowed dissipation of 0.625 Watt, but it is close enough to it that we need to give it more attention.

From the spec sheet for the BC560, we find that the thermal resistance junction-air (RθJA) is 200 °C/W.  This means our transistor Q3 will have a temperature rise of:

Temp Rise = RθJA x Dissipation
Temp Rise = 200 x 0.5 Watt
Temp Rise = 100°C above ambient.

Now while the transistor may handle this kind of temperature it isn’t safe to have it running that hot and will shorten the life span of itself and possibly other components nearby.

Fortunately we have some options: Either apply a small heatsink to the transistor, or use a larger transistor, or both.  If you decide to use a different transistor you would obviously need to redo some of the calculations above because the current gain and switch-on voltage may be different.

Voltage and current ratings of transistors

Not all transistors are suitable for all applications, which is one of the reasons there are so many different types around!  In any application, be sure that the transistor has a maximum collector – emitter voltage rating (Vce in the spec sheet) suitable for your application.  In normal practice you would want some headroom, so I wouldn’t use a 20V transistor in an 18V circuit – rather be on the safe side and use a 30V or higher rated transistor.

Similary, always be sure that the maximum current carrying capacity (Ic in the spec sheet) is sufficient for your application.  It is good practice to have headroom available so be sure to over spec this rather than be too close to the maximum.