The fundamental active devices that make amplification, switching, and all modern electronics possible — comprehensive theory, biasing, configurations, and real-world circuits.
The Transistor Revolution
Invented in 1947 at Bell Labs by Shockley, Bardeen, and Brattain (Nobel Prize 1956), the point-contact transistor was the first solid-state amplifier. By 1954, silicon transistors replaced germanium. Today, a single chip (Apple M2 Ultra) contains 134 billion transistors. The transistor enabled everything from pocket radios to smartphones to AI supercomputers. It is arguably the most important invention of the 20th century.
BJT — Deep Dive
Structure: A BJT is a three-layer sandwich. NPN: N-type emitter, P-type base (very thin, lightly doped), N-type collector. The base-emitter junction is forward-biased (≈0.7V for silicon), base-collector is reverse-biased. Electrons injected from emitter → diffuse across thin base → swept into collector by strong electric field. Key parameters: β (hFE) = Ic/Ib (DC current gain, typically 50-800), α = Ic/Ie ≈ 0.95-0.999, Early voltage (Va) accounts for base-width modulation.
BJT current relationships (active region)
BJT Operating Regions
Cutoff: both junctions reverse-biased → Ic ≈ 0 (switch OFF). Vbe < 0.7V. Active/Forward-Active: BE forward, BC reverse → Ic = β×Ib (amplifier). Vbe ≈ 0.7V, Vce > Vce(sat). Saturation: both junctions forward-biased → Vce ≈ 0.2V (switch ON). Ib > Ic/β. Reverse-Active: rarely used, very low β.
BJT Biasing — Setting the Q-Point
Biasing sets the DC operating point (Q-point) for linear amplification. Fixed bias: simplest but thermally unstable. Rb = (Vcc - Vbe)/Ib. Voltage divider bias (most common): R1, R2 set Vb ≈ Vcc×R2/(R1+R2). Vb fixed by divider → stable against β variations. Add Re for emitter degeneration: negative feedback stabilizes the Q-point. Rule of thumb: current through R1,R2 should be ≥10×Ib for stability. Collector feedback bias: Rb from collector to base, self-correcting but gain-dependent.
Voltage divider bias design equations
BJT Amplifier Configurations
Common Emitter (CE): input at base, output at collector. High voltage gain (Av = -Rc/re), 180° phase shift. Most common. Common Collector / Emitter Follower: input at base, output at emitter. Voltage gain ≈ 1 (buffer), high input impedance, low output impedance. Used for impedance matching. Common Base: input at emitter, output at collector. Low input impedance, high frequency response, no phase inversion. Used in RF and cascode amplifiers. Darlington pair: two BJTs cascaded, β_total = β1×β2 (can exceed 10,000!). High input impedance, but higher Vbe (≈1.4V) and slower.
BJT as a Switch
With a microcontroller (3.3V or 5V GPIO), drive a BJT to switch loads: Base resistor: Rb = (V_gpio - Vbe) / (Ic / β). For a 5V Arduino driving 100mA load with β=100: Rb = (5-0.7)/(0.1/100) = 4.3/0.001 = 4.3kΩ (use 3.3kΩ). Add a flyback diode (1N4007 or 1N4148) across inductive loads (relays, motors, solenoids) to protect against voltage spikes when switching off. For faster switching, add a speed-up capacitor across Rb (10-100pF).
💻 Arduino + BJT Switch Circuit
💻 Arduino + BJT Switch Circuit
// Arduino controlling a 12V relay via NPN BJT (2N2222)
const int RELAY_PIN = 9;
void setup() {
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
digitalWrite(RELAY_PIN, HIGH); // 5V → base → transistor ON → relay ON
delay(5000);
digitalWrite(RELAY_PIN, LOW); // 0V → base → transistor OFF → relay OFF
delay(2000);
}
// Circuit: GPIO → 1kΩ → Base. Collector → Relay coil → 12V
// Emitter → GND. Flyback diode across relay coil.
// Power: 12V supply for relay, Arduino powered separately or via Vin
MOSFET — Deep Dive
Structure: Metal (or polysilicon) Gate, insulating SiO2 layer, semiconductor body with Source and Drain. Operation: Gate voltage creates an electric field that attracts carriers to form a conductive channel between Drain and Source. N-channel enhancement: Vgs > Vth creates electron channel. P-channel: Vgs < -Vth creates hole channel. The oxide layer means virtually zero DC gate current — only charges/discharges the gate capacitance (Ciss, typically pF-nF). This is why CMOS logic has near-zero static power.
MOSFET Operating Regions
Cutoff: Vgs < Vth → no channel → Id = 0. Linear/Triode: Vgs > Vth AND Vds < Vgs - Vth → behaves like a voltage-controlled resistor (Rds(on)). Saturation: Vgs > Vth AND Vds ≥ Vgs - Vth → Id = (k/2)(Vgs - Vth)², constant current. For switching: drive Vgs well above Vth (10V for standard MOSFETs, 3.3V or 5V for logic-level). For amplification: bias in saturation region with a drain resistor.
MOSFET current. k = μn·Cox·(W/L)
BJT
Current-controlled (Ib→Ic)
Gain: β=50-800
Vbe ≈ 0.7V (Si)
Vce(sat) ≈ 0.2V
Lower 1/f noise
Used in precision analog
Easy to bias linearly
MOSFET
Voltage-controlled (Vgs→Id)
Gain: gm=2Id/(Vgs-Vth)
Vth ≈ 1-3V
Rds(on) ≈ mΩ-Ω
Faster switching
Used in digital/power
No input current (DC)
🎮 Interactive: Transistor as Switch
🎮 Interactive: Transistor as Switch
Toggle the base/gate voltage and watch the transistor switch the load ON/OFF with visual feedback.
📡
⚫
Base LOW → Transistor OFF → Load off
Ic = 0 (cutoff)
🔌 Circuit: NPN Transistor Switch
🔌 Circuit: NPN Transistor Switch
5V GPIO → 1kΩ base resistor → NPN transistor → 12V motor load. Toggle switch to activate.
📡 Circuit: Common Emitter Amplifier
📡 Circuit: Common Emitter Amplifier
Voltage divider bias with emitter degeneration. Gain = −Rc/Re. Coupling caps block DC.
Thermal Considerations
Transistors heat up: P_dissipated = Vce×Ic (BJT) or Id²×Rds(on) (MOSFET). Thermal runaway in BJTs: as temperature rises, Vbe decreases (≈-2mV/°C) and β increases → Ic increases → more heat → more Ic → destruction! Emitter degeneration (Re) provides negative feedback to prevent this. MOSFETs: Rds(on) increases with temperature (positive tempco) — self-limiting, safe for paralleling. Heatsink sizing: θ_JA (junction-to-ambient) from datasheet. T_junction = T_ambient + P×θ_JA. Keep Tj < Tj_max (typically 150°C for silicon).
👉 Practical Guide: Choosing a Transistor
👉 Practical Guide: Choosing a Transistor
Small signal BJT: 2N2222/PN2222 (NPN, 800mA, 625mW), 2N3904 (NPN, 200mA), 2N3906 (PNP). Power BJT: TIP120 (NPN Darlington, 5A, 65W), TIP31 (NPN, 3A). Logic-level MOSFET (3.3V/5V gate): IRLZ44N (55V, 47A, Rds(on)=22mΩ), IRL540N (100V, 36A), AO3400 (SMD, 30V, 5.7A). Standard MOSFET (needs ≥10V gate): IRFZ44N (55V, 49A), IRF540N (100V, 33A). Always check: Vce_max/Vds_max, Ic_max/Id_max, P_d_max, package (TO-92, TO-220, SOT-23), and for MOSFETs: gate threshold voltage vs your drive voltage.
🛠️ Design Walkthrough: LED Driver
🛠️ Design Walkthrough: LED Driver
Goal: Drive a 3W LED (3.3V, 900mA) from Arduino (5V GPIO).