Selfdiagnosis and fault codes

Whilst a computer controlled system is operating normally, the processor is constantly monitoring the electrical state of input and output connections at the various interfaces of the ECM. This monitoring (reading) of the inputs and outputs occurs so that the instructions that the computer processor has to perform, such as to compare an input value with a programmed value stored in the ROM, means that the ECM is ideally placed to 'know' what is happening at many parts of the system that is connected to it. If, for example, a throttle position sensor is producing a reading that does not tie in well with engine speed and load signals that the ECM is reading, the software (program) in the ROM can be written so that an alternative section of program is followed (loop), and a predetermined code can be stored in a section of working memory (RAM) that is allocated for this purpose. The piece of coded information that is stored is known as a 'fault code' or 'diagnostic trouble code' (often abbreviated to DTC).

It will be evident that these DTCs are a valuable source of information when trouble occurs and it is necessary for us to consider the methods that are available which provide access to them. It is worth mentioning at this point, that tools are available that permit the readings that the ECM 'sees' to be viewed on an oscilloscope while the system is in operation, or placed in a memory for later viewing and analysis.

3.1 Access to DTCs

Early computer controlled systems often had quite small amounts of memory allocated to the storage of DTCs, but as integrated circuit technology has developed, the amount of memory space allocated to the storage of DTCs has also increased to the stage where hundreds of DTCs can be held in an ECM. In order that the DTCs are not lost when the ignition is switched off, the section of RAM that they are stored may be energized directly from the battery, via a fuse. This type of memory is sometimes referred to as 'keep alive memory' (KAM). In other cases the DTCs may be stored in an EEPROM.

These DTCs are safely stored until a deliberate action is taken that instructs a circuit in the ECM to generate an electrical pulse, probably 25 V, that will clear the DTCs.

As a result of the different technology used in automotive computer controlled systems, it is possible to find a number of different methods of accessing DTCs. Three methods are in general use.

1. Displaying the code as flashes on a dashboard indicator lamp.

2. Connecting an LED or test lamp externally and observing the number of flashes and pauses.

3. Connecting a code reading machine, and/or a scan tool, to the diagnostic port on the ECM.

The actual procedure varies very considerably from one type of vehicle to another. However, the following examples give an insight into the general principles involved.


The system under examination is the Toyota electronic fuel injection system (EFI) shown in Fig. 3.1.

This fuel system is fitted to the 4A-GE, 1600 cc, 16 valve, 122 bhp engine in vehicles such as the Toyota Corolla GT Hatchback (AE82) 1985 to 1987. The ECU has built-in self-diagnosis, which detects any 'problems' and displays a signal on the 'check engine' warning light (Fig. 3.2). This lamp is in a convenient position on the instrument panel as shown in Fig. 3.3.

When the ignition is switched on, the light will come on. If there are no faults the light will go out when the engine starts. If the 'engine check' lamp stays on this is a warning that a fault is present. To find out what the fault is, it is necessary to put the system into diagnostic mode. This requires some preliminary work, as follows.

1. (a) Check that the battery voltage is above 11V.

(b) Check that the throttle valve is fully closed (throttle position sensor switch points closed).

(c) Ensure that transmission is in neutral position.

(d) Check that all accessory switches are off.

(e) Ensure that engine is at its normal operating temperature.

2. Turn the ignition on, but do not start the engine.

3. Using a service wire connect together (short) the terminals T and E1 of the 'check engine' connector (Fig. 3.4).

[Note that the 'check engine' connector is located near the wiper motor (AE) or battery (AA), these being different vehicle models.]

4. Read the diagnostic code as indicated by the number of flashes of the 'check engine' warning light.

Air cleaner

Air cleaner

Fig. 3.1 Electronic fuel injection system

Variable resistor

Fig. 3.1 Electronic fuel injection system

Fig. 3.2 The diagnostic lamp

For AE

For AE

Fig. 3.3 Engine diagnostic lamp on the instrument panel
Fig. 3.4 Making the diagnostic output connection

Diagnostic codes

Diagnostic code number 1 (Fig. 3.5) is a single flash every 3 seconds. It shows that the system is functioning correctly and it will only appear if none of the other fault codes are identified. Figure 3.6 shows the fault codes for code 2 and code 4.

The 'check engine' lamp blinks a number of times equal to the fault code being displayed; there are therefore two blinks close together (1 second apart) for code 2, and a pause of 3 seconds and then four blinks to show fault code 4. The fault code will continue to be repeated for as long as the 'check engine' connector terminals (T and E1) are connected together. In the event of a number of faults occurring simultaneously, the display will begin with the lowest number and continue to the higher numbers in sequence.

Figure 3.7 shows a section of the Toyota workshop manual that gives the diagnostic codes. Reading from left to right it will be seen that each code is related to a section of the system. The column marked 'See page' refers to the section of the workshop manual where further aid to diagnosis will be found.

When the diagnostic check is completed the 'service wire' must be removed from the 'check engine' connector and then the diagnostic code must be cancelled.

After the fault has been rectified, the diagnostic code stored in the ECU memory must be cancelled. This is done, in the case of this Toyota model, by removing the appropriate fuse. The fuse must be removed for a period of 10 seconds or more, depending on the ambient temperature, with the ignition switched off. (The lower the ambient temperature the longer the period for which the fuse is left out.)


Fig. 3.5 Diagnostic code number 1 (system normal)


Fig. 3.5 Diagnostic code number 1 (system normal)


Fig. 3.6 Diagnostic codes for codes 2 and 4


Fig. 3.6 Diagnostic codes for codes 2 and 4

CmJe No.

Number of blinks "CHECK ENGINE"



Trouble area

See page

|0fFj[OFF ijoFF ^ OFF i| Hp"! [Seconds!


This appears when none of the other codes (2 thru 11) are identified,

Do It Yourself Car Diagnosis

Do It Yourself Car Diagnosis

Don't pay hundreds of dollars to find out what is wrong with your car. This book is dedicated to helping the do it yourself home and independent technician understand and use OBD-II technology to diagnose and repair their own vehicles.

Get My Free Ebook

Post a comment