ALDL Information for the VN & VP Holden Commodore

Older technical information on the 160 baud ALDL format and newer information is available here, as well as hardware and software for a 160 baud ALDL emulator.

The VN Commodore ALDL Connector and Signals

The first Holden V6 Commodore to have an ALDL connector was the VN model introduced in late 1988. This model used a part number 1277808 engine control unit (this is also known as an '808 ECU). Note that the '808 was used also in the LD Holden Astra, Nissan Pulsar and the JD/JE Holden Camira.

The ALDL connector is located underneath the glove compartment (left hand side on LHD vehicles). It is generally just tucked into the trim where service personnel can reach it easily. These service personnel use a commercial diagnostic device called a Tech-1 that plugs into the ALDL connector. Tech-1 can decode and display the data sent out from the ECU through the ALDL connector.

The VN's ALDL connector is a 6 point female socket arranged as shown in the diagram (when viewed from the mating conncor side). The rows of pins are at 4.0 mm centres (approx. 1/6 inch) so that distance G to B is 12 mm (3 x 4 mm). The rows of pins are at 6.0 mm centres (approx. 1/4 inch) so that distance D to C is 6 mm.

The GM Tech-1 mating connector is part number TA02329A (the Tech-1 is a diagnostic device used by GM technicians).

Note: Gregory's Service and Repair manual No. 249 shows a different lettering for the pins. We have used the lettering shown here because it corresponds to the alternative 12 pin ALDL connector (on the JE, LD) lettering found on later GM vehicles.

The function of each pin is described below. The points that the ALDL connector go to are shown along with the wiring loom colors.

   6 Pin Holden VN ALDL Connector Pinouts

   Function               Tech-1 pin   ECU/vehicle, loom colour
  ----------------------------------------------------------------
   Earth                       A       ECU A12, D1/3/6/10 (Black)
   Diagnostic test terminal    B       ECU A9 (White/Black)
   Torque converter clutch     F       ECU A7, TCC (Grey/Red)
   Check engine light (CEL)    E       ECU A5, CEL lamp (Brown/white)
   Fuel pump test              G       Oil pressure/fuel pump (Violet)
   +12 volts                   H       ECU A6 (Pink)                           

ALDL Modes

Nothing is normally connected to the ALDL connector, and the ECU runs in normal mode. There are three other modes that are available. Two are diagnostic modes and a third is a limp home mode that may be used when some sensor information is unavailable. One of the diagnostic modes (flashing error mode) generates a simple human readable diagnostic (or error) code, the other (vehicle service mode) generates a computer readable dump of a fixed set of parameters maintained by the ECU.

To place the ECU in a particular mode a resistor is placed between pins A and B. The value of this resistor, as shown below, determines the mode. In the two diagnostic modes the data is output by the ECU to pin E on the ALDL connector. The data is also displayed on the check engine lamp (CEL), which is the dashboard lamp showing an icon of a motor with an exclamation mark.

   ALDL Mode Selection

             ECU-A9
  Resistor  Voltage      Mode
  --------------------------------------------------------------------
   none      5.0 V       Normal operation
    10 k     2.5 V       Vehicle service mode (Tech-1 mode) described below
   3.9 k     1.5 V       Backup mode (limp home mode)
   short     0 V         flashing error code (CEL) mode      

Note that the flashing error code mode is usually selected by shorting pins A and B with a paper clip or other suitable device.

The ECU actually uses the resistance value noted above to create a voltage drop that it detects. The voltage that should be measured at (Tech-1) pin B (or ECU A-9), for each mode selected, is shown above in the Voltage column above.

The data on pin E, when the check engine lamp is functioning correctly, varies between 0 and 12 Volts. The ECU actually pulls ECU pin A5 (connected to ALDL pin E) low (ie. to 0 Volts) to turn the Check Engine Lamp on. When the lamp is OFF, ALDL pin E is at 12 Volts.

In the Vehicle Service Mode the data stream is at 160 bits per second (or BPS, also called baud). The check engine light should dimly and irregularly flicker in this mode.

GM's different ALDL Data Formats

GM has used at least two different diagnostic data streams from their ECU. The P4 ECU, as found on the VN Commodore, uses an unconventional 160 baud data stream (sometimes called a Pulse Width Modulation, or PWM, scheme). It is unconventional in that it does not correspond to any existing PC standard.

The GM P4 ECUs with the SXR UART driver chip, uses a conventional data stream that a normal serial port (using a UART) has a chance of reading. The data rate, at 8,192 baud is unconventional, (but a standard PC can be set to a close enough rate), and the Tx and Rx data streams are multiplexed (ie. share the same I/O wire). This 8,192 baud data stream is described in this document.

160 baud ALDL Message Format

The message size for the VN V6 Automatic Commodore is 20 bytes long at a refresh rate of about 1.2 seconds (20 bytes data + SYNC character = 21 bytes, (21 x 9) / 160 = 1.18 seconds)

The technical details of GM's 160 baud ALDL data stream is further described here. The content of the VN Commodores data stream is described in the table below showing the contents of the 20 data bytes.

Byte   Name       Description
---------------------------------------------------
  1    MW2        Mode Word B2=EST mode, B6=Hi. batt. ind., B3/4/5=MODE, B3=BACKUP, B4=DIAGNOSTIC, B5=ALDL
  2    PROMIDA    PROM ID (MSB)
  3    PROMIDB    PROM ID (LSB)
  4    ISSPMP     IAC motor's current position
  5    COOLDEGA   Coolant temperature, temp in degrees C = (n x 0.75) - 40.
  6    FILTMPH    Vehicle Speed
  7    ??         MAP sensor voltage (255 is 5.00 Volts)
  8    NTRPMX     Engine speed, RPM = n x 25
  9    ADTHROT    TPS (Throttle Position Sensor) voltage (255 is 5.00 Volts)
  10   ??         Injector flow rate (100 = 8.3 g/h)
  11   MAT        Manifold air temperature, temp in degrees C is (n x 0.75) - 40.
  12   MALFFLG1   Malfunction flag word 1
  13   MALFFLG2   Malfunction flag word 2
  14   MALFFLG3   Malfunction flag word 3
  15   BLM        Block Learn Multiplier
  16   ADO2AF     Oxygen sensor voltage
  17   MCUINST    MCU input status word, B0=*park/neutral, B1=*trans. O/T, B7=A/C req.
  18   ADBAT      Battery Voltage times 10
  19   ??         Integrator
  20   ??         Output word, B0=Fan relay, B1=A/C clutch, B2=Torque Conv. Clutch, B4=closed loop status

  * indicates that value is NOT checked
----------------------------------------------------

The above information was calculated with the aid of the DIACOM hardware and software program and an ALDL data stream emulator I wrote for just this purpose. Some of the information has been researched from http://www.isthq.com/~dan/aldl_35.htm where I initially assumed the VN information was similar to a Chevrolet Multiport Fuel Injection System (1985 - 1986). The names for some of the data bytes is also derived from these sources.

Flashing Error Codes

CEL (Check engine Lamp) or flashing error code mode, displays a fault code as a series of quick flashes of the check engine lamp. Count the number of flashes to get a digit. Each fault code is made up of two digits separated by a 1.2 second pause. There is a 3.2 second pause between digit groups (ie. fault codes).

For example, a fault code of 12 (which is actually a null, or NO fault, fault code!) is made up of one flash, a pause of 1.2 seconds, then two flashes, followed by a pause of 3.2 seconds. this sequence repeats.

Trouble codes listed numerically

 Code  Explanation
  12   No spark pulses at CPU or else good system, no codes
  13   Oxygen sensor output remained at .35-.55 volts for more than one
       minute after warmup. Possible open circuit.
  14   Coolant sensor indicated a temperature above 130C for 3 seconds
       after engine ran for 20 seconds. Probably a short
  15   Coolant sensor indicated a temperature below -30C for 3 seconds
       when MAT > - 13 or engine running over 1 minute. Probably open
       circuit
  21   Throttle pos sensor above 2.5 volts for 2 seconds when engine
       speed below 1600 rpm
  22   Throttle pos sensor below .2 volt for 2 seconds while engine running
  23   MAT sensor shows < -30 degrees C for 3 seconds after engine
       running 1 minute or coolant > 30C. Probably an open circuit.
  24   No speed sensor pulses when engine between 2000-4000 rpm,
       throttle closed, high vacuum, not in neutral and all for 5
       seconds
  25   MAT sensor showed above 145 degrees C for 2 seconds after
       engine ran for over 1 minute. Possible short circuit.
  31   Unknown Error Code
  32   Unknown Error Code
  33   MAP sensor voltage too high (> 4.00 v). Possible vacuum leak to
       sensor or faulty sensor.
  34   MAP sensor voltage too low (< 0.25 v) with ignition on or
       engine running >1200 rpm and throttle open >20%
  35   Closed throttle idle speed is more than 75 rpm above or
       below correct value for more than 45 seconds
  41   No Crankshaft reference pulses. Ignition voltage < 11 volts etc.
  42   Open or short on EST or BYPASS line to ignition module.
  43   Engine Knock Sensor open or shorted.
  44   O2 sensor showed < 0.250 volt for over 20 seconds while
       operating closed loop
  45   O2 sensor showed > 0.550 volt for over 50 seconds while in
       closed loop with engine running over 1 minute and throttle open
       more than 2%
  51   Check insertion of MEMCAL in socket and bent pins.
  52   Check that CALPAK is in place, fully inserted, and no bent pins
  53   Car's alternator has produced >17.1 volts for over 2 seconds.
       Check charging system
  54   Unknown error code
  55   ECU A to D error. Check ECU grounds, or excessive input voltage    

Trouble codes by fault type

Problem                    Code(s)
NO problem                 12
Oxygen Sensor              13, 44, 45
Coolant Sensor             14, 15
TPS (Throttle)             21, 22
MAT (Temperature)          23, 25
MAP (Pressure)             33, 34
Speed Sensor               24
Crankshaft Sensor          41
Spark timing               42
Knock Sensor               43
Memcal problem             51, 52
Alternator overvoltage     53
Control unit input         55            




last updated 8 Feb 2010 (images)

To ensure the correctness of this document, we greatly appreciated your feedback on the information presented here.

Copyright (c) 1999, Tech Edge Pty. Ltd.
Author P. Gargano

Home | Feedback | Copyright