The aim of this project is to provide a means to dynamically alter the timing characteristics of the ignition system via software. This will be achieved by sensing the position of the engine (using a timing signal from the distributor), calculating the rpm of the motor (by using the time elapsed between two successive timing signals), and using information provided by the user (the desired timing characteristics) to calculate the correct advance for the subsequent spark event (and then initiate the event). This control interface will be designed for those individuals who possess the necessary skills to design their own timing curves in order to achieve the optimum performance from their engines. In particular, it will be intended for use primarily with any engine which does not already make use of an on-board computer to generate the timing curve (although it could certainly be used to improve such a system). The following block-diagram outlines the major components of the timing control system.