# How to calculate the resistor values of a transistor circuit?

I am using an MMBT3904 NPN transistor.

Let's say VCC = 12 V, RC = 4.7 kΩ, and the output voltage of an I/O port is 3.3 V.

Based on this information:

1. IC = 12 V / 4.7 kΩ = 2.55 mA. The hFE of the transistor is 100, so IB = 25.5 μA. If we calculate RB: RB = (3.3 V - 0.7 V) / 25.5 μA = 100 kΩ.

Isn't this RB value big?

1. As a second method, can we determine the RB value ourselves? Let's say we want to use a 1 kΩ RB resistor. IB = (3.3 V - 0.7 V) / 1 kΩ = 2.6 mA and hFE = 100, so IC = 26 mA.

Considering that the RC resistor is still 4.7 kΩ, the IC current will remain constant at 2.55 mA. In this case it can withstand up to 26 mA for IC and our IC current is 2.55 mA. So can we say that it should work without any problems? But this time IB is bigger than IC.

Which opinion is correct? Is it okay if I use a 100 kΩ RB resistor?

• 100 times 2.6mA is not 26mA, and 100k for a base resistor is perfectly normal. Sep 2, 2022 at 7:20
• @SimonFitch, I guess I still haven't woken up. At first I calculated the Rb 10K :') By the way, thank you. I'm going to try 100K after calculating again Sep 2, 2022 at 7:26
• You should try creating a schematic and simulating your circuit. That should give you all you need to know, and if you have further questions, it makes it much easier for us to help. Sep 2, 2022 at 7:44
• @PStechPaul, tinyurl.com/2otzhc55 I simulate this circuit using falstad and changed the resistor values Sep 2, 2022 at 7:57
• The accepted answer does not appear to match up with the question asked. Sep 5, 2022 at 8:36

Isn't this RB value big?

Yes it is.

If you are trying to activate the BJT down to quite a low voltage (ostensibly 0 volts) between collector and emitter, you can't rely on hFE remaining 100. As the collector voltage drops below circa 1 volt, hFE will progressively degrade from about 100 to about 10.

So, to reliably turn on your BJT, engineers would use a much lower hFE value. You can get a feel for it from the data sheet: -

The right hand value is 200 mV (a maximum) and this is the collector-emitter voltage drop when the BJT is activated and 10 mA collector current is flowing (see conditions column). Note also that the conditions column implies a hFE of only ten i.e. IC = 10 mA and IB = 1 mA.

You should choose a base resistor that allows a base current of more like 260 μA to flow i.e. 10 kΩ.

• I'm a little confused. When I look at the datasheet, 50 uA Ib current corresponds to 10 mA Ic current in Figure 1. Is it enough for me to generate 50 uA current under these conditions? Base current must be about 75 uA ~ 80 uA when I put 33kOhm and I think this circuit will work for deactivating PMOS. Simulation: tinyurl.com/2otzhc55 Sep 2, 2022 at 8:52
• Look very carefully at figure 1 and note the words: VCE = 1 V. If you want to turn on your BJT below 1 volt then you have to degrade the hFE. Hence why I showed the extract in my answer and not figure 1. Sep 2, 2022 at 8:58
• Vce = Vcc - IcRc > Vce = 12 - (8 mA x 1kOhm) > Vce = 4V... I can increase the current Ic by reducing the resistor Rc, which in turn raises the voltage Vce. Then I don't need to consider Vce = 1V. Is it a correct thought? Will keeping Vce above 1V work for me? Sep 2, 2022 at 9:15
• Imagine your transistor is a poorly conducting relay contact and ask yourself how much voltage can you tolerate across the contact when it closes. I can't give you that answer; you have to decide what is acceptable or not @harmonica but, if you do decide 1 volt is OK then you'll only see 11 volts across Rc. Sep 2, 2022 at 9:35

To answer your title question requires knowledge of the circuitry connected to the transistor. The circuit in your simulation uses a 1k collector resistor not 4.7k as in your question. The current in the 1k resistor, RGS, is shown as ~8mA. This means that VCE = 12-8 = 4V. However in your question, VCE is assumed to be 0V and the collector resistor to be 4.7k.

So ,if I may work with the simulation schematic:

The first step is to determine how big VGS of the FET should be. Most FETs work up to 20V. Vgs should be higher than the Miller voltage to get a low RdsON. 8V to 12V is not unreasonable and not critical within the range. If VCE is 8v the 3904 is not in saturation. If Vce is < 200mV, then it is in saturation. The saturation characteristics are specified differently in the spec sheets

When not in saturation the collector is considered a current source. So the current will not change by adjusting RGS. But VCE will. When in saturation VCE will not change (maybe a little) but the current will. Most of the time the transistor will be set to switch just into saturation to improve turn off time. The spec sheets are all based on IC/IB = 10. Notice that hFE and hfe are used for the non-saturation, while IC/IB is used for saturation. So RGS is picked for three targets:

1. Low value for fast FET turn-off.
2. Low VCEsat for low power consumption
3. Ic < Icmax

It is a trade off. From Figure 6 in the datasheet the lowest VCEsat occurs at about 8 mA. Using this operating point and VCEsat of 200mV max, then RGS = 1.5k.

If you want a higher current say 20mA then RGS = 0.59k.

To continue I will use 1.5k, 8mA.

The next question to ask is how much base current. HFE varies wildly from part to part and over temperature. So choose the lowest value assuming not in saturation. From the datasheet this would be an estimate of 90. Others might say something else. The important point is to make your best estimate.

So IB = 89uA (just barely saturated). The datasheet uses IC/IB = 10, so that would give IB = 800uA (Hard saturated). If I want to have fast turn-off, being closer to 89uA is better. If I want noise immunity then being close to 800uA is better. I am going to choose 200uA, then test when I build.

The datasheet says that the VBEsat is less than 850mV. So this is the one to use.