. Classic Subaru Impreza Engine Diagnostics and ECU Error Codes - CarsAddiction.com

All the below information is for the first generation Subaru Impreza, which is the pre-facelift model covering years from 1992 to 1997. All the details below would hep anyone  Diagnose when their Check Engine  light stays one and geared towards WRX, STI owners.

ECU Diagnostics

The stock ECU on a 92-97 Subaru Impreza can diagnose any fault that may arise that are sent from the various sensors in the engine bay to the electronic controller unit (ECU). The ECU will then signal the driver via the Check Engine in the instrument console if there is a problem with any of the computers inputs.  It is possible to find which sensor(s) is faulty by following these steps:
  1. Turn ignition OFF
  2. Connect read memory connectors [black connectors] (scroll down to "Finding Those Connectors" section to help you locate them)
  3. Turn ignition ON (Engine OFF)
  4. Engine Check lamp turns on
  5. Code is indicated by Pulsing lamp
  6. If Code is OK then Turn ignition OFF & Disconnect Connectors
  7. Check ECU Code
  8. Turn ignition OFF & Disconnect Connectors
  9. If there is a fault Check Appropriate Sensor

ECU Reset

An ECU reset will restore the car to factory default settings.  This will remove any stored fault codes and restore ignition advance.  Note that on the early Subaru models (especially pre 1997) the ECU purposely retards the ignition when any knock is detected, however, and it takes its time to advance the timing again.

It is possible to reset the ECU by following steps:

  1. Turn ignition OFF
  2. Connect Read Memory Connectors [black connectors] & Test Mode Connectors [green connectors] (scroll down to "Finding Those Connectors" section to help you locate them)
  3. Turn ignition ON (engine off)
  4. Engine Check lamp turns on
  5. Depress accelerator pedal completely
  6. Then return it to the half-throttle position and hold it there for two seconds
  7. Release pedal completely
  8. Start engine
  9. Code is indicated by Pulsing lamp
  10. If a fault is detected - Check ECU Code
  11. If no fault is detected - drive the car sensible for a couple of minutes until warm (don't push it and take it easy like a grandpa!)
  12. When the ECU has been reset the Check Engine Light will flash
  13. Code is indicated by Pulsing lamp
  14. If a fault is detected Check ECU Code
  15. Turn ignition OFF & Disconnect Connectors
  16. If there is a fault Check Appropriate Sensor

Finding Those Connectors

As indicated above, the Black Read Memory Connectors & the Green Test mode Connectors are required to perform diagnostic & ECU resets. The connectors are located under the dash up by the steering column. If they have not been used before they are usually taped quite high up & can be difficult to find, but they are there, once untaped they dangle down and are quite easy to use.

Reading ECU Codes

The ECU codes are displayed as pulses of the Check Engine Light.

Normal use

  • CEL On - If Check Engine Light stays on there is a fault.
  • CEL Off -  If Check Engine Light goes out there is no fault.

Diagnostic Mode

Flashing: Even and Continuous

No Fault is indicated by the Check Engine Light continuously & evenly flashing on/off (this is also used to indicate the successful completion of an ECU Reset).

Flashing: Abruptly with a pattern

You have a fault, the different pulses related to numbers, and the numbers will relate to an ECU code in plain English for you to further diagnose the car - scroll down to "Subaru ECU Codes" for the full list.

The long pulses (1.3 Seconds) indicate Tens and the short pulses (0.2 Seconds) indicate ones. Pulses are separated by Short Pauses (0.2 Seconds), multiple codes are separated by a Long Pause (1.8 Seconds).

The simplest way for an inexperienced mechanic to retrieve codes is to write the codes down in a sort of Morse Code (dots and dashes), and start a new line when you get a 1.8 Second pause (for NEW code), and then add the actual numbers up after code retrieval is completed.

Code Examples

Single Code Multi Code
1.3 second pulse (10)
0.2 second pause
1.3 second pulse (10....for a total of 20)
0.2 second pause
0.2 second pulse (1.....for a total of 21)
0.2 second pause
0.2 second pulse (1.....for a total of 22)
0.2 second pause
0.2 second pulse (1.....for a total of 23)
1.3 second pulse (10)
0.2 second pause
1.3 second pulse (10....for a total of 20)
0.2 second pause
0.2 second pulse (1.....for a total of 21)
0.2 second pause
0.2 second pulse (1.....for a total of 22)
0.2 second pause
0.2 second pulse (1.....for a total of 23)
1.8 second pause (this means NEW code)
1.3 second pulse (10)
0.2 second pause
0.2 second pulse (1.....for a total of 11)
0.2 second pause
.2 second pulse (1.....for a total of 12)
Code 23 -- MAF Sensor Codes 23 and 12, MAF Sensor and Starter Circuit

Subaru ECU Codes

All codes below are the generic Subaru ECU error codes, the highlighted ones are specific codes for the Impreza.
11* Crank Angle Sensor or Circuit
12* Starter Switch or Circuit
13* Cam Position Sensor or Circuit (TDC Sensor on Justy)
14 Fuel Injector No. 1 (Legacy, Impreza, Justy, SVX)
15 Fuel Injector No. 2 (Legacy, Impreza, Justy, SVX)
16 Fuel Injector No. 3 (Legacy, Impreza, Justy, SVX)
17 Fuel Injector No. 4 (Legacy, Impreza, SVX)
18 Fuel Injector No. 5 (SVX)
19 Fuel Injector No. 6 (SVX)
21* Coolant Temperature Sensor or Circuit
22* Knock Sensor or Circuit (Right Side on SVX)
23* Air Flow Meter or Circuit (Exc. Justy)
24* Air Control Valve or Circuit (Exc. Justy)
25 Fuel injector No. 3 and 4 (XT-6)
26 Air Temperature Sensor (Justy)
28 Knock Sensor No. 2 (SVX, Left Side)
29 Crank Angle Sensor (SVX, No. 2)
31* Throttle Position Sensor or Circuit
32* Oxygen Sensor or Circuit (No. 1, Right Side, On SVX)
33* Vehicle Speed Sensor (VSS) or Circuit
34 EGR Solenoid or Circuit
35* Purge Control Solenoid or Circuit
36 Air Suction Solenoid Valve (Impreza)
37 Oxygen Sensor (No. 2, Left Side, On SVX)
38 Engine Torque Control (SVX)
41 Air/Fuel Adaptive Control
42* Idle Switch or Circuit
43 Throttle Switch
44* Wastegate Duty Solenoid (Turbo Models)
45* Pressure Sensor Duty Solenoid (Turbo Models)
45 Atmospheric Pressure Sensor or Circuit (Non-Turbo Models)
46 Neutral or Parking Switch or Circuit
47 Fuel Injector
49 Airflow Sensor
51* Neutral Switch (Manual Transmission Models)
51 Inhibitor Switch (Automatic Transmission Models)
52 Parking Brake Switch (Exc. Justy)
53 Fuel Pump or Circuit
54 Choke Control System
55 EGR Temperature Sensor or Circuit
56 EGR System
57 Canister Control System
58 Air Control System
61 Fuel Tank Pressure Control Solenoid (Impreza)
62 Fuel Temperature Sensor (Impreza)
63 Fuel Tank Pressure Sensor (Impreza)
64 Vacuum Line Control Valve or Circuit
65 Vacuum Pressure Sensor
66 Sequential turbo system
67 Exhaust valve solenoid (positive pressure)
68 Exhaust valve duty solenoid
71 Ignition Pulse System
73 Ignition Pulse System
74 Ignition Pulse System
88 TBI Control Unit


Please refer to the photo and the reference guide for the location of each sensor in the engine bay of your Subaru Impreza. If you are currently debugging a problem from the fault given by the ECU code mentioned above then one of the following applies:
  • Sensor is disconnected, or wire is cut somewhere in the harness. Using a voltmeter to check continuity can help cross out this possible issue.
  • Faulty Sensor. Either research the possible values the sensor should own to (usually in ohms), or if possible replace the sensor with a known working one.
  • Faulty Mechanics. It could be the real fact that the mechanics the sensor is built to detect a fault on is actually not performing as it should.
Reference Sensor
1 Pressure sensor
2 Pressure exchange solenoid valve
3 Wastegate control solenoid valve
5 Mass air flow sensor signal
6 Oxygen sensor
7 Vehicle speed sensor 2
8 Engine coolant temperature sensor
9 Throttle position / Idle Switch
10 Idle air control solenoid valve
11 Knock sensor
12 Camshaft position sensor
13 Crankshaft position sensor when starter switch is ON
14 Purge control solenoid valve

ECU Pinouts

The ECU pinouts  for a 1996 Subaru Impreza can be downloaded from here.

Tags: Subaru, ecu, impreza, check engine light

Published in: Technical

Comments are currently disabled. Contact us if you would like us to bring it back.