Sensor from engine spark plug: only collecting data for a few seconds.

thejarson9:
I may have not been clear. I am not using the spark plug signal itself. I am wrapping a wire around the cable that goes to the spark plug, so that a pulse is induced in this wire each time the engine sparks.

The interesting thing of such induction sensors is that the voltage they produce is related to the current that goes to the spark plugs, rather than the voltage that's used. Well, I should say, it is related to the change in current in the wire, and that's a very sharp change so it's inducing a very high voltage. As this is a voltage peak, it can go right through your 22pF capacitors. The peak is very short, and fair chance your scope doesn't pick it up completely, but it can be more than enough to mess up your Arduino.

Try cleaning up your signal further and insulating the Arduino better from the nasty spark plug spikes and other noise: place an optocoupler between your 555's output and the Arduino, thereby completely separating the two circuits. So NO connected grounds or anything. Then you can place Arduino and battery inside a metal, grounded case (again, no connection between the two) keeping all the noise out.