Driving IRLR7843 MOSFET with ESP32 and PCF8575 – Feasibility Study

esp32mosfetport

I posted earlier about using BUZ11 Mosfets in my project and driving them with a CA3081 NPN transistor array. But as I need 24 Mosfets, the circuit parts count is still too high.

I have researched several other Mosfets, looking for one that is 3.3v compatible and capable of 6A output with out getting too hot and, can be driven directly from both an ESP32 and a PCF8575 IO port Expander board.

I found the IRLR7843 that seems like it should work.

The data sheet shows a Max Gate Threshold Voltage of 2.3v, with a very low Static Drain-to-Source On-Resistance of 3m ohm @ VGS = 10V, ID = 15A and VGS = 4.5V, ID = 12A

I am new to using Mosfets and not sure if my reasoning is correct, any help would be greatly appreciated, thanks. Here is my circuit idea:

enter image description here

Here is the data sheet for the IRLR7843:

enter image description here
enter image description here

enter image description here

Best Answer

Gate threshold is irrelevant when using a MOSFET as a switch. That's the voltage it just barely starts to conduct. It is only useful for analog applications. You want the Vgs were the MOSFET actually conducts well which is the Vgs given for the rated to achieve the rated RDson.

So for this MOSFET you want a Vgs of at least 4.5V since that is the lowest voltage to achieve one of the rated RDson. Therefore this MOSFET is not considered to be 3.3V compatible.

It might still work in your application if your current is low and in this case you look to the Id vs Vgs curve to find out what the actual RDson will be for your applied gate voltage:

enter image description here

For the 25C graph, it cuts at the low end so we can't see what it is at Id = 6A. But you can see that for Vgs = 3.3V, Vds = 0.1V when Id = 10A. So that is an RDson = Vd/Id = 9mOhm.

MOSFET source-drain resistance changes with temperature, often heating up, so there is also a graph for 175C. Again, we see that for Vgs = 3.3V, Vds = 0.1V when Id = 15A. Therefore RDson = 7mOhm.

So as far as that is concerned your MOSFETs are quite oversized for the current so you will get away with 6A if you use a Vgs below that required for the specified RDson.

Technically you would calculate the dissipated power using the current and RDson and use the thermal resistance of the MOSFET package to ambient to calculate the temperature to see if it is reasonable. But the current and resistance are so low and the package is so huge I already know it won't overheat.


Second consideration is gate drive current. The value for this is the total gate charge of the MOSFET. But I won't go into how to use it here. Every switch transition causes the MOSFET to heat up. If you switch infrequently it won't matter. If you switch frequently like with PWM then you need to be able to provide high current pulses so the MOSFET quickly transitions when rising and falling to minimize this heat.

If you plan on switching the MOSFET at high frequency this port expander cannot provide sufficiently high current pulses to minimize heating due to switching. You would need a real gate driver.

I do NOT recommend the 1K gate drive resistor lest you slow down the switching so much it overheats from a single transition. Your port expander already has excessive output impedance and low current drive capability. You don't need to slow it even more with a gate resistor. You normally use one to control ringing from fast switching and this will not be fast. This is not a BJT where you need to limit base current with a resistor.