To trigger a spark plug and to control it using an Arduino, I tried following this really well-written guide.
Basically, a MOSFET(IRF540N in my case) controls the closing and opening of the primary winding of the ignition coil(which basically is a transformer), while an Arduino triggers the MOSFET.
But this never worked.
The sparks were small and low in repetition; MOSFET was heating up; Arduino's Tx and Rx light kept flickering; etc. etc. It was never as shown in the blog linked above.
But once the Arduino was replaced by the 555 timers, all was well. Except the mild heating of MOSFET, everything was sorted out.
What could be modified with the Arduino circuit to get it up and running as shown in the guide linked above? Why is Arduino suffering which 555 timer is able to handle?