BJT vs MOSFET: Which Transistor Should You Use?
Last updated 29 June 2026 · 8 min read
Direct Answer
For most switching applications in modern circuits — particularly those driven by microcontroller GPIO pins — the N-channel MOSFET is the better choice. It requires no gate current in steady state, switches faster, has lower conduction loss at high currents, and is easier to interface to 3.3V or 5V logic with logic-level devices. The BJT is preferred when: precise linear gain control is needed (op-amp output stages, class-A audio amplifiers), the switch is driven by a current-mode circuit (some LED drivers, relay drivers using an existing current-output circuit), or a simple NPN/PNP push-pull stage is designed into a legacy schematic. For power electronics above a few watts, the MOSFET almost always wins on efficiency and switching frequency.
Detailed Explanation
The choice between a BJT and a MOSFET is one of the most common component-selection decisions in hardware design. Understanding the fundamental difference — current-controlled vs voltage-controlled — and the practical implications for drive circuitry, switching speed, efficiency, and thermal behaviour allows you to make the right choice for each application.
Fundamental Difference: Control Mechanism
BJT (Bipolar Junction Transistor):
- Current-controlled. The collector current (Ic) is proportional to the base current (Ib): Ic = hFE × Ib.
- The base-emitter junction is a diode; driving the base requires sourcing or sinking current continuously while the device is on.
- Input impedance is low: the base draws current from the drive signal.
MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor):
- Voltage-controlled. The drain current is determined by the gate-to-source voltage (VGS).
- The gate is insulated from the channel by a thin oxide layer; virtually no DC gate current flows.
- Input impedance is very high (GΩ at DC); the gate appears as a capacitor.
This single difference has cascading consequences for drive circuitry, efficiency, and speed.
Drive Circuitry Comparison
BJT drive: For a BJT switch carrying 500 mA through a load, with hFE = 100, the required base current is at minimum 5 mA. For a 10× saturation margin: 50 mA. The drive circuit must continuously sink or source 50 mA while the switch is on. If the drive is a GPIO limited to 8 mA, a BJT preamplifier or a higher-current driver stage is required.
Base resistor: R = (V_drive − 0.7V) / Ib_required
Example: (3.3V − 0.7V) / 50 mA = 52 Ω → use 47–56 Ω
MOSFET drive: For a MOSFET switch, the only current required is the charge and discharge of the gate capacitance during switching transitions. In steady state (fully on or fully off), no gate current flows. A GPIO can drive most small logic-level MOSFETs directly.
Gate series resistor: 10–100 Ω (limits peak current during transition; not required for DC)
Pull-down: 10 kΩ to GND (ensures defined-off state during power-up)
Implication: The MOSFET is far easier to drive from microcontroller GPIO pins. For a BJT at high currents, a dedicated driver stage is often needed, adding components and complexity.
Switching Speed and Frequency
BJT switching speed is limited by minority carrier storage in the base region during saturation. When the base drive is removed to turn off, excess carriers must recombine — a process called storage time (ts), typically 0.1–5 µs for small-signal BJTs. This limits practical BJT switching frequency to roughly 100 kHz.
MOSFET switching speed is limited by gate capacitance charging time, which depends on the gate driver's peak current capability. With adequate drive, MOSFETs switch in nanoseconds. Power MOSFETs in well-designed buck converters switch at 200 kHz–2 MHz.
Implication: For DC-DC converters, motor controllers, and any switching application above ~50 kHz, the MOSFET is the only viable choice.
Conduction Losses
BJT in saturation: Vce ≈ 0.1–1V (VCEsat). Conduction loss = Ic × VCEsat.
- At 10A, VCEsat = 0.5V: P_conduction = 5W.
- VCEsat is relatively constant regardless of current.
MOSFET in linear (on) region: Acts as a resistor: Vds = Id × RDSon. Conduction loss = Id² × RDSon.
- At 10A, RDSon = 10 mΩ: P_conduction = 1W (much lower than BJT at the same current).
- RDSon decreases as die size increases; modern power MOSFETs have RDSon of 1–10 mΩ.
- At very low currents, VCEsat is small and the BJT may have lower loss than a MOSFET with moderate RDSon.
Implication: At high currents (> a few amperes), the MOSFET is more efficient. At very low currents (< 100 mA), losses are small for both and the difference is negligible.
Head-to-Head Comparison Table
| Parameter | BJT | MOSFET |
|---|---|---|
| Control mechanism | Current (base current) | Voltage (VGS) |
| Drive current required | Yes (continuously while on) | No (only during transitions) |
| Switching speed | Slower (~µs) | Faster (~ns) |
| Max switching frequency | ~100 kHz | 100 kHz–5 MHz |
| Conduction loss (high current) | Higher (VCEsat × Ic) | Lower (Id² × RDSon) |
| Thermal runaway risk | Yes (positive Ic/T feedback) | No (RDSon increases with temp) |
| Paralleling devices | Difficult (current hogging) | Easier (self-balancing) |
| Gate/base drive complexity | Higher | Lower |
| Linear region control | Excellent | Moderate |
| Cost (low quantities) | Very low | Low |
| Common applications | Analog amplifiers, bias, legacy | Switching, power converters, motor drive |
When to Use a BJT
-
Linear amplification: Op-amp output stages, audio amplifiers, and precision analog circuits use BJTs because the Ic/Ib relationship is more predictable and the device operates smoothly in the active (linear) region. The MOSFET's square-law characteristic is less suitable for small-signal linear design.
-
Current-mirror and bias circuits: Matched BJT pairs are the standard building block for current mirrors (where precise Ic/Ib ratios matter) in analog IC design and discrete precision circuits.
-
Very low current switching: For switching currents below ~10 mA (LED drive, logic-level signal switching), a small NPN BJT like the 2N3904 works well and costs less than a cent. The gate charge concern of MOSFETs at very low current levels is irrelevant.
-
Existing designs: When modifying or maintaining legacy hardware, matching the existing component type avoids re-analysis of bias networks, base resistors, and saturation conditions.
When to Use a MOSFET
-
Any switching application driven by a microcontroller GPIO: Logic-level MOSFETs with VGS(th) ≤ 2V switch fully on from 3.3V or 5V without requiring a current-limited base drive. This is the most common discrete transistor application in embedded systems.
-
DC-DC converters and motor drives: The MOSFET's faster switching speed and lower RDSon at high currents are decisive. All modern switching power supplies use MOSFETs (or IGBTs for very high voltage).
-
Driving relays, solenoids, and motors: An N-channel MOSFET on the low side (source to GND, drain to load) with a pull-down on the gate is a simple, reliable solution for driving inductive loads. Pair with a freewheeling diode across the load to clamp inductive voltage spikes.
-
Battery disconnect and power path control: P-channel MOSFETs or ideal diode controllers (which use a MOSFET as a near-zero drop diode) are standard in battery-powered products.
For power electronics design — component selection, gate drive design, thermal management, and PCB layout for switching circuits — Zeus Design's engineering team handles end-to-end product electronics — contact Zeus Design.
Design Considerations
- For logic-level MOSFET selection, verify RDSon at the actual VGS you'll use. Most MOSFETs specify RDSon at VGS = 10V. A "logic-level" MOSFET specifies RDSon at 4.5V (for 5V drive) or 2.5V (for 3.3V drive). Verify the curve in the datasheet at your actual supply voltage, not just the headline parameter at 10V.
- BJT parallel circuits suffer from current hogging. BJTs have a negative temperature coefficient on VCEsat: a hotter transistor has lower VCEsat, draws more current, and heats further. Paralleling BJTs without emitter resistors to balance current sharing causes one device to carry all the current. MOSFETs have a positive RDSon temperature coefficient, so current balances naturally between parallel MOSFETs.
- Consider thermal runaway with BJTs at elevated temperatures. At high ambient temperatures, BJT leakage current (ICBO) increases with temperature. In some circuit configurations, this increase in leakage causes more base drive, which increases Ic, which increases temperature — a runaway condition. Include adequate thermal margin and thermal shutdown protection for BJT-based power stages.
- Add a gate-to-source pull-down for MOSFETs. A 10 kΩ–100 kΩ resistor from gate to source ensures the gate discharges to GND during power-up, power-down, and when the drive signal is floating. Without this, the MOSFET may partially turn on during power sequencing, causing unexpected current paths.
Common Mistakes
- Choosing a standard power MOSFET (VGS(th) = 2–4V) for 3.3V GPIO drive. At 3.3V gate drive, a MOSFET with VGS(th) = 3V may barely be in the ohmic region, with RDSon many times higher than the specified value. Always choose a logic-level MOSFET for 3.3V drive systems. The forum discussion N-channel MOSFET not switching fully from 3.3V GPIO shows this failure mode in a real circuit.
- Forgetting that BJTs require continuous base current. A GPIO that switches a BJT on at startup but enters a high-impedance state (e.g. during sleep or reset) stops supplying base current, turning off the BJT and disconnecting the load — possibly unexpectedly. Design base drive circuits to hold a defined state during all MCU operating modes, including reset and low-power modes.
- Using a MOSFET body diode as the freewheeling diode in a high-frequency converter. The MOSFET body diode has slow reverse recovery and high forward voltage (0.6–1.2V). In a synchronous buck converter, the body diode conducts only during dead time, which limits the loss. In a non-synchronous converter, add an external Schottky diode instead of relying on the body diode for freewheeling.
- Not accounting for MOSFET gate charge at high switching frequencies. At 1 MHz switching with Qg = 10 nC, the average gate drive current is 10 mA — well within GPIO capability. But the peak gate current during the nanosecond-scale switching transition can be hundreds of milliamperes. A GPIO without current capability will slow the switching edge, increasing switching losses. Use a dedicated gate driver IC for frequencies above ~100 kHz or for large-Qg MOSFETs.
Frequently Asked Questions
- Why do MOSFETs dominate power switching while BJTs dominated earlier designs?
- In the 1970s and 1980s, power BJTs were faster and cheaper to manufacture at high currents than MOSFETs. As semiconductor fabrication improved, MOSFET manufacturing costs fell and the advantages of the MOSFET became decisive: it has no minority carrier storage time (so it switches faster), it is driven by voltage (no gate current in steady state, simplifying drive circuitry), and its on-state resistance (RDSon) falls as die size increases at low additional cost. The power BJT also suffers from thermal runaway (higher temperature increases base-emitter current, which increases power, which raises temperature further). MOSFETs have a positive RDSon temperature coefficient, which provides self-limiting stability. Today power BJTs survive mainly in specific niches: very high voltage applications (where MOSFET switching losses become comparable to BJT) and designs where cost is paramount and switching speed is low.
- What is an IGBT and when should I use one instead of a MOSFET?
- An IGBT (insulated gate bipolar transistor) is a hybrid device that combines the MOSFET gate (voltage-controlled, easy to drive) with the BJT output stage (handles very high voltages and currents with lower on-state voltage than a MOSFET at the same blocking voltage). IGBTs are used in high-voltage, high-current applications above approximately 600V where the MOSFET's RDSon becomes impractically high — motor drives, inverters, welders, and EV powertrains. For most embedded systems work (12V, 48V, up to 200V), a MOSFET is more appropriate: it switches faster than an IGBT (no minority carrier storage), and its RDSon at these voltages gives lower conduction loss than an IGBT.
- Can I replace a BJT with a MOSFET in an existing circuit?
- Not directly — the two devices are fundamentally different in how they're driven and in their operating characteristics. A BJT requires a base resistor and base current; a MOSFET requires a defined VGS and may need a pull-down resistor to GND and a series gate resistor. The terminal names differ (B/C/E vs G/D/S), and the threshold conditions differ (Vbe ≈ 0.7V for BJT vs VGS(th) typically 1–3V for MOSFET). If replacing a BJT switch with a MOSFET, verify: the drive voltage exceeds VGS(th) comfortably, a pull-down is added to the gate, the load connections map correctly (collector→drain, emitter→source for a low-side switch), and the circuit does not depend on the BJT's base-emitter diode voltage for biasing.
References
Related Questions
What Is a Transistor and How Does It Work?
A transistor uses a small control signal to switch or amplify a larger current. Covers BJT operation, MOSFET operation, switching circuits, and selection.
What Is a Diode and How Does It Work?
Covers P-N junction, forward voltage drop, silicon vs Schottky, Zener regulation, TVS suppression, and LED — with guidance on each type.
How Does a Buck Converter Work?
A buck converter steps down voltage using a switching MOSFET and LC filter. Learn how duty cycle sets Vout, CCM vs DCM, and key component selection pitfalls.
How Does a Boost Converter Work?
A boost converter steps up voltage by storing energy in an inductor, then releasing it at higher voltage. Here's how duty cycle sets Vout and when to use one.
Linear vs Switching Regulator: Which Should You Use?
Choose a linear (LDO) regulator for low-noise designs with a small voltage drop; use a switching regulator when efficiency matters more than simplicity.
What Is an Op-Amp (Operational Amplifier)?
An op-amp is a high-gain differential amplifier whose behaviour is determined by external feedback. Covers open-loop gain, virtual short, GBW, and applications.
Related Forum Discussions
TPS63020 output drooping 200 mV and ringing as battery drains through 3.3 V — mode transition issue?
Building a battery-powered sensor logger — single Li-ion cell (3.7V nominal, 2.8–4.2V range during use). Using a TPS63020 to regulate down t
N-channel MOSFET not switching fully — driving gate from 3.3 V GPIO and it keeps getting warm
Trying to switch a 12 V, ~1.5 A load (a small DC motor) from an ESP32 GPIO pin. I found an N-channel MOSFET in my parts drawer — it's an IRL
LDO overheating and shutting down on a 2S Li-ion powered board
Got a board running off a 2S Li-ion pack (7.4V nominal, up to 8.4V fresh off the charger) feeding an LDO down to 3.3V for the MCU and a coup