Why use a BJT to pilot a MOSFET?

I've seen many circuits where a BJT transistor is used to control the gate of a MOSFET, in some (much less) others I've seen it controlled directly: why and when should I use a transistor to pilot a MOSFET?

Definitely, there is no simple answer to this ... the application ultimately defines whether it's needed or not.

When controlled directly, it would usually be a logic-level MOSFET and used in low to medium frequency switching applications.

A BJT transistor can be used to condition the signal (in any application) or provide necessary drive parameters in higher frequency applications. Design And Application Guide For High Speed MOSFET Gate Drive Circuits

Oh! I thought I had found some sort of answer by googling a bit which led me to identify one possible reason: the MOSFET is put into conduction by accumulating a charge on the gate and to accumulate that charge a current is required. To avoid to burn out an MCU pin by sourcing too much current we can use a BJT to provide it. In that case the parameters to take in consideration would have been the input capacitance, gate source voltage and gate source resistance... if I'm not mistaken :roll_eyes:

I'm reading the document you posted: bloody hell how much I was missing about MOSFETs!

Thanks a lot man: here some Karma for you!

rlogiacco:
Oh! I thought I had found some sort of answer by googling a bit which led me to identify one possible reason: the MOSFET is put into conduction by accumulating a charge on the gate and to accumulate that charge a current is required. To avoid to burn out an MCU pin by sourcing too much current we can use a BJT to provide it. In that case the parameters to take in consideration would have been the input capacitance, gate source voltage and gate source resistance... if I'm not mistaken :roll_eyes:

That's one reason to do it, yes. This is especially relevent when you're doing PWM - the faster you can charge/discharge the gate, the cooler the MOSFET will run.

Beyond all that stuff about high-speed switching speed (which is often not relevant for arduino projects), there are a couple of simpler cases where people might use BJTs to drive MOSFETs, due to a need for a higher voltage than the microcontroller runs at on the gate.

Driving N-Channel MOSFETs that need a higher gate voltage than the microcontroller provides in order to turn on fully

Driving P-Channel MOSFETs that switch voltages higher than what the microcontroller runs at (and hence need to be at too high a voltage for the microcontroller to have on an IO pin when the FET is off)

Yes, the commonest case I've seen is an NPN used to level-shift a logic signal to say 12V to drive
a high-side p-FET switch.