Why Your MOSFET Gets Hot at Low Current
You are switching 12V at 2A. The MOSFET should handle this easily. It is rated for 30V and 10A. But after 30 seconds, the package is too hot to touch. You add a heatsink. It gets hot anyway. You assume the MOSFET is counterfeit or defective.

MOSFET switching circuit — the gate voltage determines whether the MOSFET is fully enhanced or partially on, which controls heating.
The problem is almost certainly not the MOSFET rating. It is the gate voltage.
Most tutorials for driving LEDs, motors, or other 12V loads from an Arduino use a logic-level MOSFET like the IRFZ44N or IRLZ44N. The IRFZ44N is not a logic-level MOSFET. The IRFZ44N needs 10V on the gate to fully turn on. The Arduino outputs 5V. At 5V, the IRFZ44N is only partially enhanced. It has high channel resistance. It dissipates power as heat proportional to I² × R_DS(on).
At 2A and partially-enhanced R_DS(on) of 0.1 ohms, the MOSFET dissipates 0.4W. That does not sound like much, but in a TO-220 package without a heatsink, the thermal resistance from junction to ambient is about 62°C/W. 0.4W × 62°C/W = 25°C above ambient. If ambient is 25°C, the junction reaches 50°C. Touching the package feels hot. At higher currents or higher R_DS(on), it gets worse.
The Two MOSFET Specifications That Matter
When selecting a MOSFET as a switch, only two specs determine whether it will work in your circuit: V_GS(th) and R_DS(on).
V_GS(th) is the gate threshold voltage. This is the voltage at which the MOSFET begins to conduct. But it is not the voltage at which it is fully enhanced. The datasheet usually specifies V_GS(th) at a tiny drain current (250µA or 1mA). At this current, the channel is barely open.
Fully-enhanced operation requires V_GS at least 4-5V above V_GS(th). For a MOSFET with V_GS(th) of 2.5V, you need at least 7V on the gate for low R_DS(on). For a MOSFET with V_GS(th) of 4V, you need 8-9V.
R_DS(on) is the drain-to-source resistance when fully enhanced. This is the spec that determines heating. A MOSFET with R_DS(on) of 0.02 ohms at V_GS = 10V will dissipate 0.08W at 2A (I² × 0.02). The same MOSFET driven at V_GS = 5V might have R_DS(on) of 0.08 ohms, dissipating 0.32W. Four times the heat, same current.
How to Read the R_DS(on) Datasheet Condition
Every datasheet specifies R_DS(on) at a specific V_GS. Look for the test condition in the Electrical Characteristics table.
IRFZ44N: R_DS(on) = 0.028 ohms max at V_GS = 10V, Id = 25A. The V_GS = 10V is the key. At V_GS = 5V, the R_DS(on) is not specified and is significantly higher.
IRLZ44N: R_DS(on) = 0.022 ohms max at V_GS = 5V, Id = 25A. The L means logic-level. This is the one designed to be driven directly from 5V logic.
If your circuit drives the gate from 5V and the datasheet only specifies R_DS(on) at V_GS = 10V, the actual resistance at 5V could be 3-5x higher. The heating is 3-5x higher. The heatsink must compensate.
The Heatsink Calculation
If you must use a non-logic-level MOSFET at 5V, calculate whether a heatsink will be sufficient.
T_j = T_a + (P × R_θJA)
T_j is junction temperature. T_a is ambient temperature. P is power dissipation (I² × R_DS(on) at actual V_GS). R_θJA is total thermal resistance from junction to ambient, including the package, any heatsink, and thermal interface material.
For a TO-220 with no heatsink in still air: R_θJA ≈ 62°C/W. If the MOSFET dissipates 0.5W and ambient is 25°C, T_j = 25 + (0.5 × 62) = 56°C. Safe, but the package is too hot to touch.
For the same MOSFET with a small clip-on heatsink (R_θJA ≈ 30°C/W): T_j = 25 + (0.5 × 30) = 40°C. Much better.
For continuous operation above 85°C ambient, you need T_j below 150°C (typical max for silicon). Plan accordingly.
The real problem is not the heatsink. It is that you are using the wrong MOSFET. The right MOSFET at V_GS = 5V dissipates 0.1W. The wrong MOSFET with a large heatsink still dissipates 0.4W and runs at 50°C. Both work, but only one is correct.
The Logic-Level MOSFET Short List
For 5V Arduino projects switching 12V loads:
IRLZ44N — The standard recommendation. Logic-level (V_GS(th) max 2V), R_DS(on) = 0.022 ohms at V_GS = 5V. Handles 30A continuous with proper heatsinking. Available everywhere, costs $0.50-1.00.
FDD8880 — N-channel, logic-level, R_DS(on) = 0.013 ohms at V_GS = 4.5V. In DPAK or TO-252 package, good for PCB mounting with thermal pad.
DMG2305UX — N-channel, logic-level, V_GS(th) = 1.3V max. R_DS(on) = 0.095 ohms at V_GS = 4.5V. Good for low-current applications where minimal gate drive is needed.
Avoid the IRFZ44N, IRF540, and similar non-logic-level parts when driving from Arduino, ESP32, or any 3.3V/5V logic.
The 100% Duty Cycle Problem
MOSFETs used as switches are either fully on or switching between on and off. In the fully-on state, they dissipate I² × R_DS(on). In the switching transition, they dissipate power during the voltage change because both V and I are non-zero simultaneously.
For slow switching (low PWM frequency), the switching losses are negligible. But for high-frequency PWM dimming of LEDs or speed control of motors, the switching losses matter.
At 1kHz PWM, each transition takes about 1µs. If the MOSFET switches in 500ns, the overlap between voltage and current during the transition creates dissipation. At 1% duty cycle, the MOSFET is spending almost all its time transitioning, and the average power can exceed the continuous rating.
For high-frequency PWM, choose MOSFETs with low gate charge (Qg) spec. Lower Qg means faster switching, less overlap dissipation.
The heat is a diagnostic. It tells you the MOSFET is not fully enhanced. The fix is in the part selection, not the heatsink.
For reliable 12V switching from Arduino/ESP32:
IRLZ44N Logic-Level MOSFET — The correct choice for 5V gate drive. Fully enhanced at V_GS = 5V, R_DS(on) = 0.022 ohms. (Amazon)
Heat Sink Set for TO-220 — Clip-on aluminum heatsinks for TO-220 MOSFETs. Reduces thermal resistance from 62°C/W to ~30°C/W. Use with thermal compound. (Amazon)
Thermal Paste — For reliable thermal connection between MOSFET package and heatsink. Essential for any continuous-load application. (Amazon)
I earn from qualifying purchases.
Article #013, 2026-04-18. Content Farm pipeline, Run #013.
Top comments (0)