I am trying to learn about MOSFETs and see this p channel MOSFET and this tutorial. I am trying to use a 3.3V arduino GPIO pin to control a load that is powered from a 4.2V battery in much the same configuration as the circuit drawn in that tutorial. Most other tutorials I see say the Gate Voltage needs to be equal or greater than the Source Voltage, but the tutorial I cited describes that actually the Voltage between the Gate and Source just needs to be more negative than the Threshold Voltage. The P channel mosfet I cited is Vthreshold -2V to -4. So my question is whether this P channel MOSFET would allow me to use a 3.3V arduino GPIO to control whether that 4.2V source is closed or open to the drain/load. Looking at how that tutorial does the math, it seems in my case the GPIO being off would mean Vgs is 0 - 4.2 = -4.2 and therefore the MOSFET is in the ON state. If GPIO is on at 3.3V then Vgs is 3.3 - 4.2 = -0.9 and therefore the MOSFET is OFF. However, the tutorial doesn't say what happens when Vgate < Vsource but by an amount less than the Vthreshold so I don't know if my math is right.

In sum my questions are:

  1. Is my math and prediction of the MOSFET states correct when that 3.3V GPIO is on or off?
  2. If not, is it because of some other quality in this MOSFET and a different P MOSFET would work?
  3. I presume that if I keep out of the Vgs upper and lower bounds then I avoid issues where the MOSFET is in a partially on and partially off state, is that correct?
  4. Is it just impossible to use P MOSFETS in this way?

Note: My questions only pertain to P MOSFETs. For my project (switching a 1-2A disco light toy), it has to be a high side switch and that's even besides the point because I am more importantly trying to understand how the P channel mosfets work.

  • The threshold voltage is only critical when switching high currents. What's your load circuit? Is it in the order of mA or A?
    – Sim Son
    May 12, 2021 at 5:52
  • I have three cases. One is <200mA, another is 1A, the last is <2A
    – rfii
    May 15, 2021 at 7:00

1 Answer 1


The MOSFET you chose will probably fail. Using a 30V device on a 24V system is asking for problems. Go to a minimum of a 60V MOSFET and use a UIS, Avalanche rated one. R4 is very week for what you need to do, I would suggest something in the 10K range to swamp out any leakage in the Arduino. If the MOSFET is properly rated the flyback diode is not needed but make a space for it incase you have to sub a MOSFET. Putting C2 in parallel with C1 will help. I do this a lot with electrolytics. I double up each one the needed size when one fails you don't notice it. I would suggest a couple of 220nF caps across the motor but that is application dependent.

  • 1
    The OP says he's switching 4.2v not 24v
    – Bra1n
    May 12, 2021 at 6:54
  • OOPS right answer wrong question.
    – Gil
    May 14, 2021 at 1:05

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.