I'm trying to power up a Giderwell RGBCCT LED strip using ESP32 (a 3.3V microcontroller) with the help of an IRL540N MOSFET.

My circuit looks like this:


(sorry for the amateurish/nonstandard diagram, I'm not educated in EE)

R1 is a simple pull-down resistor to ensure the gate is low while the chip is powered off/booting. I actually have 5 MOSFETs driving 5 channels of an RGBCCT strip, but everything is the same if only one channel is powered.

My problem: When the gate is high and there is no load, I measure 12V across the drain and source terminals of the MOSFET (as expected). However, when the LED strip is connected, this voltage drops significantly, to 6-8V, depending on the MOSFET and channel I'm measuring. The LEDs are also much darker than when connected to +12V and GND directly.

This is a small segment of an LED strip containing 6 LEDs per channel, and by spec should peak at 300mA for the whole segment, so approx. 60mA per channel.

What could be causing this? I'm using a perfboard - is my soldering to blame? (It's pretty atrocious, this is my first soldering project.) Maybe I cooked the MOSFETs while soldering, causing them to not be able to deliver the current? Is the 3.3V logic level too low to fully activate the MOSFET? The datasheet suggests a max 2.0V threshold and ~10A of continuous current at 3.0V gate-to-source, which should be plenty. I might be missing another parameter though.

I measured the resistance from GND to the source pin on the MOSFET, and from the drain pin of the MOSFET to the cathode pad at the end of the strip, and it's around 0.3 ohm. If it matters, I used AWG 20 wire (0.5mm²) to connect everything, joined by soldering on the perfboard.

Update: I measured the drain-source resistance on the MOSFETs while their gates were high. Most of them have around ~20 ohms, give or take, while one has 3.9 ohms, but even across that one the voltage is ~9V, a 3V drop. For one with 25 ohms, the drop is 6V. I'm even more confused now as the resistances are different and the drops are not proportional to the resistance...

  • \$\begingroup\$ When the strip should be powered up: what v_gate do you measure? \$\endgroup\$
    – tariksbl
    Commented May 19, 2020 at 0:57
  • \$\begingroup\$ It sounds like the MOSFET is operating in saturation mode and not linear mode ("fully ON"). What gate-to-source voltage do you measure when the microcontroller is outputting a logic HIGH signal? What is the time duration when you turn ON the MOSFET (microseconds, milliseconds, seconds, etc.)? \$\endgroup\$ Commented May 19, 2020 at 0:58
  • \$\begingroup\$ If you can, please edit your question and provide the name of the manufacturer and the model number of the LED strip you are using. Alternatively, provide the name of the distributor (e.g., Sparkfun, Digi-Key, etc.) and the distributor's part number for the LED strip you are using. \$\endgroup\$ Commented May 19, 2020 at 1:17
  • \$\begingroup\$ @geomaster, You asked: " Is the 3.3V logic level too low to fully activate the MOSFET?" The answer is most likely yes. \$\endgroup\$
    – Dan1138
    Commented May 19, 2020 at 4:37
  • \$\begingroup\$ Are you able to disconnect the MOSFET gate from your ESP32 and apply a higher voltage to it, such as 6V from a 10K+10K potential divider connected across your 12V supply? Then you could see if it's a good MOSFET with too low a drive voltage or a damaged MOSFET. \$\endgroup\$
    – TonyM
    Commented May 19, 2020 at 7:08

1 Answer 1


You need a logic-level MOSFET rated for <= 3.3V gate drive to make that work. You have a MOSFET rated for 4V gate drive according to the datasheet so you're not completely driving it 'on'.

It's a bit surprising it's that bad, if the part is genuine. Measure Vgs directly at the MOSFET, from gate to source. If there is excessive resistance in the source circuit it could be taking away the already inadequate Vgs voltage.

  • 1
    \$\begingroup\$ That would have been my first suspicion, too. But the figures on page 3 seem to imply it should work reasonably well for quite a bit more current the the OP is trying to switch with 3 volts on the gate. \$\endgroup\$ Commented May 19, 2020 at 1:35
  • \$\begingroup\$ @ChrisStratton Those are only typical curves not guaranteed, but I agree it still seems too little, as I said above. So I suspect it's either not getting 3.3V-ish or the MOSFET is not what is claimed, despite the fact it's not guaranteed to work, and therefore bad practice to use it in this application. \$\endgroup\$ Commented May 19, 2020 at 2:41
  • 1
    \$\begingroup\$ More likely the parts are fake. \$\endgroup\$ Commented May 19, 2020 at 10:10
  • 1
    \$\begingroup\$ Okay, look at the Rds(on) guaranteed numbers. There is a Vgs associated with each. You want a MOSFET with acceptable Rds(on) at your drive voltage or a bit less. Keep in mind Rds(on) increases about 50% when the MOSFET is very hot so don't call it too close. For only 300mA you could use an AO3400A with 2.5V drive it has Rds(on) < 48m ohms, so power dissipated will be I^2*R = 4mW which is very low. \$\endgroup\$ Commented May 19, 2020 at 10:27
  • 1
    \$\begingroup\$ Yes, it should be okay. Add a 20K-50K resistor from gate to source since if it floats into linear region that little part will burn up quickly. \$\endgroup\$ Commented May 19, 2020 at 12:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.