N-MOSFET Library for Proteus: an IRLZ44N, an IRFZ44N and a 2N7000 switching loads from an Arduino UNO V4.0

N-MOSFET Library for Proteus: IRLZ44N, IRFZ44N and 2N7000

1 View
40
700
60
25
60
PCBWay

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.

Updates

N-MOSFET Library for Proteus

Latest version: V1.0 (November 2026, this tutorial)

Helping Tools

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:

N-MOSFET Library for Proteus: an IRLZ44N, an IRFZ44N and a 2N7000 switching loads from an Arduino UNO V4.0
Figure: The N-MOSFET Library for Proteus: three MOSFETs switching loads from Arduino pins.

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.

The three N-MOSFETs in the library
PartTypePackage, pinsRatingsOn resistance
IRLZ44Nlogic levelTO-220, G D S55 V, 47 A22 mohm at Vgs 5 V
IRFZ44NstandardTO-220, G D S55 V, 49 A17.5 mohm at Vgs 10 V
2N7000small signalTO-92, S G D60 V, 200 mAabout 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.

An IRLZ44N, an IRFZ44N and a 2N7000 with their nets in Proteus, on the stopped sheet
Figure: Q1, Q2 and Q3 on the stopped sheet.

The Properties

Double-click a MOSFET to see these
PropertyWhat 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 our ArduinoV4TEP.LIB.
  • Proteus Model Files: TEPNMOS.DLL, the DLLs of those parts and TEPARDUINO.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

  1. Close Proteus and extract the whole zip file, for example to your Desktop.
  2. Copy the files from Proteus Library Files into the LIBRARY folder of Proteus.
  3. Copy the files from Proteus Model Files into the MODELS folder.
  4. Delete TEPNMOS.IDX from the LIBRARY folder if it is there.
  5. 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.

N-MOSFET demo in Proteus: Arduino UNO V4.0, an IRLZ44N, an IRFZ44N and a 2N7000 with two 12 V loads and an LED on an A4 sheet
Figure: The whole demo on an A4 sheet.
The parts of the demo
PartConnectionJob
Q1 IRLZ44N, R1 220, R2 100kG from D9, D to LOAD1, S to GNDthe logic-level switch
Q2 IRFZ44N, R4 220, R5 100kG from D10, D to LOAD2, S to GNDthe standard switch
R3, R6 (22 ohm, 10 W)+12V to LOAD1 / LOAD2the loads
Q3 2N7000, R7 100G from D8, D to the LEDthe small switch
R8 470, D1+5V to the drain of Q3the 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:

IRLZ44N pop-up in Proteus: on, 545 mA through 22.0 milliohm with 5 V on its gate
Figure: The IRLZ44N: 22.0 mOhm at 5 V.

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:

IRFZ44N pop-up in Proteus: on, 544 mA through 41.7 milliohm, under-driven at 5 V
Figure: The IRFZ44N: 41.7 mOhm at 5 V.

Here is the complete circuit, truly running:

The complete N-MOSFET demo running in the Proteus workspace
Figure: The complete circuit running.
The IRLZ44N and the IRFZ44N in TO-220 switching their loads in the Proteus demo
Figure: Q1 and Q2 at work.

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:

2N7000 pop-up in Proteus: on, lighting the LED at 6.82 mA
Figure: The 2N7000 lighting the LED.
Power resistor pop-up in Proteus: the 12 V load at 545 mA
Figure: The load: 545 mA.

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:

IRLZ44N pop-up in Proteus: PWM at 490 Hz, about 50 % on
Figure: PWM at 490 Hz.
IRLZ44N pop-up Graphs in Proteus: on, then switching at 50 % PWM
Figure: On, then PWM, on the Graphs page.

In the third step both are off: no gate voltage, no current, the full 12 V across them:

IRLZ44N pop-up in Proteus: off, 12 V across it
Figure: Off.

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:

IRFZ44N pop-up Event log in Proteus: the under-driven warning at 5 V
Figure: The IRFZ44N: UNDER-DRIVEN.
IRLZ44N pop-up Event log in Proteus: on, PWM and off
Figure: The IRLZ44N: a clean log.
Arduino UNO V4.0 serial monitor in Proteus: the four steps of the demo
Figure: The monitor: every step.

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:

IRLZ44N pop-up Check page in Proteus: fully on at 5 V
Figure: The IRLZ44N's Check page.
IRFZ44N pop-up Check page in Proteus: 42 against 18 milliohm, a logic-level part does better
Figure: The IRFZ44N's Check page.

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.DLL is 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!


Comments

0

Join the conversation