This ATmega32-based project allows the owner of a Coupé Fiat – produced between 1993 and 2000 – to interrogate the engine control unit while the vehicle is in use. In essence, it reproduces most of the functionality of a commercial ECU code reader but is integrated into the vehicle. It can also be used in other Fiat/Alfa/Lancia group vehicles using the same ECU hardware. To deal with the engine types most commonly used, the project must communicate with two different ECU types with non-compatible communications protocols. It should be noted that these ECUs precede the European requirement to provide OBDII connectivity.
“The user is able to display up to four of the dozen or so parameters available from the ECU, which include both sensor inputs and actuator outputs, and have these values updated in real time as the vehicle is driven” said Neil Barnes, the project designer.
The system also provides decoding of the internal ECU error codes as they occur, and displays them to the driver in real time, overriding the normal display functions. The fault condition will normally persist (one or two faults can self correct with time) until the engine is stopped and restarted, even if it was only an intermittent fault. The display shows the error as long as the ECU publishes fault data, giving the driver plenty of time to observe the fault. A simple serial protocol allows a laptop or similar device to read the entirety of the car engine status at any particular time.