Electronic – Low-side MOSFET: Current seems limited

avrmosfetraspberry pitransistors

I'm trying to use a MOSFET, an N-channel (specifically IRLB8721PbF), with a gate controlled by an AVR to power on/off a Raspberry Pi (powered through GPIO), I'm using it on the low side. (Both share the same +5 V rail).

When I measure the Raspberry Pi's current draw, it seems limited, and it doesn't operate properly.

On that MOSFET:

  • Gate: To AVR digital pin (and pulled low with a 10k resistor)
  • Drain: To Raspberry Pi GPIO ground
  • Source: To GND

Naturally, my 5 V from my power supply is directly to the Raspberry Pi GPIO 5 V.

As a kind of experiment control: I just power the Raspberry Pi directly from my power supply 5 V/ground. I measure the current the Raspberry Pi draws through 5 V with a multimeter, and during power up it fluctuates from 0.15 A (up to about 0.45 A) and settles at about 0.35 A.

However, when I measure how much current the Raspberry Pi draws when connected to the MOSFET and when I turn the gate on — it seems the current is limited and it gets up to about 0.30 A (approx) and never gets higher, and the Raspberry Pi seems to never fully power on.

I'm curious if I'm missing something here with trying to power this on. It is indeed a logic-level MOSFET, but, as an experiment I've tried powering the MOSFET at varying voltages with a bench power supply — but no noticeable change by using more voltage (up to 10 V I tried.)

Granted, I am more of a programmer and electronics technician — so I appreciate any electronics engineering input and advice, but, pragmatic solutions are most appreciated. I'm just so puzzled as the MOSFET should be rated up to 60 A, and I would've thought that just applying a logic-level voltage I would've been able to draw more current through the MOSFET.

Here's a diagram of the circuit (please note: I can re-create this situation without the microcontroller at all, and just with the Raspberry Pi + bench power + MOSFET, as diagramed). Note that in this representation the Raspberry Pi GPIO connection is simplified and in this diagram pin 1 on the jumper = 5 V, and pin 2 = GND.

Enter image description here


Update: It turns out the voltage drop on the MOSFET is enough to give the Raspberry Pi fits. A friend of mine pointed it out in the data sheet, and here's a screen capture of the exact graph that shows where approximately 0.15 V are dropped, which can be measured on source and drain (as pointed out early on! great eyes guys, I really appreciate). I have decided to instead use a relay.

Enter image description here

Best Answer

Perhaps your bench supply doesn't have enough current. If you use your bench supply to power the Raspberry Pi directly, does it power it correctly? If you also power the Arduino at the same time, do they both work? The RPi wants around 700 mA with graphics and Ethernet on, and the Arduino anything between 20 and 200 mA depending on load.

If not that, then I think you wired something wrong -- either the IRLB8721 (which is a great N-channel FET IMO!) source/drain (or gate, even) mixed up, or the Arduino pinout mixed up. Or perhaps you forgot to configure the Arduino pin as output? By default, Arduino pins are inputs, and if you "write" to them with digitalWrite(), you turn on a very weak pull-up (about 20-40 kOhm) so it may "seem" to be an output.

Use a scope or multimeter to probe each voltage while the circuit is actually running, and report back!