Hello friends, I hope you all are doing great. Today, I am going to share the new N-MOSFET Library for Proteus. The N-channel MOSFET is the modern way to switch power from a microcontroller: its gate draws no steady current at all, it switches tens of amps with only milliohms of resistance, and it wastes far less power as heat than a bipolar transistor. It drives motors, LED strips, heaters, solenoids and whole power supplies.
N-MOSFET Library for Proteus
Latest version: V1.0 (November 2026, this tutorial)
Other component libraries: C945 Transistor · PC817 Optocoupler · Relay Module · Resistor · 5 mm LED · Designer Colour LED · Push Button · Active Buzzer · Electrolytic Capacitor · Ceramic Capacitor · Tantalum Capacitor · Film Capacitor · 1N4007 Diode · Zener Diode · Schottky Diode · Supercapacitor · Photodiode · RGB LED · Bridge Rectifier · Flashing LED · Bi-Colour LED · SMD LED · Slide Switch · Toggle Switch · Rocker Switch · Micro Limit Switch · Emergency Stop Switch · SMD Resistor · Power Resistor · Resistor Network · Potentiometer · Trimmer Potentiometer · Slide Potentiometer · NTC Thermistor · DIP Switch · Fuse · Passive Buzzer · Mini Speaker · 7-Segment Display · LED Bar Graph · IR / UV LED · Small Transistors · TIP122 Darlington · P-MOSFET · PC817 Optocoupler · Filament Bulb · Power LED · Voltage Regulator · SCR and TRIAC · Inductor · Toroid Inductor · Crystal
Helping Tools
- Serial Monitor Advance: a serial terminal window for the UART of your board
- Serial Monitor Expert: the serial monitor with extra debugging tools
- LCD Library for Proteus V3.0: 16x2, 20x4 and I2C LCDs to show your readings
Our library has three of the most used ones at true scale: the IRLZ44N, a logic-level power MOSFET in TO-220 that turns fully on with the 5 V of an Arduino pin; the IRFZ44N, its standard cousin in the same package that needs 10 V for its rated resistance; and the small 2N7000 in TO-92. The model has the real channel with its threshold and its two regions, the gate capacitance that a gate resistor charges, the body diode, and the junction temperature on a heatsink. The pop-up shows the resistance it has right now, the gate drive against its rating and the output curves. The demo puts the IRLZ44N and the IRFZ44N side by side on 5 V gates, and the difference is the most useful lesson in MOSFETs.
NOTICE: Our team has put a lot of effort into these small parts: the bodies, the animation and the pop-ups are all our own design, and you get them free. Your feedback is the fuel that keeps us going, so please tell us what you think in the comments below or in the N-MOSFET board of our forum. And if our free libraries help you, you can buy us a coffee. So, let's get started with the N-MOSFET Library for Proteus:
What is an N-Channel MOSFET?
A MOSFET, a metal-oxide-semiconductor field-effect transistor, has three pins: the gate, the drain and the source. The gate sits on a thin layer of glass-like oxide above the silicon, insulated from everything. A positive voltage on the gate, relative to the source, draws electrons into a thin channel under the oxide, and the channel lets current flow from the drain to the source. More gate voltage, a wider channel and less resistance. No gate voltage, no channel, and the MOSFET is an open switch.
Because the gate is insulated, it draws no steady current: once its voltage is set, it holds the MOSFET on or off for free. That is the big difference from a bipolar transistor such as the TIP122 in our TIP122 Darlington Library for Proteus, which needs a steady base current all the time it is on. The gate is not quite free, though: it is a small capacitor, and it takes a burst of current every time it is charged or discharged.
| Part | Type | Package, pins | Ratings | On resistance |
|---|---|---|---|---|
| IRLZ44N | logic level | TO-220, G D S | 55 V, 47 A | 22 mohm at Vgs 5 V |
| IRFZ44N | standard | TO-220, G D S | 55 V, 49 A | 17.5 mohm at Vgs 10 V |
| 2N7000 | small signal | TO-92, S G D | 60 V, 200 mA | about 5 ohm |
The Threshold Voltage
The threshold voltage, Vth, is the gate voltage where the channel just begins to form, typically 1 to 2 V for a logic-level part and 2 to 4 V for a standard one. At the threshold, the MOSFET is barely on: a few hundred microamps. Fully on needs a gate several volts above it. Our model makes the turn-on smooth, as a real channel does, rather than switching at a hard step, so the current fades in as the gate rises past the threshold.
Ohmic and Saturation Regions
A MOSFET that is on works in one of two regions. With a small drain-source voltage it is in the ohmic region, also called the linear or triode region: it behaves like a resistor, Rds(on), and this is where a switch should be. With a large drain-source voltage and a modest gate voltage it is in saturation: the current is set by the gate, not by the load, and the MOSFET behaves like a current source, with the whole of the difference across it as heat. Saturation is useful in linear circuits and harmful in a switch. Note that the names are the opposite of a bipolar transistor's, where saturation means fully on.
Logic Level and Standard
A MOSFET's datasheet gives its on resistance at a stated gate voltage. The IRFZ44N is rated at 10 V on its gate: 17.5 mΩ. At 5 V, the voltage an Arduino pin gives, its channel is only partly formed and its resistance is more than twice as high: about 42 mΩ in our model. At higher currents it can even fall out of the ohmic region altogether. The IRLZ44N, a logic-level part, is designed with a thinner oxide and a lower threshold, and it is rated at 5 V on its gate: 22 mΩ. For a microcontroller driving a MOSFET directly, always choose a logic-level part, or add a gate driver that gives a standard part its 10 V.
The Gate Capacitance
The gate and the channel form a capacitor, Ciss in the datasheet: about 1.7 nF for the IRLZ44N, 1.5 nF for the IRFZ44N, and only 60 pF for the 2N7000. Every time the gate switches, that capacitor is charged or discharged. Straight from a pin, the charging current could peak well above the pin's rating for a fraction of a microsecond. A gate resistor of 100 to 220 Ω limits that peak and damps ringing. A pull-down resistor of 10k to 100k from the gate to the source keeps the MOSFET off while the pin is still an input during reset, when the gate would otherwise float and could turn the MOSFET half on.
The Body Diode
Every power MOSFET has a diode built in from the source to the drain, the body diode. It conducts if the drain is pulled below the source, which happens in bridges and synchronous converters. It is not a flyback diode for a coil on the drain, which needs its own diode across the coil. Our model includes it, and the pop-up says when it conducts.
Power and the Heatsink
A MOSFET switch dissipates I squared times Rds(on). At half an amp through 22 mΩ, that is only 6.5 mW, which a TO-220 does not even notice. At 10 A it would be 2.2 W, enough to need a heatsink. Our TO-220 parts take a HEATSINK property, NONE, SMALL or LARGE, and the junction temperature follows the power, with a warning at 150 °C and a failure at 175 °C. The 2N7000 in its tiny TO-92 package is meant for signals and small loads up to 200 mA.
Where They Are Used
Logic-level power MOSFETs switch and PWM-dim LED strips, drive DC motors and pumps, switch heaters, solenoids and relays, and form the switches in motor drivers and power supplies. The 2N7000 shifts logic levels, drives LEDs and small relays, and switches signals. Wherever a microcontroller controls power, an N-channel MOSFET on the low side is usually the simplest, coolest choice.
Features of the N-MOSFET Library for Proteus
- The real look, at true scale: two TO-220 power MOSFETs with their tabs and a TO-92 2N7000, and our small TEP signature.
- A real channel: a smooth threshold, the ohmic and saturation regions, channel-length modulation and the drain resistance.
- Logic level and standard: each with its datasheet resistance at its rated gate voltage, and a warning when a standard part is under-driven.
- The gate capacitance: charged through your gate resistor, with its peak current on the pop-up.
- The body diode and the junction temperature: through the heatsink you choose, with a failure past its limit.
- PWM recognised: its frequency and duty read from the gate, one line in the log, not three an edge.
- A pop-up for each part: the region, Rds now, the gate drive against its rating, the output curves, graphs, an event log and a check page.
- A complete package: about 2.2 MB with the library, our Arduino UNO V4.0, our power resistors, resistors and LED and the demo, without the source code of the model.
The N-MOSFETs in Proteus
The devices are IRLZ44NTEP, IRFZ44NTEP and Q2N7000TEP in TEPNMOS.LIB, under Transistors, MOSFET, with the prefix Q and the model TEPNMOS.DLL. Search IRLZ44, IRFZ44 or 2N7000 in Pick Devices. The TO-220 parts are G D S from the left, the 2N7000 S G D.
The Properties
| Property | What it does |
|---|---|
| Part (VALUE) | IRLZ44N, IRFZ44N or 2N7000 |
| Heatsink (TO-220 only) | NONE (2.0 W safe), SMALL (7.6 W), LARGE (19 W) |
Download N-MOSFET Library for Proteus
Click the button below to download N-MOSFET-Library-for-Proteus-v1.0.zip (about 2.2 MB, without the source code of the models):
N-MOSFET Library for Proteus V1.0- README.txt: installation, the demo, the heatsink settings, troubleshooting and the limits.
- Proteus Library Files:
TEPNMOS.LIB, our resistor, power resistor and LED libraries, and ourArduinoV4TEP.LIB. - Proteus Model Files:
TEPNMOS.DLL, the DLLs of those parts andTEPARDUINO.DLL. - Arduino Code: the demo sketch.
- Proteus Simulation: the demo project, its HEX file and copies of the DLLs.
No Proteus yet? Read How to Download and Install Proteus 7 and 8. New to libraries? Follow How to Install a New Library in Proteus.
How to Install N-MOSFET Library for Proteus
- Close Proteus and extract the whole zip file, for example to your Desktop.
- Copy the files from Proteus Library Files into the LIBRARY folder of Proteus.
- Copy the files from Proteus Model Files into the MODELS folder.
- Delete
TEPNMOS.IDXfrom the LIBRARY folder if it is there. - Start Proteus, press P and search for IRLZ44.
Demo: Logic Level Against Standard
Two identical 12 V loads, each one of our 10 W power resistors at 22 Ω, about half an amp. Q1, the IRLZ44N, switches the first from D9, through a 220 Ω gate resistor R1 with a 100k pull-down R2. Q2, the IRFZ44N, switches the second from D10 in exactly the same way, through R4 and R5. Q3, the 2N7000, lights a red LED from D8 through a 100 Ω gate resistor, with the LED and its 470 Ω resistor in its drain. Open N-MOSFET-Switches-ArduinoUnoV4.pdsprj. It runs on our Arduino UNO Library for Proteus V4.0, with its built-in monitor, the same window as our TEP Serial Monitor Advance for Proteus. The loads are from our Power Resistor Library for Proteus and the LED from our 5 mm LED Library for Proteus.
| Part | Connection | Job |
|---|---|---|
| Q1 IRLZ44N, R1 220, R2 100k | G from D9, D to LOAD1, S to GND | the logic-level switch |
| Q2 IRFZ44N, R4 220, R5 100k | G from D10, D to LOAD2, S to GND | the standard switch |
| R3, R6 (22 ohm, 10 W) | +12V to LOAD1 / LOAD2 | the loads |
| Q3 2N7000, R7 100 | G from D8, D to the LED | the small switch |
| R8 470, D1 | +5V to the drain of Q3 | the LED |
The Sketch
The sketch steps through four states, 2.5 s each, from two tables of PWM duty:
const byte DUTY_L[4] = {255, 128, 0, 255};
const byte DUTY_F[4] = {255, 128, 0, 0};
At each step it writes the two duties with analogWrite, and lights the LED through the 2N7000 on every other step:
analogWrite(GATE_L, DUTY_L[step]);
analogWrite(GATE_F, DUTY_F[step]);
digitalWrite(GATE_S, step % 2 == 0 ? HIGH : LOW);
The gates see a plain 5 V square wave from the pins, which is exactly the point: the same drive on both parts.
Run the Demo
Press Run. In the first step both are on with 4.99 V on their gates. The IRLZ44N carries 545 mA through 22.0 mΩ: 12 mV across it and 6.5 mW of heat. The gate drive bar shows 4.99 V against its rating of 5 V, and the dot sits at the very bottom left of its output curves, deep in the ohmic region:
The IRFZ44N carries the same 544 mA, but through 41.7 mΩ: nearly twice the voltage and twice the heat. Its gate drive bar shows 5 V against a rating of 10 V, and its log warns UNDER-DRIVEN. At half an amp that does no harm; at 20 A the difference would be 8 W of heat:
Here is the complete circuit, truly running:
The 2N7000 lights the LED with 6.82 mA through about 4.9 Ω, and the load itself takes 545 mA and 6.5 W of its 10 W rating:
PWM
In the second step both gates get a 50 % PWM signal. The pop-up recognises it: PWM at 490 Hz, about 50 % on, the frequency of analogWrite on these pins. On every edge the MOSFET passes through saturation for a moment as the gate charges, which is real and is where switching losses come from; the pop-up writes one line for the PWM, not three for every edge. The Graphs page shows the gate, the current and the drain voltage stepping from full on to the PWM average:
In the third step both are off: no gate voltage, no current, the full 12 V across them:
The Logs and the Check Pages
The IRFZ44N's Event log carries the warning in red: UNDER-DRIVEN, 5.0 V on the gate, its 18 mΩ needs 10 V. The IRLZ44N's log is clean: on, PWM, off and on again:
The Check pages keep the comparison after the parts switch off. The IRLZ44N's gate drive is green. The IRFZ44N's is amber: on with 5.0 V on its gate it ran at 42 mΩ, against 18 mΩ at 10 V, and a logic-level part or a gate driver does better. Both also report the gate charging current, about 20 mA for a moment through their 220 Ω resistors:
Try It Yourself
- Change the loads to 2.2 Ω, and watch the IRFZ44N heat up at 5 V while the IRLZ44N stays cool.
- Remove a gate resistor, and see the gate current peak rise.
- Remove a pull-down, and think about what the gate does during reset.
- Drive the IRFZ44N's gate from a 10 V supply through a small NPN, and see it reach 17.5 mΩ.
- Set Q1's heatsink to SMALL and push more current through it.
Ideas to Extend the Demo
- Dim a 12 V LED strip with the IRLZ44N and PWM.
- Drive a DC motor with a flyback diode across it.
- Use the 2N7000 as a 3.3 V to 5 V level shifter.
- Compare the IRLZ44N with the TIP122 on the same load: the voltage drop and the heat.
Your Own Sketches
The demo sketch is in the zip file, and you can change it in the Arduino IDE. New to Arduino? Start with our Arduino Tutorial for Beginners. Export the compiled binary, and set the UNO's PROGRAM property to the new file. Our guide on How to get the HEX file from Arduino shows you where the file ends up.
Things to Know Before Using a Real N-MOSFET
- Choose logic level for Arduino: check that Rds(on) is rated at 4.5 or 5 V.
- Add a gate resistor and a pull-down: 100 to 220 Ω in series, 10k to 100k to the source.
- Add a flyback diode across coils: the body diode is not one.
- Insulate the tab: on a TO-220 MOSFET it is the drain.
- Mind the gate voltage limit: usually ±20 V, ±16 V on logic-level parts.
Troubleshooting
- UNDER-DRIVEN: 5 V is not enough for a standard part; use a logic-level one or a gate driver.
- SATURATION with volts across it: the gate is too low for the load current.
- It turns on by itself: the gate floats; add a pull-down.
- TOO HOT: the junction passed 150 °C; a heatsink, or a part with a lower Rds(on).
- The part is not simulated:
TEPNMOS.DLLis missing from MODELS and from the project folder.
Limitations of the Simulation
- The gate-drain capacitance and the Miller plateau are left out: the gate charges as one capacitor.
- Switching losses are not added to the heat.
- Avalanche and the safe operating area are not modelled.
- Arduino is a name of Arduino; this library is not made or endorsed by Arduino or Labcenter.
- Tested in Proteus 8.5 in November 2026 (the demo as shipped). Proteus 7 is not supported.
So, that was all about the N-MOSFET Library for Proteus. I hope it helps you pick the right MOSFET for your Arduino projects, and see exactly why logic level matters before you build. If you have any questions, ask in the comments and I will help you out. Till the next tutorial, take care and have fun!