Spark timing is known to be a critical variable for engine performance. It is important to measure timing under transient conditions as well as steady state timing. Such transients include accelerations, decelerations and rough idle situations such as those occurring in engines tested directly off the production line.Conventional measurement devices have performance limitations. Timing lights will not measure transients and are limited in accuracy due to tolerance stack-ups and parallax effects. Some spark protractors require the use of externally mounted optical shaft encoders which are accurate but require a difficult mounting procedure. Such encoders are also susceptible to contamination and vibration. Other spark protractors operate under the assumption of steady state conditions by equating time with engine rotational angle. This eliminates the need for a shaft encoder but suffers in accuracy under transient conditions.The instrument described herein overcomes these limitations by using shaft encoding mechanisms readily available on any engine. The signals from these crude encoders are enhanced by a microprocessor to obtain accurate results. The microprocessor is programmed to calibrate the encoder and read spark timing and engine RPM once every distributor rotation or complete engine cycle.