Home > Suby Engine-1 > Wiring > Idiot's Guide to Subaru EJ ECU Codes

Idiots Guide To (OBDI & OBDII) ECU Codes

The ECU itself is smart enough to store codes which indicate supposed malfunctions as detected by the EJ22 sensors during operation. If, for example, you were to unhook the knock sensor while your engine was running, the ECU would note that as a malfunction and would store the code in it's memory. Later, when the mechanic (that's you) reads the codes, he or she would note that the knock sensor had malfunctioned and would proceed quickly to the next step of diagnostics on that part. The ECU light works together with two pair of connectors which, depending on which are connected, will display the stored codes or the codes being experienced by the engine as you drive. When I say code, I mean a series of numbers. The code is provided to you by the display of flashes of light. Long flashes show the tenth place and short flashes show the one place. So, 5 long flashes and 1 short flash = Code 51.

The two pair of connectors are located close to the ECU, one pair with Green Connectors (Test Mode) and one pair with Black Connectors (Read Memory Mode). The Subaru ECU (both OBDI and II) when residing happily in a Subaru Legacy or wherever it came from, feeds a ground wire which is meant to be hooked up to a light in the Subaru's dashboard (the Engine Trouble Light). Some Legacy ECU's have a check engine light on the ECU itself (I believe '90 and '91's.) Later years you have to install an LED to the red/yellow wire at (d19) on the ECU. This wire goes to one side of the LED, the other side is connected to a source of 12V with "ignition on". In order start the codes flashing, two green "test mode" connectors, (one with a red/black wire coming from ECU ( c12), the other a black/red wire to ground), must be connected together at the ECU.
If you are performing a conversion you have a choice to make on where to place your ECU light, whether in your vehicles dash or back by the engine or on top of the car in the form of a strobe (wouldn't that be irritating?)

I went to a bit of extra work placing my ECU light in my vanagon dash and now question the sanity of that action. The ECU light on the converted Subaru engine WILL light, displaying error codes unless the mechanic (you) go to extra pains to:
  • Put a toggle switch in the line feeding the light (this is considered sneaky)
  • Install vss sensors and other electrical bits to fool your ecu into thinking all is well w/ the world (this is extra work.)
I am fine with the light showing for now. It gives off a warm glow and reminds me that I am responsible for how well this bloody van runs in the first place. There are many resources available out at the SubaruVanagon site that provide instructions (and places to buy) gadgets to eliminate trouble codes.

Test Modes

  • Green Test Mode Connector Disconnected/Black Read Memory Connector Disconnected
    U-Check Mode: only components necessary for proper starting and drive operation are monitored. The check engine light will come on when a fault is detected, indicating the need for further diagnosis. Parts which do not significantly affect starting or driveability are not monitored in this mode.
    To access this mode: ignition ON, Read memory terminal disconnected, test mode terminal disconnected
  • Green Test Mode Connector Disconnected/Black Read Memory Connector Connected
    Read Memory Mode: This mode is used to read codes of past problems stored in memory and can be accessed when the check engine light is off. It is effective for detecting poor contact or loose electrical connections.
    To access this mode: ignition ON, Read memory terminal connected, test mode terminal disconnected.
  • Green Test Mode Connector Connected/Black Read Memory Connector Disonnected
    D-Check Mode: this mode checks the entire system and displays any trouble coded currently being monitored.
    To access this mode: ignition ON (engine ON), Read memory terminal disconnected, test mode terminal connected
  • Green Test Mode Connector Connected/Black Read Memory Connector Connected
    Clear Memory Mode: This mode removed trouble codes from memory after repairs are made.
    To access this mode: ignition ON (engine ON), Green Test Mode terminal connected, Black Read Memory mode connected (See Clearing Codes)

Reading Trouble Codes

The codes are displayed as pulses of the LED mounted on the module. Long pulses (1.2 seconds) indicate tens and the short pulses (.2 seconds) indicate ones. Pulses are seperated by .3 second puses and codes are seperated by 1.8 second pauses. NOTE:on 89 MPFI models, the Oxygen Monitor light and ECU are mounted under the rear package shelf and are only accessible from the trunk.
On some later models the Check engine lamp and O2 monitor lamp flash the code(s) corresponding to the faulty part. The long segment (1.2 sec on) indicates a "ten", and the short segment (0.2 sec on) signifies a "one".

  • 90 models - Trouble codes on the Justy are viewed on the Oxygen Moniter light, all other models the codes can be viewed on either the Oxygen Moniter light or the MIL (check engine light).
  • 95 Imprenza and Legacy models have OBD2 systems and require a scanner,but some basic codes can be retreived using the flashing MIL method.

Clearing Codes - Later Found To Be Rubbish! (see below for truth)

Codes will only clear (permanently) when the faulty system or circuit has been repaired. Even if you were to repair the faulty system, the ECU would keep the code in memory until that time that you clear it. After making the repairs, codes can be cleared by connecting 2 pairs of connectors, the "Self-diagnostic" Black Read Memory connectors and the "Green Test Mode" connectors that are usually to the right of the diagnostic connectors.

  • Start with a warmed up engine
  • Turn off the engine
  • Connect both pairs of connectors
  • Finally start the engine
  • This should clear the codes.

Clearing Codes (The real deal, straight scoop)

Here's a very clear explanation as provided by Dan Fleming down in California. Thanks Dan!

For those of you interested in the actual clear code procedure from the book (OBD1 EJ22), note that it is not as simple as connecting the read code and clear code connectors for a few seconds as many converters believe.

Here is what the book says, page 2-7 (Clear Memory Mode)

  1. Start and warm up the engine
  2. Turn ignition switch to the "OFF" position
  3. Connect both pairs of connectors, the read memory and clear memory connector pairs
  4. Turn ignition switch to the "ON" position (engine off)
  5. The check engine light should come on
  6. Depress the accelerator pedal completely and then return it to half throttle position and hold it there for two seconds. Release throttle completely
  7. Start engine
  8. Check engine light should go out (codes cleared)
  9. If it doesn't go out, go check the code and fix the problem
  10. If it does go out I have found that practically you can stop here and disconnect connectors. But the book wants more, including driving at speed greater than 7MPH for at least one minute, tranny in high gear, at least 2000 RPM, etc.

    Although disconnecting the battery sometimes will clear codes I have found the book procedure steps 1-8 to work well and immediately.

    If you don't properly clear codes you can be trying to fix a problem that no longer exists. The ECU does not clear some codes just because it no longer sees the fault condition -- it may take a number of restarts, etc.

    DDF

Expected Codes on EJ22 Conversions

The 1990-1994 Subaru EJ22 engine, when converted properly to the Vanagon drive train, will display 3 trouble codes. Now I say trouble codes but these codes are perfectly acceptable. In fact, Kennedy Engine Performance (KEP) has gone to the trouble of applying for and obtaining documented exceptions for these three codes from the government. I don't think they have the same for OBDII (later EJ25's) which is one of the reasons I chose to convert to the EJ22. If you pay Kennedy, they will send you what's called a CARB compliance placque which should be installed in your engine bay. When you have the vehicle smogged, if they care, the referee will look at the placque and note that you are cool with the displayed codes, and pass you as long as there are not other things wrong.

Here are the acceptable codes with EJ22 Conversions that are covered by Kennedy's CARB Compliance doc:
  • 33 - Vehicle speed sensor (VSS) or circuit
  • 51 - Neutral switch (manual transmission)/inhibitor switch (automatic transmission)
  • 52 - Parking brake switch (exc. Justy)/Clutch switch (Justy)