Of all the systems in the automobile, the spark generating system is probably the least understood.  In particular, the means by which the timing is advanced with increasing engine rpm, and the importance of achieving the best possible ‘advance curve’ are topics often overlooked by those wishing to improve on overall engine performance.

          The core components of the spark generating system include an ignition coil (consisting of a primary and secondary winding), a means to control the current flowing through the primary winding of the coil (typically a power transistor), spark plugs, and finally a method to determine when a properly-timed spark should occur.



Figure 1 – block diagram of a typical ignition system [2]


Since spark events are timed to coincide with piston-position (as the piston reaches the top of its vertical travel), a mechanical distributor is used to distribute the generated high-voltage energy to the correct spark plug (and thus the correct engine cylinder).  This distributor is mechanically linked to the piston travel via a set of gears.  Since it takes a finite amount of time to generate the spark, this process must be initiated some time before the piston reaches the top of the cylinder.  The amount of time required is referred to as ‘timing advance’, and is measured in degrees of engine rotation.  As engine rpm increases, so too does the desired amount of spark advance (since the amount of time required to generate a spark remains constant regardless of engine rpm).  In order to accommodate this, two means of varying the advance were initially used: vacuum advance, and centrifugal advance.  These two systems worked in conjunction with each other to achieve an overall ‘timing curve’.  This solution proved reliable, although not entirely accurate.  Furthermore, designers had to build a tolerance factor into the factory-set curve to allow for real-world non-ideal conditions, which resulted in a ‘best-fit’ curve, which assured reliability at the expense of overall engine efficiency.

As the engine system design changed over the years, and particularly with the introduction of low-cost, reliable microcontrollers, it became obvious that a better way to control engine timing would be to eliminate both the vacuum advance and centrifugal systems, and replace them with a software-controlled timing curve.  This would not only provide for a simpler, more reliable solution, but would also result in a much more accurate timing curve.  The only downside to this approach is:

·        Some tolerance factor would still have to be built in to accommodate the varying conditions under which the engine would be expected to operate

·        Those wishing to modify the engine in order to achieve better performance would be unable to adjust the timing curve in order to accommodate those changes (since the engine operates as a system, any change in one parameter results in a different set of timing characteristics).


Thus, the auto enthusiast is currently faced with a dilemma: to live with the earlier inefficient system (which does provide a means for some basic timing curve control) or upgrade to a system which is more efficient but entirely fixed. 


This project was conceived as a means to overcome the limitations outlined above.







[2] Subaru Justy 1988 Service Manual, Tokyo, Japan: Fuji Heavy Industries,