Engine spark timing controller receives data from crankshaft position, vacuum, temp and knock sensors.
The data is processed via specific electrical components and ESP32 microprocessor to determine spark delay.
Spark is produced with the calculated delay through MOSFET transistor.
Spark ignition internal combustion engine burns fuel in order to use the energy created to perform mechanical work.
The burning is caused by igniting a mixture of fuel and air.
Spark ignition timing refers to the timing of the spark relative to the current position of the piston and the crankshaft angle, and is crucial for the operation of the engine.
It is affected by temperature and vacuum levels in the combustion chamber, the crankshaft position, RPM, and whether “knocks” (due to premature ignition) were detected.
In newer vehicles ignition timing is determined by digital means and is very accurate, however in older vehicles, i.e legacy cars, less efficient mechanical means are used.
This project implements hardware for a microprocessor (Arduino ESP32) that receives data from various sensors (Temperature, variable reluctance, vacuum, and knock) and processes it in order to determine the spark ignition every cycle and send out a pulse accordingly.