I'm looking at electronic speed control circuit design, and notice that most use a driver IC like TI's DRV series of chips. At the moment, sourcing these chips is extremely difficult, so I'm wondering why the MCU GPIOs can't switch the MOSFETs directly.

  • 2
    \$\begingroup\$ Usually there are more than just simple mosfets on those ICs; protection diodes, dead time insertion circuitry, over-current protections and charge pumps to increase Vgs of the N-mosfets to further decrease drain-source resistance. \$\endgroup\$ Jun 22 at 8:14
  • 1
    \$\begingroup\$ There are specialized high-side drivers/low-side drivers designed to take care of all of this for you in a single package. \$\endgroup\$
    – Lundin
    Jun 22 at 10:54
  • 2
    \$\begingroup\$ @Lundin, but the question explained why OP can't... \$\endgroup\$
    – TonyM
    Jun 22 at 11:25
  • 2
    \$\begingroup\$ @TonyM Not really. Any random component can have a shortage at the moment and the reason isn't technical, but that the electronics industry is in the hands of thoroughly incompetent private companies who have managed to secure monopolies/oligopolies without any government protesting about it. \$\endgroup\$
    – Lundin
    Jun 22 at 12:50

4 Answers 4


Sometimes they can. But when they can't there are two main reasons- not enough voltage and/or not enough current.

The voltage is required to get many MOSFETs to turn on so they have low resistance. Often 10V is required. No common MCU can supply more than 5V and many these days are 3.3V on the GPIO pins.

The current is required to get the MOSFET to switch quickly so the losses are not too great. Often peak currents in the amperes are required to get good switching. Tens of mA is more likely what you can get from a GPIO pin.

Another reason is that you may need a charge-pump and high voltage driver for an high-side output stage- that would typically use a special chip that can handle 600V when your bus voltage is 160 or 320VDC. The low side driver can be stuck on the same chip. The high side driver shifts the 10V or so gate drive to the positive rail so you can use an N-channel MOSFET.

If you have a power MOSFET that is logic-level (specified for Rds(on) at Vgs of the same or less than your MCU Vdd) and the MOSFET safe-operating area specification is not violated by slow switching you may be able to drive it directly, for example to switch a motor or heater on and off without PWM.

  • 2
    \$\begingroup\$ Type hint: I've been using the IRLZ44N Power MOSFET to drive motors using a 3.3V MCU. The characteristic to look for would be V_GS, on this FET it is at 1-2V. \$\endgroup\$
    – orithena
    Jun 23 at 8:35
  • \$\begingroup\$ Note that both of those problems can be overcome by using a garden-variety signal-chain MOSFET (by signal-chain I mean the type of electronic circuits where you find dual-12V-supply op-amps, neither high-power nor low-voltage) to amplify (and invert) the GPIO signal. Which in this world of scant supply, should be a lot easier to source than a single-purpose "FET driver" chip. \$\endgroup\$
    – Ben Voigt
    Jun 23 at 21:17
  • 2
    \$\begingroup\$ @orithena IRLZ44n is not well specified (maximum Rds(on)) for 3.3V. It’s okay for 5V. Using Vgs(th) is not a great practice. \$\endgroup\$ Jun 23 at 21:34
  • \$\begingroup\$ @BenVoigt a signal MOSFET RTL inverter will give higher gate voltage and will turn the power MOSFET off quickly, but turning on requires the resistor to supply all the gate charge despite Miller effect, so it will be slow and waste a lot of power. Adding a pair of complementary emitter-follower BJTs can deal with that, and is cheap/relatively simple provided you don’t need other features such as dead time, charge pump, or getting right to the 0V /Vdd levels (you lose a diode drop). There is a reason why the gate driver chips are popular- in fact they’re often useful for ‘off-label’ uses. \$\endgroup\$ Jun 23 at 21:44
  • \$\begingroup\$ @SpehroPefhany: For certain... the only reason to use the discretes instead of the integrated solution is when the integrated one has either no or unpredictable sourcing. But it can be done with just a few discretes, all of which have many (hundreds!) of viable substitutes with the same footprint. \$\endgroup\$
    – Ben Voigt
    Jun 23 at 21:49

The MOSFET gate turn-on voltage may be higher than what an MCU I/O pin can provide. A driver circuit can translate the I/O logic output voltage into a strong 'on' gate voltage.

A MOSFET drive circuit must be able to charge and discharge the MOSFET's gate-source capacitance fast enough to produce the wanted output waveform at the drain.

This capacitance (often Ciss or Cgs in the datasheet) is of significant size, particularly in power devices. An MCU I/O pin may be able to provide the required current source/sink to charge/discharge fast enough, it may not. It depends on the particular MOSFET'S gate capacitance, the driver's sink/source current and the required operating frequency.

As an aside, a series resistor should always be used when driving a switching FET gate from a logic output, such as an MCU pin. This reduces the max. instantaneous I/O current at switching. It also reduces the effect of the load switching which is coupled back to the logic gate output by the FET's drain-gate capacitance, which can produce negative spikes at the FET gate.

  • 2
    \$\begingroup\$ To expand a bit on the capacitance, you regularly see MOSFET driver chips with allowed pulse currents in the 0.5A to 2A range, sometimes higher. Even if it's short term, it's not something an MCU can provide. \$\endgroup\$
    – jaskij
    Jun 22 at 16:17

Because they are electrically incompatible.

If you have a MCU with 3.3V IO voltage, it is possble that N-FET requires more than 3.3V at gate to turn on properly.

If you have a P-FET and the supply at source is 12V, you would only be able to drive gate to 0V and 3.3V, so the P-FET would be always on.

So the MCU IO pin voltages must be converted to larger voltages suitable for driving FET gates.

The FET gate is also highly capacitive load, so turning the FET on and off requires moving charge into and out of gate. That must be done relatively quickly so the FET is not halfway on very long. Quickly charging gate capacitance needs high current drive ability which MCU IO pins don't have.

So in addition to the larger voltage levels, FET driving needs much more current too.


Others have already explained the 'why not's, so I'd add the 'BUT' part.

For simple applications(*), with reasonably modern parts (**) and with a 5V micro (***) you certainly can build something that works reasonably well. You are still supposed to add some gate discharge resistors (for ex. 100k), some gate protection and a series resistor is also often a good idea.

FET driver ICs aren't magic, but they are still very convenient parts. For many applications, you don't need them at all. When you need some of their features, like high-current sourcing/sinking, level shifting, bootstrapping, you can often get away with a circuit made with a few discrete parts, that'll "work well enough".

(*) for example, fan speed control
(**) for ex. the IRFZ44 fet, that has a maximum Vth of 4V
(***) I've never tried it with a lower-voltage one, but might work.


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.