
This page describes the ALDL data packet that is transmitted and received from the a 4 cylinder Lotus Esprit. In the absence of any official data, I have compiled this by trail and error.
Protocol - Normal Chatter from ECU
F0
Data Byte (hex) | Description | Notes |
F0 | Frame Start | |
55 | Length of Packet | 0x52 + Length of Packet |
BB | Checksum | Packet added together then MOD 255 = 00 |
05 (ADC Values?) (13 Bytes Total, 10 Data Bytes)
Data Byte (hex) | Description | Notes |
05 | Frame Start | |
5F | Length of Packet | 0x52 + Length of Packet |
00 | B7 = Off Idle; B6 = Stalled | |
00 | | |
00 | MPH | |
49 | | |
8A | Battery Voltage (mV) | Here it is 13.8V |
3F | MSB Accumulated Fuel mSec = (MSB*256 +LSB)/65.536 | |
3E | LSB | |
02 | | |
ED | | |
9E | Coolant Temperature (N * 0.75) – 40 | Here (158 * 0.75) – 40 = 78.5°C |
BF | Checksum | Packet added together then MOD 255 = 00 |
0A (6 Bytes Total, 3 Data Bytes)
Data Byte (hex) | Description | Notes |
0A | Frame Start | |
58 | Length of Packet | 0x52 + Length of Packet |
00 | | |
04 | RPM * 256 (MSB) | |
03 | RPM (LSB) | |
97 | Checksum | Packet added together then MOD 255 = 00 |
Protocol - Data Requests and Responses of ECU
Request Data Bus - PC transmit to ECU
Once the ECU has transmitted this packet, the PC must transmit the same to tell the ECU to expect a data request. The ECU will then wait for approximately 5 seconds for a data request.
Data Byte (hex) | Description | Notes |
F0 | Frame Start | |
55 | Length of Packet | 0x52 + Length of Packet |
BB | Checksum | Packet added together then MOD 255 = 00 |
Mode 1 - PC transmit to ECU
Mode 1 is the main request for data.
Data Byte (hex) | Description | Notes |
F0 | Frame Start | |
56 | Length of Packet | 0x52 + Length of Packet |
01 | Request Mode 1 | |
B9 | Checksum | Packet added together then MOD 255 = 00 |
Mode 1 - ECU replies to PC (68 Bytes Total, 64 Data Bytes)
Index | Description | Notes |
| Frame Start | |
| Length of Packet | 0x52 + Length of Packet |
00 | Mode 1 transmitted | |
01 | LSB EPROM ID | |
02 | MSB EPROM ID | |
03 | Fault Word 1 80 – 41 Engine Speed Signal Missing 40 – 13 Oxygen Sensor; Open Circuit 20 – 14 Coolant Temp Sensor Circuit; High Temp Indicated 10 – 15 Coolant Temp Sensor Circuit; Low Temp Indicated 08 – 21 TPS Circuit; Signal Voltage High 04 – 22 TPS Circuit; Signal Voltage Low 02 – 23 Mass Air Temp (MAT) Sensor Circuit; Low 01 – 24 Vehicle Speed Sensor (VSS) Circuit | All Enabled in Software |
04 | Fault Word 2 80 – 25 Mass Air Temp (MAT) Sensor Circuit; High Temperature Indicated 40 – 66 A/C Pressure Transducer Open or Shorted 20 – 32 EGR Diagnostic 10 – 33 Manifold Absolute Pressure (MAP) Sensor Circuit; Signal Voltage High 08 – 34 Manifold Absolute Pressure (MAP) Sensor Circuit; Signal Voltage Low 04 – 35 Idle Speed Error 02 – 26 Quad-Driver (QDM) Circuit, Secondary Injectors 01 – 42 Electronic Spark Timing (EST) Circuit | Error Codes 66 and 32 disabled in software |
05 | Fault Word 3 80 – 43 Electronic Spark Control (ESC) Circuit 40 – 44 Oxygen Sensor Circuit; Lean Exhaust Indicated 20 – 45 Oxygen Sensor Circuit; Rich Exhaust Indicated 10 – 51 Mem-Cal Error 08 – 31 Baro Sensor Circuit; Signal Voltage Low or High 04 – 53 Battery Voltage Too High 02 – 62 Oil Temperature Sensor High 01 – 65 Fuel Injector Circuit; Low Current | Error Code 62 disabled in software |
06 | Status Word 1 08 – A/C Demand | L004B |
07 | Status Word 2 04 – Fan Running 01 – A/C Clutch Engaged | L004C |
08 | Coolant Raw ADC Value | |
09 | Coolant Temperature at Engine Start (N * 0.75) – 40 | |
10 | Throttle Raw ADC Value | |
11 | Desired Idle (N * 12.5) | |
12 | RPM * 256 (MSB) | |
13 | RPM (LSB) | |
14 | Speed in MPH | |
15 | Crank Sensors (0, 1 or 2) | |
16 | IAC Status Word | L0004 |
17 | O2 Sensor Count (n/226)=Volts | This is a constantly ramping voltage whilst engine is running |
18 | Rich/Lean Transition Counter | |
19 | Integrator | The ECU will attempt to keep this at 0x80 (128d) for the correct mixture |
20 | Current BLM Cell contents | |
21 | Current BLM Cell number | |
22 | | L0013 |
23 | Idle Speed Controller; IAC (0 – 170) | Current Assumed Position |
24 | Barometer ((N-128)/100)+1=Bar | Air Pressure |
25 | MAP ((N-130)/100)+1=Bar | Boost |
26 | Vacuum MAP | |
27 | Throttle Position 0 – 255 = 0 - 100% | |
28 | | L0054 |
29 | MAT raw ADC value | |
30 | | L0156 |
31 | Boost Solenoid Duty Cycle | |
32 | | |
33 | | |
34 | Battery Volts in mA | |
35 | | |
36 | Engine Load % (or Air Flow / 4) | This may be throttle / engine load. |
37 | Secondary Injectors Duty Cycle | |
38 | | |
39 | MSB Spark Advance | |
40 | LSB Spark Advance (N*90)/256 | |
41 | Coolant Temperature (N * 0.75) – 40 | |
42 | MAT; Manifold Air Temp (N * 0.75) -40 | |
43 | Knock Counts | L00AF |
44 | Knock Retard (N * 45) / 256 | L00A9 |
45 | MSB | |
46 | LSB (N / 256) = | |
47 | Air / Fuel Ratio (N * 10) | L00C6 |
48 | Battery Volts Injector compensation | |
49 | MSB Accumulated Fuel mS | |
50 | LSB | |
51 | | L005E |
52 | Seconds Engine Running * 256 | |
53 | Seconds Engine Running | |
54 | 04 – Ref in last 12.5mS | L005A |
55 | | L003D |
56 | | L003E |
|