polymorph proposed this advice: "a MOSFET does not require a resistor between the Arduino and its Gate."

The following calculation was done to confirm or refute that advice:

2nF gate capacitance on MOSFET is common (2000pF)

Assume 3.6ns rise time for Arduino output

i = c dv/dt

i is current from Arduino = 2.8 amps

c = 2x10^-9 F

dv = 5 volts

dt = 3.6x10^-9 seconds rise time

rise/fall time 3.6ns for SPI pin Atmega328P data sheet page 321

i = (2x10^-9) x 5 / (3.6x10-9) = 2.8 amp

data sheet

https://www.sparkfun.com/datasheets/Components/SMD/ATMega328.pdf

The most common error in calculating gate current is confusing the MOSFET input capacitance, CISS, for CEI and applying the equation....

I = C(dv/dt)

to calculate the required peak gate current. CEI is actually much higher, and must be derived from the MOSFET manufacturer's total gate charge, QG, specifications.

The total gate charge, QG, that must be dispensed into the equivalent gate capacitance of the MOSFET to achieve turn-on is given as:

QG = QGS + QGD + QOD

where:

QG is the total gate charge

QGS is the gate-to-source charge

QGD is the gate-to-drain Miller charge

QOD is the "overdrive charge" after charging the Miller capacitance.

You'll notice by examining curves in datasheets that in order to achieve strong turn-on, a VGS well above that required to charge CEI (and well above VGS(TH)) is often required. The equivalent gate capacitance is determined by dividing a given VGS into the corresponding total gate charge. The required gate drive current (for a transition within a specified time) is determined by dividing the total gate charge by the desired transition time.

In equation form:

QG = (CEI)(VGS)

and

IG = QG/t(transition)

where:

QG is the total gate charge, as defined above

CEI is the equivalent gate capacitance

VGS is the gate-to-source voltage

IG is the gate current required to turn the MOSFET on in time period t(transition)

t(transition) is the desired transition time

Also, many MOSFET's total transition times are much greater than Arduino's "3.6ns rise time". A few I have are closer to 20+ ns. And have QG values from 15-50 nC at 5-10v. Using those numbers...

IG = QG / t(transition)

IG = 15nC / 20ns = 15C / 20s

IG = 0.750 A = 750mA = still more than Arduino could (safely) source at once.

The moral of the story --

I dunno? Always check your DATASHEETS?

The end.