BJT Fundamentals: Operation, Regions & Models
How the bipolar junction transistor works. Learn NPN and PNP structures, emitter/base/collector roles, carrier injection and transport, operating regions (forward-active, cutoff, saturation, reverse-active), current relations (I_E = I_C + I_B, β, α), V_BE and its exponential law, output characteristics and the Early effect, transconductance g_m, r_π and r_o, transition frequency f_T, the Ebers–Moll large-signal model, hybrid-π and T small-signal models, and BJT switching (saturation, storage time) — with Python computing small-signal parameters and sizing a saturated switch.
The BJT is a current-amplifying device: a small base current controls a collector current β times larger — or, more precisely, the base–emitter voltage controls the collector current exponentially. It remains essential in precision analog, RF, power and bandgap circuits.
Understanding its regions and models lets you use it as both a switch and a linear amplifier.
An analogy
A BJT is like a water tap controlled by a tiny trickle: a small flow into the base 'handle' opens a much larger flow from collector to emitter. The ratio between them is β.
Structure and operation
An NPN transistor has a heavily doped N emitter, a thin lightly doped P base and an N collector. Forward-biasing the base–emitter junction injects electrons into the base; because the base is thin, most diffuse across and are swept into the collector by the reverse-biased collector–base junction. Only a small fraction recombine in the base, forming I_B. PNP transistors work identically with polarities reversed.
Regions of operation
Depends on the two junctions:
- Cutoff — BE and BC reverse-biased: I_C ≈ 0 (switch OFF)
- Forward-active — BE forward, BC reverse: I_C = βI_B (amplifier)
- Saturation — both forward-biased: V_CE ≈ 0.1–0.3 V, I_C < βI_B (switch ON)
- Reverse-active — roles swapped: β very low (rarely used)
- Breakdown limits: V_CEO, V_CBO, V_EBO (only ~5–7 V!)
Characteristics and Early effect
Input characteristic: I_B vs V_BE (diode-like, ~0.6–0.7 V). Output characteristics: I_C vs V_CE for several I_B — nearly flat in the active region but tilting upward because increasing V_CE narrows the effective base (Early effect); the lines extrapolate to −V_A on the V_CE axis. β varies with I_C, temperature (+0.5%/°C) and between parts (datasheets give wide ranges, e.g. 100–300), so good designs don't depend on its exact value.
Models and switching dynamics
Ebers–Moll models the BJT as two coupled diodes with current sources — valid in all regions (the basis of SPICE's Gummel–Poon model). The hybrid-π (and equivalent T) models describe small-signal behaviour in the active region. In switching, saturation stores excess charge in the base, so turn-off is delayed by the storage time t_s; Baker clamps (Schottky from base to collector) or Schottky transistors prevent deep saturation. β falls at high frequency: |β(f)| ≈ f_T/f above f_β = f_T/β.
Formulas
- Currents:
I_E = I_C + I_B; I_C = βI_B; α = β/(β + 1) - Exponential law:
I_C = I_S·e^(V_BE/V_T)·(1 + V_CE/V_A) - Small-signal parameters:
g_m = I_C/V_T; r_π = β/g_m; r_o = V_A/I_C; r_e = 1/g_m ≈ α/g_m - Intrinsic gain:
A_0 = g_m·r_o = V_A/V_T - Transition frequency:
f_T = g_m/(2π(C_π + C_µ)); |β(f)| ≈ f_T/f - Saturated switch:
I_B ≥ k·I_C/β_min (overdrive k = 2–10)
Worked example: Currents
Given: I_C = 5 mA, β = 100
Find: I_B, I_E, α.
- I_B = 50 µA
- I_E = 5.05 mA
- α = 100/101
Answer: 50 µA, 5.05 mA, 0.990
Worked example: Small-signal parameters
Given: I_C = 1 mA, β = 200, V_A = 80 V
Find: g_m, r_π, r_o.
- g_m = 1 mA/25.85 mV
- r_π = 200/g_m
- r_o = 80/1 mA
Answer: 38.7 mA/V, 5.17 kΩ, 80 kΩ
Worked example: V_BE shift
Given: I_C ×10
Find: ΔV_BE.
- V_T ln 10
Answer: +59.5 mV
NPN transistor and hybrid-π model
C B ──┬──────┬──── C
│ │ │
B ──┤ NPN (arrow out r_π (g_m·v_be) r_o
│ of emitter) │ │ ↓ │
E E ──┴──────┴──────────┘
Forward-active: V_BE ≈ 0.65 V, V_CE > V_CE(sat) ≈ 0.2 VThe hybrid-π model replaces the transistor with r_π between base and emitter, a controlled current source g_m·v_be into the collector, and r_o for the Early effect — the basis of every small-signal calculation. Capacitances C_π and C_µ are added for high-frequency analysis.
Small-signal parameters and a saturated switch
import math
# BJT fundamentals: current relations, small-signal parameters, Early effect and switching
beta, IC, VA, VT = 150.0, 2e-3, 100.0, 0.02585
IB = IC / beta
IE = IC + IB
alpha = IC / IE
print(f"IB = {IB*1e6:.2f} uA, IE = {IE*1e3:.3f} mA, alpha = {alpha:.4f}")
gm = IC / VT
rpi = beta / gm
ro = VA / IC
print(f"gm = {gm*1e3:.1f} mA/V, r_pi = {rpi/1e3:.2f} kohm, ro = {ro/1e3:.0f} kohm, intrinsic gain gm*ro = {gm*ro:.0f}")
IS = IC / math.exp(0.65 / VT)
print(f"VBE for 2 mA with IS = {IS:.2e} A: 0.650 V; for 20 mA: {VT*math.log(20e-3/IS):.3f} V")
# Saturated switch: 12 V relay coil 240 ohm (50 mA), beta_min 100, overdrive x5
Ic_sw = 12 / 240
IB_req = Ic_sw / 100 * 5
print(f"switch: Ic = {Ic_sw*1e3:.0f} mA -> base current {IB_req*1e3:.1f} mA -> RB = {(3.3-0.7)/IB_req:.0f} ohm from 3.3 V")
fT = 300e6
print(f"fT = 300 MHz -> beta falls to 1 at 300 MHz; at 10 MHz |beta| ~ {fT/10e6:.0f}")
# IB = 13.33 uA, IE = 2.013 mA, alpha = 0.9934
# gm = 77.4 mA/V, r_pi = 1.94 kohm, ro = 50 kohm, intrinsic gain gm*ro = 3868
# VBE for 2 mA with IS = 2.40e-14 A: 0.650 V; for 20 mA: 0.710 V
# switch: Ic = 50 mA -> base current 2.5 mA -> RB = 1040 ohm from 3.3 V
# fT = 300 MHz -> beta falls to 1 at 300 MHz; at 10 MHz |beta| ~ 30At 2 mA the BJT has g_m = 77 mA/V — far more transconductance than a MOSFET at the same current, one reason BJTs excel in low-noise and precision amplifiers. For switching, drive the base 5× harder than β_min requires so the transistor saturates reliably; a 1 kΩ base resistor from a 3.3 V MCU pin switches a 50 mA relay (add a flyback diode!).
Common mistakes
- Wrong: Designing around a specific β. — Right: Use β_min for switches; make amplifiers β-independent.
- Wrong: Exceeding V_EBO with reverse base drive. — Right: Base–emitter breaks down at ~5–7 V.
- Wrong: No flyback diode on inductive loads. — Right: Add a diode across relay coils.
Applications
- Switches: Driving relays, LEDs, buzzers from MCU pins.
- Low-noise amplifiers: Microphone preamps, RF front ends.
- References: Bandgap references use V_BE and ΔV_BE.
- Power: Linear regulators and audio output stages.
Key takeaways
- I_E = I_C + I_B; β = I_C/I_B.
- I_C ∝ e^(V_BE/V_T); g_m = I_C/V_T.
- Cutoff/saturation for switching; active for amplifying.
- Hybrid-π: r_π, g_m, r_o (+ C_π, C_µ).
Going further
- Gummel–Poon model: SPICE BJT model with high-injection effects.
- Heterojunction bipolar transistors: SiGe HBTs for RF.
- Safe operating area: Second breakdown in power BJTs.