I am trying to use IRF520 as a relay driver for ESP32, but by reason unknown it does not works. I have replaced it twice with a new ones, but yet it keep not working. I have 3V on the ESP32 pin when the state is HIGH and 0V when the state is LOW. I am using the circuit below:

enter image description here

  • Why the IRF520 never trigger the relay ?
  • 1
    \$\begingroup\$ Look at Figure 1 in the datasheet. \$\endgroup\$
    – Transistor
    Jan 5, 2020 at 15:53
  • 1
    \$\begingroup\$ Then go search for logic level FETs with Vt=1V or make a 3V to 12V level shifter using any NPN. or simply use any NPN to drive the coil instead of FET. Why don't they teach students that Vgs(th) is just the very early threshold of conduction at < 1mA and that has a 50% tolerance. All the old Enh FETS were 2~4V for Vt. Also if it starts with IRF it is the old style. \$\endgroup\$ Jan 5, 2020 at 16:07
  • \$\begingroup\$ So.. is there some other FET transistor I can replace it ? The relay is consuming about 50 mA. \$\endgroup\$ Jan 5, 2020 at 17:26
  • \$\begingroup\$ Look for "logic level mosfet" \$\endgroup\$
    – Huisman
    Jan 5, 2020 at 21:26

1 Answer 1


What you missed is that threshold voltage for IRF520 is 4V. A MOSFET won't start conducting heavily (or completely turn ON) until threshold voltage is reached. You are using 3.3 volts which is obviously less than that.You need a separate drive circuit or just use another transistor with a lower threshold voltage, say 3 volts.

  • 1
    \$\begingroup\$ Actually, a MOSFET will start conducting below the threshold voltage. And a transistor with a threshold of 3V might not provide enough current at the measured threshold voltage. I think this answer oversimplifies MOSFET behavior to the point that it may do more harm than good. \$\endgroup\$ Jan 5, 2020 at 16:17
  • 3
    \$\begingroup\$ @ElliotAlderson: And if you look closely at the drain current at which the threshold voltage is determined (250 uA in this case), you'll find that it's far too low to drive something like a relay. \$\endgroup\$
    – Dave Tweed
    Jan 5, 2020 at 16:30
  • 3
    \$\begingroup\$ There is some confusion here. 4V is the maximum threshold voltage of an IRF520. A FET with maximum threshold of 3V will probably have a nominal value of around 2V, so it might work but is not guaranteed. To be sure, you should choose a device specified for 3V or 2.5V Gate drive. \$\endgroup\$ Jan 5, 2020 at 16:52
  • \$\begingroup\$ Yeah you are right. It could be that the particular device @AnapSinahputra is using is having threshold voltage at its maximum limit of 4 Volts. \$\endgroup\$
    – User
    Jan 5, 2020 at 17:05
  • \$\begingroup\$ oh gods. i didnt know this! :O Thank You ! \$\endgroup\$ Jan 5, 2020 at 17:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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