CircuitNote

Quick electronics calculators for lab work and circuit design. Free, no sign-up, works in your browser.

Enhancement MOSFET I–V curves: reading the threshold voltage and K

Reading the 2N7000's ID–VDS and ID–VGS curves from PSpice results, and the usual slips when measuring them on a breadboard.

An enhancement N-channel MOSFET only forms a channel and passes drain current once the gate-source voltage VGS exceeds the threshold Vth. The gate is insulated by oxide, so the DC gate current is practically zero: it is the gate voltage that sets the current. The numbers in sections 1 to 6 are PSpice results for the 2N7000 model and values calculated from them; what a real part did on the breadboard is collected in section 7.

In this guide 8

1. The three regions

ID = 0cut off: VGS < Vth
ID = K[2(VGS − Vth)VDS − VDS^(2)]triode: VDS < VGS − Vth
ID = K(VGS − Vth)^(2)saturation: VDS ≥ VGS − Vth

K is a device constant set by the process and the channel size (some textbooks write it as Kn/2).

K = (1)/(2)·μn·Cox·(W)/(L)

In the triode region the current rises with VDS and the device behaves like a resistor (a closed switch); in saturation the current depends on VGS alone and hardly on VDS (an amplifier). The name clashes with the BJT: a MOSFET's saturation region corresponds to a BJT's active region.

2. The test circuit

RD 10 Ω 2N7000 VDD VGG DSG
The DC test circuit. VGS = VGG, ID comes from the voltage across RD, and VDS is set by measuring drain to source directly, not by trusting VDD.

Put VGG on the gate, adjust VDD until VDS is where you want it, and take ID = VRD/RD from the voltage across RD. With the flat face of the TO-92 towards you, the 2N7000's legs are source, gate, drain from the left. That looks a lot like a BJT (2N3904: E, B, C), so check the datasheet before plugging it in.

3. ID–VDS curves

ID–VDS curves (PSpice, 2N7000 model)

Once VDS passes VGS − Vth the current goes flat. The model has almost no channel-length modulation, so the flat part is perfectly level.

VGSSaturation current (PSpice)VGS − VthVDS reaching 99%Square law
VGS2.2 VSaturation current (PSpice)1.92 mAVGS − Vth0.12 VVDS reaching 99%0.1 VSquare law1.97 mA
VGS2.3 VSaturation current (PSpice)6.96 mAVGS − Vth0.22 VVDS reaching 99%0.2 VSquare law6.86 mA
VGS2.4 VSaturation current (PSpice)14.8 mAVGS − Vth0.32 VVDS reaching 99%0.3 VSquare law14.7 mA
VGS2.5 VSaturation current (PSpice)25.3 mAVGS − Vth0.42 VVDS reaching 99%0.4 VSquare law25.5 mA
  • The knee sits at VGS − Vth: the VDS where the current reaches 99% of its final value is close to VGS − Vth (to within the 0.1 V spacing of the sweep).
  • Saturation current grows with the square of VGS: each 0.1 V step took it from 1.92 to 6.96, 14.84 and 25.29 mA. Near threshold, 0.1 V multiplies the current several times.
  • The triode formula holds too: at VGS = 2.5 V and VDS = 0.1 V it gives 10.8 mA, close to PSpice's 10.97 mA.
  • 2.1 V is not zero: about 8 µA flows. Below threshold a small current still rises exponentially: the subthreshold region.

4. ID–VGS and finding the threshold

In saturation the square root of the current is proportional to VGS. Plot √ID against VGS and you get a straight line: where it meets the horizontal axis is Vth, and its slope squared is K.

√ID = √K·(VGS − Vth)
Finding the threshold from a √ID–VGS plot

The vertical axis is √(ID) × 100 with ID in amps. The line crosses the axis at 2.084 V, the threshold, and its slope squared is K.

VGSID (PSpice)Fitted lawDifference
1 V300 nA——
2 V200 nA——
2.1 V8.07 µA——
2.2 V1.92 mA1.97 mA+2.8%
2.3 V6.96 mA6.86 mA−1.5%
2.4 V14.8 mA14.7 mA−1.0%
2.5 V25.3 mA25.5 mA+0.8%

Fitting the four points from 2.2 V to 2.5 V (VDD = 4 V) gives Vth ≈ 2.084 V and K ≈ 147 mA/V², and all four points agree within a few percent. That is 9 mV from the Vth = 2.093 V the lab handout uses. Reading the threshold as 'the first VGS with nonzero ID' gets muddled by subthreshold current (as at 2.1 V), so the straight-line fit is more repeatable. The next lab (MOSFET biasing) uses these two values to work out the operating point.

Try it: move VGS and VDS through the regions

The square-law curves come in two versions. 'PSpice fit' (Vth 2.084 V, K 147 mA/V²) shows the PSpice values as dots; 'Bench fit' (Vth 1.535 V, K 123 mA/V²) shows the values measured on a breadboard. The shading is the saturation region (VDS ≥ VGS − Vth), and moving Vth imitates a part with a different threshold.

Drain current against drain-source voltage

VGS − Vth
0.316 V
ID
14.7 mA
Mode
saturation
Saturation current K(VGS − Vth)²
14.7 mA
PSpice / measured (VDS 4 V)
14.8 mA / 94.4 mA
Dissipation ID·VDS
29.4 mW

Things to try: raise VDS from 0 and the current climbs with it, then goes flat the moment it enters the shading (saturation). Watch the saturation current multiply with each 0.1 V of VGS. Switch to 'Bench fit': the current at the same VGS is several times larger, and the measured dots keep creeping up even in saturation.

5. Common mistakes with a real part

  • The real Vth may differ from the model: the 2N7000 datasheet gives VGS(th) from 0.8 V minimum, 2.1 V typical, to 3.0 V maximum. The current at a given VGS can differ hugely between parts, so raise VGG from a low value and look at the current first. Examples with the K above:
    VthID at VGS 2.5 VPower at VDS 4 V
    2.3 V5.9 mA23.6 mW
    2.084 V (model)25.5 mA102 mW
    1.9 V53.1 mA212 mW
    1.7 V94.4 mA378 mW
    Set a current limit on the supply and back off quickly if the dissipation approaches the datasheet's 400 mW.
  • RD is only 10 Ω, so the voltage is tiny: 1.9 mA at 2.2 V is about 19 mV across RD, and the 8 µA at 2.1 V is 0.08 mV. Use the meter's mV range, and record anything below its resolution as 'below the measurement limit', not as 0.
  • Measure VDS directly: VDD = VDS + ID·RD, a 0.25 V difference at 25 mA. Set each VDS in the table by watching the meter across drain and source while you adjust VDD.
  • Heat makes the current drift: tens of mA times a few volts warms the package, the threshold drops as it warms, and the current creeps up. Read the high-current cells as soon as they settle and turn the supply down.
  • Don't leave the gate floating: a floating gate charges from static or your hand and turns the device on at random, and static can damage the oxide. Tie the gate to ground until VGG is connected.

6. Seeing the whole curve in XY mode

RS 100 Ω 2N7000 triangle0~5 V VGG CH1 (X) = VDCH2 (Y) = VS
The XY-mode setup. The drain voltage drives X and the source resistor voltage (= ID·RS) drives Y, so the screen draws the current-voltage curve directly.

Drive the drain with a 0 to 5 V triangle wave (about 100 Hz), put RS = 100 Ω between source and ground, and connect CH1 to the drain and CH2 to the source. Since VS = ID·RS, the screen draws the current-voltage curve directly. Two things to keep in mind:

VGS = VGG − ID·RS
VDS = VD − VS
  • RS eats into VGS: as current flows the source rises, so the real VGS is less than VGG. With VGG = 3 V the model above would pass about 124 mA without RS, but with RS = 100 Ω it settles at VGS ≈ 2.30 V and ID ≈ 6.98 mA. The flat part of the XY trace is therefore not the 'VGS = VGG' curve.
  • The X axis is VD, not VDS: drain-source voltage is VD − VS, so the curve looks shifted right by VS.
  • Keep the triangle above 0 V: if the drain goes negative the MOSFET's body diode conducts, current flows backwards and the left end of the curve bends. Use the generator's offset to get 0 to 5 V and check it on screen.

7. Measuring it on a breadboard

The same circuit (RD = 10 Ω) was built on a breadboard, the voltage across RD read with a multimeter, and ID taken as VRD/RD. The table shows the values exactly as recorded (mA).

VDSVGS 2.1 VVGS 2.2 VVGS 2.3 VVGS 2.4 VVGS 2.5 V
VDS0.1 VVGS 2.1 V5.67VGS 2.2 V6.06VGS 2.3 V6.41VGS 2.4 V6.48VGS 2.5 V6.77
VDS0.2 VVGS 2.1 V10.86VGS 2.2 V11.92VGS 2.3 V12.29VGS 2.4 V12.87VGS 2.5 V13.17
VDS0.3 VVGS 2.1 V14.50VGS 2.2 V16.01VGS 2.3 V17.53VGS 2.4 V18.30VGS 2.5 V18.90
VDS0.4 VVGS 2.1 V21.78VGS 2.2 V25.35VGS 2.3 V26.12VGS 2.4 V28.32VGS 2.5 V28.95
VDS0.5 VVGS 2.1 V26.20VGS 2.2 V30.17VGS 2.3 V32.27VGS 2.4 V33.93VGS 2.5 V35.13
VDS1 VVGS 2.1 V35.24VGS 2.2 V40.52VGS 2.3 V56.28VGS 2.4 V61.98VGS 2.5 V65.13
VDS2 VVGS 2.1 V42.07VGS 2.2 V48.71VGS 2.3 V68.11VGS 2.4 V79.48VGS 2.5 V98.03
VDS3 VVGS 2.1 V43.80VGS 2.2 V51.18VGS 2.3 V73.27VGS 2.4 V80.99VGS 2.5 V100.36
VDS4 VVGS 2.1 V46.99VGS 2.2 V56.74VGS 2.3 V80.86VGS 2.4 V94.37VGS 2.5 V102.74
ID–VDS curves (measured on a breadboard)

The vertical scale is four times the PSpice plot's: at the same VGS the current was several times larger.

VGSMeasured IDPSpice IDMeasured ÷ PSpiceBench fit
VGS1 VMeasured ID500 nAPSpice ID300 nAMeasured ÷ PSpice—Bench fit—
VGS2 VMeasured ID22.2 mAPSpice ID200 nAMeasured ÷ PSpice—Bench fit26.7 mA
VGS2.1 VMeasured ID41.5 mAPSpice ID8.07 µAMeasured ÷ PSpice×5,139Bench fit39.4 mA
VGS2.2 VMeasured ID57.1 mAPSpice ID1.92 mAMeasured ÷ PSpice×30Bench fit54.6 mA
VGS2.3 VMeasured ID81.2 mAPSpice ID6.96 mAMeasured ÷ PSpice×12Bench fit72.2 mA
VGS2.4 VMeasured ID93.5 mAPSpice ID14.8 mAMeasured ÷ PSpice×6Bench fit92.3 mA
VGS2.5 VMeasured ID105 mAPSpice ID25.3 mAMeasured ÷ PSpice×4Bench fit115 mA
√ID–VGS: the bench line and the PSpice line

The vertical axis is √(ID) × 100 with ID in amps. The two lines have similar slopes and sit about 0.55 V apart sideways.

  • The threshold was about 0.55 V lower: the same straight-line fit as in section 4, on the six bench points from 2.0 to 2.5 V, gives Vth ≈ 1.535 V and K ≈ 123 mA/V². K is close to the PSpice fit (147 mA/V²); only Vth is far off. It is inside the datasheet range (0.8 to 3.0 V), so this is part-to-part spread, not a bad part.
  • So 2.1 V already passes tens of mA: in PSpice, 2.1 V sat just above threshold and gave about 8 µA; the bench gave 46.99 mA at VDS 4 V, roughly 5,801 times as much. Under the square law a small voltage difference near threshold turns into a huge ratio.
  • The ends bend away from the fitted line: the fit runs 20% above the bench at 2.0 V and 9% above at 2.5 V. Near 100 mA the part warms and mobility drops, so the curve flattens. Say which range you fitted so someone else can reproduce your numbers.
  • Saturation is not flat: from VDS 2 V to 4 V the current still rose 5% to 19% depending on VGS. That is channel-length modulation and self-heating, both almost absent from the PSpice model.
  • It reached the power rating: the VGS 2.5 V, VDS 4 V cell is 102.74 mA × 4 V ≈ 411 mW, over the 2N7000's 400 mW (25 °C). With a low-threshold part, read the bottom-right cells quickly and turn the supply down.
  • The VDS 0.1 V row hardly changes: VDS/ID is 17.6 Ω at VGS 2.1 V and 14.8 Ω at 2.5 V. The bench fit says 2.5 V and 0.1 V should give 22.6 mA, so resistance outside the channel (wiring, breadboard contacts, where VDS was measured) has very likely crept in. For the triode region, put the probes straight on the drain and source legs.

With this measured Vth and K the next lab's bias circuits come out very close to the bench. The bench section of the MOSFET biasing guide makes the comparison.

8. In your lab report

  • Draw the boundary VDS = VGS − Vth on the ID–VDS plot so the triode and saturation regions separate at a glance.
  • Plot √ID from your ID–VGS readings to get your own part's Vth and K; the bias lab can then use them instead of the model's.
  • Most of the gap between simulation and bench comes from Vth. Saying how far the two curves are shifted sideways (the threshold difference) explains more than a percent error alone.

Plot a pasted table with the lab data analyzer (free form), get currents from resistor voltages with the Ohm's law calculator, and check meter error on small voltages with the multimeter accuracy calculator.