I am working on a project that requires me to extract the proper value of the threshold voltage of a particular MOSFET.

I know that VT is quite arbitrary in its definition. I've researched the subject and found that there exist multiple testing methods for threshold voltage.

However I wanted a simpler and faster method. I evaluated the behavior of the FET at two different VGS values (while the transistor was in its current saturation region) and did this:

$$ \frac{I_{D1}}{I_{D2}} = \frac{K (V_{GS1} - V_{T})^{2}}{K (V_{GS2} - V_{T})^{2}} $$

$$ I_{D1}{V_{GS}}^{2} - 2 V_{GS2} V_{T} I_{D1} + {V_{T}}^{2} I_{D1} = I_{D2} {V_{GS1}}^{2} - 2 V_{GS1} V_{T} I_{D2} + {V_{T}}^2 I_{D2} $$

which resolves to this:

$$ {V_{T}}^2 (I_{D2} - I_{D1}) + V_{T} (2V_{GS2} I_{D1} - 2V_{GS1} I_{D2}) + I_{D2} {V_{GS1}}^2 - I_{D1} {V_{VGS2}}^2 = 0 $$

The equations has the following solutions: $$ V_{T} = \frac{ -2 (V_{GS2} I_{D1} - V_{GS1} I_{D2} ) }{ 2 (I_{D2} - I_{D1}) } \pm \frac{ \sqrt{ (2 V_{GS2} I_{D1} - 2 V_{GS1} I_{D2})^{2} - 4 (V_{GS2}^{2} I_{D1} - V_{GS1}^{2} I_{D2}) (I_{D2} - I_{D1}) } }{ 2 (I_{D2} - I_{D1}) } $$

Which VT do I choose from the two solutions?

Now, I've thought about only taking the positive or the one smaller than the current drain-to-source voltage, but I still can't choose the right one. Perhaps I should abandon this method and continue with my precarious imitations of the Constant Current / Constant Voltage Methods?


4 Answers 4


I am working on a project that requires me to extract the proper value of the threshold voltage of a particular MOSFET.

I know that ... there exist multiple testing methods for threshold voltage.

However I wanted a simpler and faster method.

The simplest method for experimentally determining \$V_T\$ of a MOSFET is to connect drain to gate, so the MOSFET acts somewhat like a Zener. Then apply power through a large value resistor to this gate/drain connection. Read the threshold voltage directly as \$V_{ds}\$.

If the resistor is large enough to make the current very small, the difference between the measured value and the theoretical value will be very small.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Shouldn't I also monitor the current? \$\endgroup\$ Aug 18, 2023 at 19:44
  • 1
    \$\begingroup\$ If you use a large value resistor so that the current is very small, the difference between what you measure, and the theoretical value will be very small. \$\endgroup\$ Aug 18, 2023 at 19:46
  • 1
    \$\begingroup\$ Aaaaah...So the resistor is not there for stability or current readout reasons, but too keep the current just above what would be considered zero. Interesting! \$\endgroup\$ Aug 18, 2023 at 19:51
  • 2
    \$\begingroup\$ Also note that the voltage doesn't change all that much in relation to R1. It will stay well within +/-50mV from 1k to 1M. 100k is a good value for use with a 10Mohm input impedance voltmeter. \$\endgroup\$ Aug 18, 2023 at 20:53

The simplest method I know of involves no external parts - just power supply, a voltmeter, and the mosfet:


simulate this circuit – Schematic created using CircuitLab

$$V_{T(M1)} \approx V_1-V_{M1} = 10{\,\rm V} - 7.80{\,\rm V}=2.2{\,\rm V}.$$

Voltmeter's input impedance is used for current limiting. A wide variety of digital and analog voltmeters will show comparable results in this method.

Pretty much every DVM/multimeter that has a "very high"-impedance mode can be switched back to 10MΩ or 1MΩ input impedance mode and will work nicely in this application.

For small signal MOSFETs I use a 9V battery as a power source. For power mosfets 12V is better.

An analog VOM works even better since it’ll have a more sensible input impedance for this application - drawing more drain current. Say 20kΩ/V or 200k at 10V range.

For use with a DVM / digital multimeter, it makes sense to parallel 10k-100k across the meter to get the measurement at a higher current. Then the rearranged version of the circuit with DCM across the mosfet allows for direct readout, no algebra required - as shown in other answers.

  • \$\begingroup\$ Very interesting. I tested this on the breadboard and I think the DMM's resistance is a bit overkill. The current in the circuit is about 500-600 nA with the voltmeter in series. \$\endgroup\$ Aug 18, 2023 at 21:25

No quadratic equation is needed here:

$$\frac{I_{D1}}{I_{D2}} = \frac{\textrm{K}(V_{GS1} - V_T)^2}{\textrm{K}(V_{GS2} - V_T)^2}$$

And the result is

$$\frac{I_{D1}}{I_{D2}} = \frac{(V_{GS1} - V_T)^2}{(V_{GS2} - V_T)^2}$$

$$\sqrt{\frac{I_{D1}}{I_{D2}}} = \frac{(V_{GS1} - V_T)}{(V_{GS2} - V_T)}$$

$$\frac{\sqrt{I_{D1}}}{\sqrt{I_{D2}}} = \frac{(V_{GS1} - V_T)}{(V_{GS2} - V_T)}$$

$$\sqrt{I_{D1}} \:(V_{GS2} - V_T) = \sqrt{I_{D2}} \:(V_{GS1} - V_T) $$

$$\sqrt{I_{D1}} \:V_{GS2} - \sqrt{I_{D1}} \: V_T = \sqrt{I_{D2}} \:V_{GS1} - \sqrt{I_{D2}} \:V_T $$

$$ - \sqrt{I_{D1}} \: V_T = \sqrt{I_{D2}} \:V_{GS1} - \sqrt{I_{D2}} \:V_T - \sqrt{I_{D1}} \:V_{GS2} $$

$$ - \sqrt{I_{D1}}\: V_T + \sqrt{I_{D2}} \:V_T = \sqrt{I_{D2}} \:V_{GS1} - \sqrt{I_{D1}} \:V_{GS2} $$

$$ V_T \left(\sqrt{I_{D2}} - \sqrt{I_{D1}} \right) = \sqrt{I_{D2}} \:V_{GS1} - \sqrt{I_{D1}} \:V_{GS2} $$

$$ V_T = \frac{ \sqrt{I_{D2}} \:V_{GS1} - \sqrt{I_{D1}} \:V_{GS2}}{ \sqrt{I_{D2}} - \sqrt{I_{D1}} } $$

And to measure \$V_T\$ on the bench you can use this schematic.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Wow. - infinity for myself for not thinking about doing this. \$\endgroup\$ Aug 18, 2023 at 19:40
  • \$\begingroup\$ Well I used a JFET as the current source for the MOSFET when doing this on the bench :) The 1K resistor is there to take care of destructive oscillations? \$\endgroup\$ Aug 18, 2023 at 19:53
  • \$\begingroup\$ The JFET will do the job as well. Just set the current below 1mA. And yes, RG is just in case. \$\endgroup\$
    – G36
    Aug 18, 2023 at 19:57
  • 2
    \$\begingroup\$ Note that you still have both solutions -- they're just hidden by omitting the ± (and ∓) symbol (or enumerating the two cases separately) from the √ operation. \$\endgroup\$ Aug 18, 2023 at 20:09
  • 1
    \$\begingroup\$ Just making light of the mathematics of the problem -- it happens we can discard one solution because it doesn't exist in the piecewise definition (Id = 0 for Vgs < Vt). \$\endgroup\$ Aug 18, 2023 at 20:20

In simplest terms, this is a math problem, not electronics; but as it arises in electronics, it's perfectly fair game!

So let us identify the most general math case, and then apply that to the particulars of the electronics problem.

Assumption: the transfer function is a quadratic. It isn't, actually (there's always an exponential tail at low currents, and either terminal resistance dominates at high currents, or gm falls off entirely), but it is good to state this explicitly to know that we are either working with an imaginary model of a real transistor (often the case in introductory homework), or, a real transistor over the limited range for which this assumption holds.

Note that a real quadratic is symmetrical, i.e. ID goes up for VGS < VT. We add a piecewise exception to the model and just say ID = 0 there, but when we're working with the quadratic alone, that domain is still present -- it's up to us to mask it off separately.

Basically the ambiguity is, we don't know if the parabola's vertex falls between the points, or to one side of them.

We also actually need to know whether the vertex is above or below (or between) the two points. We have three unknowns and thus require three points and three equations to solve them!

In this case, we have the implicit 3rd point, that the vertex lies at VT, where ID = 0. This gives us the required cutoff condition, with both ID and gm falling to zero at VT.

Start with the general quadratic:

$$ y = a x^2 + bx + c $$

We have three points to solve with:

\begin{split} (x_0, y_0) \quad \rightarrow \quad y_0 = a {x_0}^2 + b x_0 + c \\ (x_1, y_1) \quad \rightarrow \quad y_1 = a {x_1}^2 + b x_1 + c \\ (x_2, y_2) \quad \rightarrow \quad y_2 = a {x_2}^2 + b x_2 + c \end{split}

Well, sort of. We know \$y_0 = 0\$, but need to solve for \$x_0\$ (which will be VT in the end). We can trade this for a constraint; we add one more equation.

The vertex is found at \$b = -2 a x_0\$. Substitute through:

\begin{split} y_0 =\,& a {x_0}^2 + (-2 a x_0) x_0 + c \\ y_1 =\,& a {x_1}^2 + (-2 a x_0) x_1 + c \\ y_2 =\,& a {x_2}^2 + (-2 a x_0) x_2 + c \end{split}

The first simplifies to \$c = y_0 + a {x_0}^2\$. Substitute again:

\begin{split} y_1 =\,& a {x_1}^2 + (-2 a x_0) x_1 + (y_0 + a {x_0}^2) \\ y_2 =\,& a {x_2}^2 + (-2 a x_0) x_2 + (y_0 + a {x_0}^2) \end{split}

Now we have two unknowns, \$a\$ and \$x_0\$, in terms of known parameters, and two equations.

We still have the ambiguity that we're solving a quadratic: we need to pick whether the threshold is between points, or outside them.

As it happens, we should take the negative square root:

\begin{split} x_0 =\,& \frac{ x_1 \pm x_2 \sqrt{\frac{y_1}{y_2}} }{ 1 \pm \sqrt{\frac{y_1}{y_2}} } \\ a =\,& \frac{ y_1 + y_2 }{ {x_1}^2 + {x_2}^2 + 2 {x_0}^2 - 2 x_0 x_1 - 2 x_0 x_2 } \end{split}

where the ± are taken with the same sign in the x0 expression.

Visualization: https://www.desmos.com/calculator/txruwjgztl

Quadratic solution with negative radical

Quadratic solution with positive radical


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.