Tech Guides‎ > ‎

Arduino Controlled Spark Plug

This little guide will show you how to make a spark plug spark - and control it from an Arduino.

Basic spark plug circuit that works

You need

  • Ignition coil. 
    • Normal car ignition coil. Buy in a cheap auto part store for around 15 €
  • Spark plug
  • Ignition Cable
  • Power MOSFET 
    • N-channel for these examples) - I use a NDP5060L, but any powerful type will go 
  • 10 K resistor
The spark plug will get high voltage from the ignition coil, when the coil is pulsed via the Mosfet.


  • The high voltage from the ignition coil will bite you, but probably not kill you, if you touch it. 
  • Radio Frequency interference will be generated from the spark plug, that can disturb sensitive equipment 
    • Some computers and Arduino boards have a hard time around the sparks. 
    • Put a shield around the cable (tinfoil) and ground it, and you should be good. 

Testing the circuit

Pulsing the input to the Mosfet to 12 V will make the spark plug spark. (Arduino Out on the schematic to 12 V) 

Connect it to the Arduino!

Power Mosfets can often be driven directly from the Arduino. 

Just connect the "Arduino out" - to any Arduino output pin. 

  • You only need to give very short pulses on the output pin of the Arduino. A few milliseconds is enough to charge the coil. 
  • The spark plug fires when the pin goes LOW
  • Remember to end the pin controlling the Mosfet on LOW - If you keep it high for long, you might burn your Mosfet from the current, that runs through the coil.

Try it out with any sketch, that pulses a pin. 
This is the Arduino "Tone" example, driving the spark plug. 

Including a 555-timer to get spark bursts

Coming up, a circuit to use, if you don't need the Arduino, but just want some sparks. 

Making a spark plug sing

.. Plus some burning gas as a bonus

A bit of theory on ignition coils and spark plugs

Further studies and experiments