When you need to switch high-current DC loads using a low-voltage microcontroller, the n mosfet transistor is your default component. Unlike bipolar junction transistors (BJTs) that require continuous base current to stay on, an N-channel MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor) is voltage-controlled. Once the gate capacitance is charged, it draws virtually zero steady-state current from your GPIO pin, making it ideal for battery-powered ESP32 or Arduino projects.
However, picking the wrong part number or misunderstanding the gate threshold voltage (VGS(th)) is the most common reason DIY motor controllers fail or overheat. This guide provides exact part numbers, biasing rules, a complete PWM circuit, and bench-proven multimeter diagnostics to get your design working on the first try.
N-Channel MOSFET Pinout, Symbol, and Safe Default Part Numbers
Before wiring anything, you must understand the physical layout and schematic symbol. In the standard schematic symbol for an N-channel MOSFET, the arrow on the source terminal points inward toward the channel. Crucially, the symbol also includes a body diode pointing from the Source to the Drain. This intrinsic diode means an N-MOSFET will always conduct in reverse if the Drain voltage drops below the Source voltage, which dictates how you must orient it in low-side switching circuits.
The three terminals are:
- Gate (G): The control terminal. Voltage applied here (relative to Source) creates the conductive channel.
- Drain (D): The terminal where current enters the MOSFET from the load.
- Source (S): The terminal where current exits to ground. In low-side switching, this is always tied to system GND.
Not all MOSFETs are created equal. Standard MOSFETs require 10V on the gate to fully turn on, while "logic-level" MOSFETs are optimized to fully enhance at 3.3V or 5V. Below is a data-dense reference table of safe default part numbers for the workbench.
| Part Number | Type | VDS (Max) | ID (Cont) | RDS(on) @ VGS | Package | Best Use Case |
|---|---|---|---|---|---|---|
| IRLZ44N | Logic-Level | 55V | 47A | 0.022Ω @ 5V | TO-220 | Arduino (5V) motor control, 12V LED strips |
| IRLB8721 | Logic-Level | 30V | 62A | 0.0045Ω @ 4.5V | TO-220 | ESP32 (3.3V) high-current PWM, 3D printer beds |
| AO3400 | Logic-Level | 30V | 5.7A | 0.040Ω @ 4.5V | SOT-23 | Compact SMD boards, low-power 3.3V relays |
| IRF3205 | Standard | 55V | 110A | 0.008Ω @ 10V | TO-220 | High-power 12V/24V systems with dedicated gate drivers |
| IRF520 | Standard | 100V | 9.2A | 0.270Ω @ 10V | TO-220 | Avoid for 5V/3.3V logic. Only use with 12V gate drive. |
Operation Regions and Biasing for the Job
A frequent point of confusion for makers transitioning from BJTs is MOSFET terminology. In a BJT, "saturation" means the switch is fully ON. In a MOSFET, "saturation" means the device is acting as a constant-current amplifier, while the Triode (or Ohmic) region is where it acts as a closed switch. For a deeper theoretical breakdown, refer to this comprehensive MOSFET tutorial by Electronics Tutorials.
| Region | Gate-Source Voltage (VGS) | Drain-Source Voltage (VDS) | Drain Current (ID) | Primary Application |
|---|---|---|---|---|
| Cutoff | VGS < Vth (e.g., 0V) | Any (up to VDS(max)) | ~0 A (Leakage only) | Switch OFF state |
| Triode (Ohmic) | VGS > Vth (e.g., 5V or 10V) | VDS < (VGS - Vth) (e.g., < 1V) | Max load current (limited by RDS(on)) | Switch ON state (PWM, relays) |
| Saturation (Active) | VGS > Vth (e.g., 3V - 5V) | VDS > (VGS - Vth) (e.g., 2V - 10V) | Constant (set by VGS) | Linear amplifiers, electronic loads |
How to bias it for switching: To use the MOSFET as a switch, you must drive the gate voltage high enough to push the device deep into the Triode region. If the datasheet specifies RDS(on) at VGS = 10V, you must provide 10V to the gate. If you only have 5V from an Arduino, you must select a logic-level MOSFET whose RDS(on) is specified at VGS = 4.5V or 2.5V.
Practical Application: 12V DC Motor PWM Control Circuit
Let us build a robust low-side switch for a 12V DC motor drawing 2A nominal (up to 8A stall) using an ESP32 (3.3V logic). For this, we will use the IRLB8721 logic-level MOSFET.
Bill of Materials & Component Values:
- Q1: IRLB8721 N-Channel MOSFET
- R1 (Gate Resistor): 100Ω (Limits inrush current to the gate capacitance, preventing ESP32 GPIO brownouts and high-frequency ringing).
- R2 (Pull-down Resistor): 10kΩ (Bleeds gate charge to GND, ensuring the motor stays OFF while the ESP32 boots and GPIO pins are floating).
- D1 (Flyback Diode): 1N5819 Schottky Diode (Clamps inductive voltage spikes when the MOSFET turns off. A Schottky is preferred over a 1N4007 for PWM frequencies above 1kHz due to faster reverse recovery time).
Wiring Steps:
- Connect the ESP32 PWM output pin to one leg of the 100Ω gate resistor (R1).
- Connect the other leg of R1 to the Gate of the IRLB8721.
- Connect the 10kΩ pull-down resistor (R2) between the Gate and Source pins.
- Connect the Source pin directly to the system Ground (shared with the ESP32 and 12V battery negative).
- Connect the Motor's negative terminal to the Drain pin.
- Connect the Motor's positive terminal to the 12V supply positive.
- Place the 1N5819 diode in parallel with the motor: the cathode (striped end) to the 12V positive, and the anode to the Drain pin.
Failure Modes and Multimeter Diagnostics
MOSFETs generally fail in three ways on the workbench:
- Gate Oxide Puncture: Exceeding the maximum VGS (usually ±20V) permanently shorts the gate to the source. The device becomes uncontrollable.
- Avalanche Breakdown: Inductive kickback from a motor exceeds the VDS rating because a flyback diode was omitted, punching through the silicon.
- Thermal Runaway: Unlike BJTs, a MOSFET's RDS(on) has a positive temperature coefficient. As it gets hot, resistance increases, which causes more I²R heating, leading to a destructive feedback loop if not heatsunk properly.
When a MOSFET fails, it almost always fails shorted (Drain to Source), which in a low-side motor circuit means the motor runs continuously at full speed, even if the microcontroller is unplugged.
How to Test an N-MOSFET with a Digital Multimeter
You do not need a specialized transistor tester to verify a MOSFET. A standard DMM in Diode Test mode can check the body diode, gate isolation, and channel enhancement.
- Prep: Remove the MOSFET from the circuit. Hold it by the case to avoid static discharge.
- Check Body Diode: Place the Black (COM) probe on the Drain and the Red probe on the Source. The meter should read OL (Open Loop). Reverse the probes (Red on Drain, Black on Source). You should read a diode drop between 0.40V and 0.65V. This confirms the intrinsic body diode is intact.
- Check Gate Isolation: Place the Red probe on the Gate and the Black probe on the Source, then the Drain. Both must read OL. Any finite resistance means the gate oxide is punctured; throw the part away.
- Enhance the Channel: Keep the Black probe on the Source. Briefly touch the Red probe to the Gate. The DMM's internal battery (usually 3V to 9V) will charge the gate capacitance, turning the MOSFET on.
- Verify Conduction: Move the Red probe back to the Drain (Black remains on Source). The meter should now read a very low voltage drop (typically 0.00V to 0.10V), indicating the channel is fully enhanced and conducting.
- Discharge: Touch the Gate and Source pins simultaneously with your finger or a piece of wire to bleed off the gate charge. Re-test Step 2; it should return to reading OL in the forward direction.
Selecting the Right N-MOSFET: Logic-Level vs. Standard Gate Drive
Choosing between a logic-level and standard MOSFET dictates whether you need extra hardware. The Adafruit guide to MOSFETs provides excellent visual comparisons of these drive requirements, but the decision matrix below will save you time at the parts counter.
| Criteria | Logic-Level MOSFET (e.g., IRL series) | Standard MOSFET (e.g., IRF series) |
|---|---|---|
| Gate Drive Voltage | 2.5V, 3.3V, or 4.5V | 10V to 15V |
| Microcontroller Direct Drive? | Yes (up to ~2A continuous without heatsink) | No (requires gate driver or BJT level-shifter) |
| RDS(on) at 10V | Excellent (but often higher die cost) | Excellent (cheaper for high-voltage/high-current) |
| Gate Charge (Qg) | Typically higher (slower switching without a driver) | Optimized for fast switching with 12V drivers |
| When to Choose | Arduino, ESP32, Pi Pico direct to gate; low-frequency PWM. | Automotive 12V systems, high-power inverters, >10kHz PWM with dedicated drivers. |
By matching your microcontroller's logic voltage to the VGS rating on the datasheet—and remembering to include a pull-down resistor and flyback diode—you will eliminate 95% of the thermal and inductive failures that plague DIY power electronics. Always verify your specific part's datasheet for the exact RDS(on) at your available gate voltage, not just the absolute maximum ratings on the front page.






