Why Arduino does not suit the to trigger a Spark plug but 555 timer can?
The original link shows an NDP5060L was used, you made a substitution without understanding the required ratings. The web site also shows a (now 404) link to driving a FET, so clearly there is more to the schematic than shown.

The original circuit was a very marginal design, since a 60V FET (the NDP5060) was used in an application that requires perhaps 300V VDS capability. I would imagine it would be likely to fail often.

Your selection of an IRF540 is just as likely to fail since it is only 100V rating. It's also very difficult to drive high capacitance gates directly from an Arduino (or any other MCU).  

To drive a power FET and get low turn off times (the turn on time is almost irrelevant in this application) you need to be able to discharge the FET gate very rapidly. 

You could drive the gate with an H-Bridge driver such as the SN754410 or the L293 (you only need one channel) and these would give adequate results (though you should have a series resistor to the gate being driven). 

A more modern device with excellent performance is the ON Semi FAN3268 this provides FET outputs (no series resistor required) rather than BJT and works for 3 -5V MCU direct drive (you would only use the low side driver).







simulate this circuit &ndash; Schematic created using CircuitLab