# For 3.3V microprocessors, what's the best way to power the gate of a MOSFET?

The new processors are all 3.3V and dropping. So while I am used to 5V arduinos being able to power the gate of a MOSFET, at least most of the way, this is not going to be true any more. And for an IRF630, someone pointed out that I really need to drive the gate to 10V to get the rated on-resistance. So what's the canonical way to do this? Do I have a 10V power supply, and drop the voltage for the processor, have a charge pump that generates the 10V from 3.3V? The current will be very small, because the gate has massive impedance.

Finally, assuming the 10V power supply, what's a good way to switch that voltage to the gate? Do I have to use a small junction transistor because I don't have the voltage to switch a MOSFET?

The junction transistor is shown in this solution: Multiplying the voltage of an output pin on an Arduino board

I'm just asking if there is another way.

• The general integrated solution to control power MOSFETs is a "mosfet driver", e.g. linear.com/product/LTC1156 (although that one isn't precisely suitable for you as it won't run on 3.3V) May 22, 2016 at 9:56
• You ask this as if there's one-size-fits-all solution to this. Well, there isn't. If there was no voltage but the 3.3 V I'd make a charge pump (possibly using one of the uC's outputs as a clock for that) to make the 10 V. Feed that 10 V with a resistor to teh MOSFET's gate. Use a small NMOS to short that gate to ground to switch it off. Control small NMOS's gate from uC. But this wil not work up to very high switching speeds. That's the price of a simple solution. May 22, 2016 at 9:58
• MOSFETs can have significant current into / out of the gate during switching, depending on the device (and a 10V gate drive requriement might well be associated with a power device). May 22, 2016 at 11:52

Three options.

1. Use a mosfet with a VGS compatible with 3.3V. Typically known as a logic level mosfet.

2. Use a simple npn transistor as a switch to drive the mosfet at a higher voltage. Logic would be inverted.

3. Use a dedicated mosfet driver IC.

• Note that option 2 (NPN/N-ch driving P-ch) is a poor choice when the switching frequency is significant (say >= 1kHz) because the pull-up resistor that turns off the P-ch FET can only be so strong (low resistance). Hence there's an "RC time constant" limiting how quickly the gate can be charged and during that time the P-ch FET will be operating in the linear region (neither fully on nor fully off so potentially high-power dissipation). It's fine if you just want to occasionally turn something on or off, but when I've tried to use it for low-cost PWM I've regretted it. Aug 23, 2022 at 19:44

Assuming you only have 3.3V available, that your MCU can supply at least 1mA thru the gpios, and that your application does not require more than 10A, I would use a N mosfet compatible with 3.3V.

For example the PMV16XNR has an On-Resistance of only 20 mOhm when powering the gate at only 3V, and can source a bit more than 6A. There are many other compatible MOSFETS.

Just be careful to add a resistor from your gpio to the gate, so the current spikes when switching the mosfet are not too large. For the PMV16XNR I use 500 Ohm resistors before the gate so the spikes are 6mA and the maximum switching frequency is somewhere near 300 KHz.

If using this option remember also to put a large resistor from the gate to ground, so it is powered off if gpio is floating.

If you need a much bigger MOSFET, then a mosfet driver or a charge pump could be necessary.

• How can I calculate switching frequency? Nov 11, 2019 at 13:49
• @UzairAli Basically, the switching frequency is limited by how fast you can charge the gate. You can divide the total gate chage (Q_G(tot)) by the gate current, where the gate current is limited by the gate resistor. So divide one second by that period to get the upper frequency limit. So with Q_G(tot) from the datasheet and above values I get 1/(13.4 / 10**9 / (3.3 / 500)) ~= 492 kHz. However, cf. Figure 14 from the datasheet, which shows that Q_G depends on V_GS. With Q_G(tot) at 3.3 V I arrive at 660 kHz. V_GS is probably even lower since there is a voltage drop at the GPIO pin. Feb 20, 2022 at 22:59

For P-channel FETs, another option is to use a combination N/P MOSFET device. These have both P and N FETs built into the same pacakge. The P can be used as the high-side switch and the N can be driven at 3.3V to turn the P on/off. For example, SI4559ADY-T1-E3.

I've been using the NPN MOSFET AO3400 with a Rds(at Vgs = 2.5V) < 52mΩ with good results. They can be bought cheaply (100 pieces for less than 3 dollars) online from aliexpress or ebay. There is also the PNP MOSFET AO3401 with Rds(at Vgs =-2.5V) < 85mΩ for high side switching. The AO3401 is also useful for reverse polarity protection.

• that would be n-channel, and p-channel, right...
– Dov
Feb 14, 2019 at 20:31
• Yes, since these are MOSFETs I should have said N-channel Enhanced and P-Channel Enhance.
– tst
Feb 18, 2019 at 16:30
• You don't need any special smd tools. Just buy a fine solder tip and with a bit of practice you can easily solder smd parts using a regular soldering iron.
– tst
Feb 29, 2020 at 1:26
• can you actually put 5a through those a3400 though? i cant believe something in that small a package is able to handle that kind of current Feb 23, 2022 at 20:26
• A3400 will definitely not work at 5A (P = I^2 * r = 25 * 0.052 = 1.3W). It is not a power MOSFET. The original question is about how to turn on a MOSFET from a 3v3 Arduino, and I suggested that the A3400 can indeed be turn fully on at 3V.
– tst
Feb 25, 2022 at 6:35