Electronic – Why are engine spark plugs w/o resistor so potent killers of electronics nearby them

emcemi-filteringspark

I've recreated the ignition coil part of a small Honda ICE (typically used in lawn mowers or single-digit kW gensets).
I use an electric motor to turn a flywheel taken from a dead engine, and I've placed the ignition coil unit just like in the real engine, with a spark plug and all. I get sparks when the flywheel runs faster than 500 RPM.

Physically, it looks like this:

flywheel setup

I've also attached an Arduino-like device, like this:

schematic

simulate this circuit – Schematic created using CircuitLab

The ignition coil is meant to be operated like this:

  • The coil's body (laminations) is electrically connected to the engine block (chassis).
  • One well insulated wire runs to the spark plug socket. The circuit is completed through the chassis.
  • There's an engine kill switch: when you want to turn the engine off, you close the switch, which shorts some signal of the ignition circuitry. Again, circuit is completed through the engine chassis.

In my setup, the engine chassis is this strip of metal where the spark plug rests on, and I don't have a kill switch (I don't need one).

The signal to the kill-switch is much lower voltage (25-100V) and has some strange shape, but with some dividers and low-pass filters I've conditioned it for a digital input pin of an Arduino. The signal conditioning circuitry shouldn't matter much (see below), but I'm including it for completeness:

schematic

simulate this circuit

My device is powered by a Li-Ion battery + a 3.3V LDO.

I'm observing the following results with engine at 1000 RPM and a non-resistor spark plug:

  • Arduino device not electrically connected to the engine, but physically close to the spark plug – unaffected
  • Arduino electrically connected to the kill-switch signal, but otherwise far away from the spark plug – reboots continuously, essentially on every spark
  • Only the grounds connected (the blue wire) – same thing, reboots furiously

If I swap the spark plug for a resistored one (Denso W20EPR-U), I'm observing

  • Device close to the spark – unaffected
  • Connected to the kill-switch signal – unaffected (I can read the engine RPM)
  • Only grounds connected – unaffected (but of course I can't read the engine RPM)

I also have a GPS chip connected to the Arduino. It shows similar behaviour (it reboots furiously when the non-resistored spark plug is used). All chips are duly bypassed by caps. Scoping on the power rails do not reveal any glitches. The GPS, of course, has a sensitive antenna, which I guess picks up a lot of noise.

Question

What mechanism causes the Arduino's MCU to reboot furiously when I only have the grounds connected? And why the change to a resistored spark plug fixes it so well?
Also, how to protect against the non-resistored spark's nastiness? Is opto-isolation a must?

EDIT:

Answering clarifying questions by @glen_geek:

  • the device is powered through a Li-Ion battery and a 3.3V LDO
  • nothing else is connected to it
  • I've included the signal conditioning circuitry
  • I've added a photo of the actual setup (the device itself not shown). As you can see, the thinner wire coming out of the ignition coil goes through a couple of bullet connectors, and into a 4-wire cable. The GND from the laminations (blue wire) is in the same cable. The other 2 wires of the cable are unused. So it's not twisted pair, but it's not flying wires either.

Best Answer

You've rediscovered the oldest form of radio transmitters: the spark gap.

Every time the spark plug fires, an impulse of current flows through your circuit. Portions of your circuit act as an antenna to radiate some of that power. From your photo, I would guess this is largely inductive, so the transmission would be predominantly near-field magnetic induction.

Normally, this is prevented by component design -- and the big chunk of metal doesn't hurt!

The spark plug wires will often incorporate some EMI suppression in how the conductor is wound, and some wires are even shielded. The spark itself is usually contained inside the engine block -- not a bad Faraday cage -- and the return currents flow back to the coil through a huge cross section of metal. All of this helps to reduce EM radiation, but custom hot-rodders still struggle with EMI.

On your setup, the spark is exposed and all the return current flows back across a relatively narrow path. These are both suspects as antennas: the gap itself at high frequencies and the long metal strip for lower frequencies.

Now, why would the resistor spark plug change things? The resistor creates a weaker spark, lowering the current impulse and so the RF signal.