I am working on simple precision current source figure below, I need figure out how to choose correct Opamp and Mosfet to have most accurate result (Linear).

So how do I calculate (or choose) Opamp and Mosfet requirement , to be able to get 1nA to 1uA.

enter image description here enter image description here Green Is current and Red is input voltage

The R1 value could be change (Iout = Vin/R1) but I am more interested on linearity and choosing correct Opamp and Mosfet.

Vin = 0-3V variable (From DAC)

  • \$\begingroup\$ Product recommendations are off topic here and aren't useful to future readers. \$\endgroup\$
    – DKNguyen
    Oct 31, 2019 at 17:22
  • 2
    \$\begingroup\$ I am not looking for product recommendation I am looking for, how do I calculate these requirements for opamp and Mosfet. \$\endgroup\$
    – Shahreza
    Oct 31, 2019 at 17:26
  • \$\begingroup\$ What Vout range is required and Io vs Vin specs? Then why assume this is the best way to meet your specs? \$\endgroup\$ Oct 31, 2019 at 17:28
  • 1
    \$\begingroup\$ I don't think you need the pass transistor. It's only 10uA max and it's also running off 3.3 V just like the op-amp so it's not really doing anything that the op-amp couldn't be doing on its own. \$\endgroup\$
    – DKNguyen
    Oct 31, 2019 at 17:45
  • 1
    \$\begingroup\$ Choose an opamp whose combined error of input offset voltage and input bias current (into the load resistor) produces a voltage error across the load resistor of less than 1 % When trying to produce 10 nA. Report what you calculate that to be. Then try and find a MOSFET that has a leakage current that is very, very, very, very small. Good luck. You’ll find that you will likely be better off using a BJT although it might still be flaky. \$\endgroup\$
    – Andy aka
    Oct 31, 2019 at 17:53

1 Answer 1


The load circuit is probably a PRT or BJT for measuring temperature. Thus you don't want to drive the long leads to the sensor and back to the inverting input of the op-amp, it will oscillate. By using a MOSFET, you decouple the feed back making it stabile. The op-amp is easy. The hard part is finding a MOSFET with very low leakage over temperature. A low Vth is typically 0.45V @ 250uA. Remember, we want the MOSFET in the saturated region (Vds > Vgs). So what's happening at 10nA? We don't know, no specs are given at that low of a current. The BJT will have a very low Beta at that current level and thus will be very inaccurate. The sense resistor has iC+iB, so the load current will be iB less than iC. The required accuracy for a DT-670 silicon temperature sensor is 10uA +/- 0.1% (My problem). Also 10Meg ohms requires, clean boards with no contamination.


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.