Personal‎ > ‎

Subaru EJ22E ODB1 SSM to reader options

Are you asking to switch the OBDII Connector on the 94/95 Hybrid ECM, to the OBDI Connector that of the 93 and lower ECU's? Not going to be easy, bud. If you are determined to switch connectors, why not make your own proprietary connector? Grab a 25 Pin D-Sub Connector [Also known as "Parallel/Printer port"], get the pin-out for the Scanner. All you would need to do, is check the resistance from one pin on the OBDII connector, and another on the end of the Scanner. When you get anything other than open, you've found where that connector goes, and you just keep doing that until you have the pin out. Then, just get to work on making it. Yeah, it would take a little time, and a soldering iron, but it would be the same to convert your OBDII Connector, to an OBDI. I am sure there is a member here with that scan tool, that wouldn't mind grabbing a pin-out for you.. so you wouldn't need to buy the cable. Or, just buy it, and return it once you are done with it.

25 pin D-Sub Connector

Click the image to open in full size.
this yellow connector used in some models produced after 1993.

2  for SSM (Subaru Select Monitor) 
3  SSM (Subaru Select Monitor) 
9  Ground


Bookmark /  Discuss  /  Edit  this page or submit new.
  • Subaru Forester
  • Subaru Impreza
  • Subaru Impreza GD/GG
  • Subaru Impreza GX
  • Subaru Impreza WRX
  • Subaru Impreza WRX GD/GG
  • Subaru Legacy
  • Subaru Outback
obd 2 used in most american models produced after 1996 and european produced after 2001

4CGNDChassis ground
5SGNDSignal ground
6CAN HighJ-2284
7K-LINE(ISO 9141-2 and ISO/DIS 14230-4)
9  SSM (Subaru Select Monitor) timing pulse
11 SSM (Subaru Select Monitor) timing pulse
12 SSM to ECM signal
13 ECM to SSM signal
14CAN LowJ-2284
15ISO 9141-2 L-LINE(ISO 9141-2 and ISO/DIS 14230-4)
16+12vBattery power



Subaru OBD-2 compatibility list

ModelEngineYear (starting from)OBD-2 Protocol
Subaru ForesterGasoline (168 HP)1999 
2.0 turbo, Gasoline (177HP)2000ISO 9141
2.0 Atmo, Gasoline (125HP)2001ISO 9141
Subaru Imprezagx, Gasoline (125HP)2000ISO 9141
2.0 Turbo 16s, Gasoline (217HP)2001ISO 9141
2.0 turbo, Gasoline (225HP)2001ISO 9141
1.6, Gasoline (95HP)2002ISO 9141
2.0 Turbo, Gasoline (265HP)2003ISO 9141
Subaru Impreza GD/GGGasoline (124 HP)2000ISO 9141-2 
Subaru Impreza GXGasoline (124 HP)2001ISO 14230-4, ISO 9141-2
Subaru Impreza WRX 2002ISO 14230-4, ISO 9141-2
Gasoline (222 HP)2003ISO 14230-4, ISO 9141-2
Gasoline (227 HP)2006ISO 14230-4, ISO 9141-2
Subaru Impreza WRX GD/GGGasoline (215 HP)2000 
Subaru Legacy2.5 BE/BH, Gasoline (155 HP)2000ISO 9141-2 
2.5i, Gasoline (165HP)2004KWP FAST
2, Gasoline or LPG (138HP)2005KWP FAST
2.0, Gasoline (163 HP)2007CAN 
2.0 D, Diesel (150HP)2009CAN 11bit (500kb)
2.02001ISO 14230-4, ISO 9141-2
Subaru OUTBACKGasoline (155 HP)2000 
2.5i, Gasoline or LPG (165HP)2005KWP FAST
2.5l gpl, Gasoline or LPG (165HP)2006KWP FAST
3, Gasoline (245HP)2007CAN 11bit (500kb)
Subaru Outback Wagon 2002ISO 14230-4, ISO 9141-2

Obd protocols:

1996-2002 : ISO 9141

2003-2005 : ISO 9141 or KWP2000

after 2007 : CAN

There are no support for any OBD protocols in some european models produced before 2001.


aSubaru OBD II diagnostic connector pinout

Latest Problem: Android does not support wlan ad hoc

this link shows how to get torque to work w wifi in theory

rooting samsung galaxy

if i hack phone to support ad-hoc will obd2 software work?

Have Tom Auto Install OBD2  J1962 connector to cable assembly?

Or Install OBD1 Connector and then obtain adapter.


Yeay! - I have the right doohickey - the one on the right!
Alexander Hagen: This item is eligible for Amazon Prime. Click here to turn on 1-Click and make Prime even better for you. (With 1-Click enabled, you can always use the regular shopping cart as well.)

Sign in to turn on 1-Click ordering.
More Buying Choices
2 new from $12.00
Have one to sell? Sell yours here

OBD OBD2 16 Pin Connector Diagnostic Adapter for SUBARU 9 Pin

by Elandpower

Price:$12.95 Eligible for free shipping with Amazon Prime.
Only 5 left in stock.
Sold by Emartcom and Fulfilled by Amazon. Gift-wrap available.
2 new from $12.00
Pin Out Instructions:
Plan: Splice Diagnostic Link Connector to ODB2
Obtain Female 25 pin parallel port 

Subaru Engines Diagnostic 


Scan Tool for Codes and Live Data for your Subaru Engine from $699 USD

Subaru Engines - Please select the connector for your vehicle from the options below.

OBD2 / EOBD connector

This is an OBD2 / EOBD standard 16 pin data link connector

To get a list of codes that relate to this system click here

This connector is usually located under the driver side dash panel.

Subaru Engines Connector 1

Photos of where to find connector in car

Diagnostic Link Connector No. 1

Year range: 1984 to 2009

Locations: Beside (or taped to) the steering column.

Connector Diagram
Connector Location
  • Connectors are a matching male and female pair. Each vehicle has two connector pairs.
  • One connector pair are green, the other pair are EITHER black or clear.
All Subaru's have the ability to read two types of codes, Memory and Present.
NOTE: Memory codes should be read first.
  • Memory codes are those that have been detected previously and stored.
  • Connect either Black or Clear connectors together for this test.
  • Present codes are those that are existing at the current time.
  • Connect GREEN connectors together for this test.
Subaru Engines: For a vehicle coverage list Click Here

< BackAll content copyright Rennacs Limited, 2009. All products names mentioned herein should be considered registered trademarks of their respective owners.
For comments and feedback please email


Locate your vehicles diagnostic port obd-II :

Adapters for Vehicle On-board Diagnostic

It is probably happened for many of us, you are driving along in your car and the "Check Engine” yellow light illuminates on the dashboard as clear indication that is something wrong with your car. Unfortunately, it doesn’t give any clue what might be the nature of the problem and can mean many different things, from a loose gas cap to catalytic converter fault. I do remember back to year 94 Acura Integra used to have the control unit under the driver seat and the LED was flashing if something was wrong. Counting the number of blinks during repeated intervals you can get the error code. As vehicle computers getting more and more sophisticated the number of possible error codes increases exponentially. The solution is to use on-board diagnostic (OBD). This article describes how to build simple OBD interface and get access to your vehicle’s Engine Control Unit (ECU).



This project started a few years ago when I wanted to be able to reset the service interval reminder in my 1997 Audi A4. It turned out that the only way to do it for that particular model is connect to ECU using proprietary Volkswagen KW1281 protocol or put myself at mercy of dealer. I was able to build a simple adapter inspired by Jeff Noxon schematic and using VWTool desktop application for resetting the service indicator. That was apparently a design flaw and in later Audi models you can reset the service reminder by pressing predefined key combination on dashboard. Volkswagen KW1281 is an example of proprietary protocol and works only in vehicles manufactured by Volkswagen. These days most of the vehicles equipped with On-Board Diagnostic. The good news is that it’s a standard and should work with any OBD-compliant vehicle. The first incarnation of On-Board Diagnostics specification was developed by Society of Automobile Engineers (SAE)  was known as OBD I. It was not very successful and later on was replaced  with OBD-II. It is mandatory for all cars and light trucks in US since '96. Canada introduced similar requirements two years later. EOBD is a version of OBD-II required in Europe starting year 2004 for diesel vehicles and 2001 for gasoline vehicles. The Data Link Connector (DLC) for connecting the diagnostic equipment  is standard as well. The pinout of DLC connector is shown in Figure 1 as defined by SAE J1962 spec.

Manufacturers are free to use connector pins not listed by SAE document for their own purposes. The connector is usually located on the driver’s side under the dashboard, but you can use the DLC location database. The DLC connector allows the scan tool to read the diagnostic data from engine computer and reset the “Check Engine” light. Note that all DMV emission testing facilities are using OBD diagnostics now and inspection will fail if vehicle has the "Check Engine" light illuminated, even if it is only lit to remind you of a past-due oil change or 60,000-mile tune-up.

1Not defined
2Bus positive line of SAE J1850
3Not defined
4Chassis ground
5Signal ground
6CAN(H) ISO 15765
7K line ISO 9141/14230
8Not defined
9Not defined
10Bus negative line of SAE J1850
11Not defined
12Not defined
13Not defined
14CAN(L) ISO 15765
15L line ISO 9141/14230
16+12 volt battery

Figure 1, DLC connector pin assignment


Figure 2, Female DLC connector view


The OBD-II Communication Protocols

Originally OBD-II standard specified only three communication protocols: ISO 9141, SAE J1850 PWM and SAE J1850 VPW. All three are vendor-specifics protocols using by Chrysler, GM and Ford, SAE just incorporated all of them in OBD-II standard. The ISO14230 (Keyword 2000) protocol came in the picture around year 2000 as an attempt to improve and extend the existing ISO9141 protocol. Controller Area Network (CAN) is a serial bus communication protocol developed by Bosch in the early 80s and started to appear in 2003. The detail description of the communication protocols goes beyond the scope of this article, I just want briefly to enumerate them. The ISO9141/14230 is probably the most wide-spread protocol for the moment and being used by Chrysler and the most of European and Asian-made vehicles. It is deploying bidirectional asynchronous bus with the communication speed 10.4 Kbps similar to RS-232. The idle bus is defined by presence of the high (+12V) level and signaled bus has the ground level. To start the communication with the ECU the diagnostic tester using special initialization sequence. After connection is established and there is no activity on the bus the tester periodically has to send “Keep Alive” packets to maintain the communication channel open. The original ISO9141 document defined two communication wires, K and L lines. L line is optional and can be used only on the establishing communication step. It became legacy and not being used these days. SAE J1850 PWM is 41.6 Kb/s Pulse Width Modulation is the original Ford standard with two wire differential approach. The voltage levels on the bus are in 0÷5V range. SAE J1850 VPW 10.4Kb/s protocol is being used by GM and Chrysler and stands for Variable Pulse Width. It is serial communication with a single signal wire. The voltage level on VPW bus is varying between ground and 8V. Both protocols, PWM and VPW employ a multi-master CSMA/NDA arbitration scheme. CAN protocol is a popular standard outside of the US automotive industry and became standard communication bus for today’s vehicles. The communication speeds are being used either 250 Kbps or 500 Kbps with standard 11-bit (CAN A) or extended 29-bit (CAN B) identifiers. By 2008, all vehicles sold in the US will be required to implement CAN, thus eliminating the ambiguity of the existing five communication protocols. Modern vehicle may have many different electronic control units for various subsystems and communications among them are essential. Typically the biggest processor is the ECU, others are used for transmission, airbags, antilock braking, etc. PWM, VPW or CAN protocols are often using for that purpose, making DLC connector just logical extension of an existing communication bus.


What Communications Protocol does my vehicle use?

If you live in US, all '96 and newer passenger cars are required to support OBD-II diagnostics. The same is true for Canada and Europe just years are different, see the table below. If you live in any other country, your country may have started requiring OBD-II.

CountryOBD Mandatory Starting Year
Europe (diesel)2004
All other countriesOptional

Figure 3, OBD-II standard support by country

If you know for sure that your car supports OBD-II the next question will be which flavor? In general, GM cars and light trucks use SAE J1850 VPW, when Ford uses SAE J1850 PWM protocol. Chrysler vehicles might use either ISO9141 or VPW. The European and most of Asian cars use ISO9141/14230. All the new vehicles have to use CAN protocol. Another way to tell which protocol is used is examining the DLC connector, see the Figure 4. Note that contacts in pins 4, 5 and 16 should always be present. If your vehicle has this style connector, but doesn't have these pins populated, you probably have a pre OBD-II vehicle built before 1996. Ok, now you have found your DLC connector ant it looks exactly the same... Well, having the connector with the contacts shown in Figure 4 is not a guarantee of OBD-II compliance. Interesting enough the same vehicle models built for different markets may or may not be OBD-II compliant. In general, the car manufactures are trying to avoid open standards and lock in the diagnostic service with proprietary protocols. Dealers want to have their share as well!


         ProtocolPin 2Pin 6Pin 7Pin 10Pin 14
ISO 9141/14230    
J1850 PWM   
J1850 VPW    
ISO 15765 CAN 


Figure 4, OBD-II connectors pin for different protocols

Anecdotally, I know the case when the particular model made for sale in Turkey actually had DLC connector, all the ISO9141 pins populated and even passed OBD-II initialization sequence. Then it replied back with the error code that car was not OBD compliant!


Reading ECU Data

The OBD standard divides the data in multiple groups called services. Within the particular service multiple Parameter Identification Numbers (PID) are defined. For a list of basic PIDs and their definitions see Figure 5. Service 1 provides the access to multiple sensors, like engine RPM, coolant temperature, vehicle speed and etc, see Figure 6. In Service 2 you can retrieve so-called “Freeze Frame” data. The Freeze Frames are a "snapshot" of the vehicle's operating conditions at the time of the fault. Service 3 gives you ability to get Diagnostic Trouble Codes (DTC). That is when you Check Engine light go on. The generic DTC list defined in SAE J2012 document is common for the all vehicles and manufacturers are free to provide the specific codes as an extension. Service 4 allows you to reset the trouble codes reported in Service 3. There is no way to select the particular DTC to be reset, you can only clear all of them. Service 9 let you read Vehicle Identification Number (VIN) and Calibration IDs. See Wiki OBD-II PIDs article for more details.

1Show Current Diagnostic Data
2Show Freeze Frame Data
3Show stored Diagnostic Trouble Codes
4Diagnostic Trouble Codes
5Test results, oxygen sensor monitoring
6Test results, other component/system monitoring
7Show Pending Trouble Codes detected during current or last driving cycle
8Control operation of on-board component/system
9Request Vehicle Information

Figure 5, OBD-II Services


00PIDs supported in range 01-1F
01System status since DTC cleared
02DTC that cause freeze frame
03Fuel System 1 Status
04Calculated LOAD Value
05Engine Coolant Temperature
06Short Term Fuel Trim - Bank 1
07Long Term Fuel Trim - Bank 1
08Short Term Fuel Trim - Bank 2
09Long Term Fuel Trim - Bank 2
0AFuel Rail Pressure
0BIntake Manifold Pressure
0CEngine RPM
0DVehicle Speed
0EIgnition Timing Advance for #1 Cylinder
0FAir Intake Temperature
10Air Flow Rate from MAF
11Absolute Throttle Position
12Commanded Secondary Air Status
13Location of O2 sensors
14O2 sensor voltages & short term fuel trim Bank 1 Sensor 1
15O2 sensor voltages & short term fuel trim Bank 1 Sensor 2
16O2 sensor voltages & short term fuel trim Bank 1 Sensor 3
17O2 sensor voltages & short term fuel trim Bank 1 Sensor 4
18O2 sensor voltages & short term fuel trim Bank 2 Sensor 1
19O2 sensor voltages & short term fuel trim Bank 2 Sensor 2
1AO2 sensor voltages & short term fuel trim Bank 2 Sensor 3
1BO2 sensor voltages & short term fuel trim Bank 2 Sensor 4
1COBD requirements to which vehicle is designed
1DLocation of oxygen sensors
1EAuxiliary Input Status
1FTime Since Engine Start
20Supported PIDs in range 21-3F
21Distance Traveled While MIL is Activated
22Fuel Rail Pressure relative to manifold vacuum
23Fuel Rail Pressure
24O2 Bank 1 – Sensor 1 (wide range O2S)
25O2 Bank 1 – Sensor 2 (wide range O2S)
26O2 Bank 1 – Sensor 3 (wide range O2S)
27O2 Bank 1 – Sensor 4 (wide range O2S)
28O2 Bank 2 – Sensor 1 (wide range O2S)
29O2 Bank 2 – Sensor 2 (wide range O2S)
2AO2 Bank 2 – Sensor 3 (wide range O2S)
2BO2 Bank 2 – Sensor 4 (wide range O2S)
2CCommanded EGR
2DEGR Error value
2ECommanded Evaporative Purge
2FFuel Level Input
30Number of warm-ups since DTC cleared
31Distance Since DTC cleared
32Evap System Vapor Pressure
33Barometric Pressure
34O2 Bank 1 – Sensor 1 (wide range O2S)
35O2 Bank 1 – Sensor 2 (wide range O2S)
36O2 Bank 1 – Sensor 3 (wide range O2S)
37O2 Bank 1 – Sensor 4 (wide range O2S)
38O2 Bank 2 – Sensor 1 (wide range O2S)
39O2 Bank 2 – Sensor 2 (wide range O2S)
3AO2 Bank 2 – Sensor 3 (wide range O2S)
3BO2 Bank 2 – Sensor 4 (wide range O2S)
3CCatalyst Temperature Bank 1, Sensor 1
3DCatalyst Temperature Bank 2, Sensor 1
3ECatalyst Temperature Bank 1, Sensor 2
3FCatalyst Temperature Bank 2, Sensor 2
40Supported PIDs in range 41-5F
41Monitor status this driving cycle
42Control module voltage
43Absolute Load Value
44Commanded Equivalence Ratio
45Relative Throttle Position
46Ambient air temperature
47Absolute Throttle Position B
48Absolute Throttle Position C
49Accelerator Pedal Position D
4AAccelerator Pedal Position E
4BAccelerator Pedal Position F
4CCommanded Throttle Actuator Control
4DMinutes run by the engine while MIL activated
4ETime since DTC cleared

Figure 6, Service 1 PIDs supported by Hyundai Elantra ECU


OBD-II vs. Proprietary Protocols

OBD-II was designed for vehicle emission diagnostic in the first place. Even though the standard defined many useful functionality vendors are not required to implement all the PIDs listed in SAE document. That is the most confusing part about OBD-II. For instance, the latest ECUs are supporting the VIN number request in Service 9, but if your car goes back to year '96 you are out of luck here. Take a look on Figure 6. It is listing all the PIDs for Service 1 in blue and PIDs supported by Hyundai Elantra ECU in white bars. Not so many of them...  In general, you can only read the data and erase the DTC when the proprietary protocols give you access to all the components. Want to reprogram your central locks or your Radio? Diagnose a problem with your ABS, Airbags, or Automatic Transmission? Re-align your Immobilizer after swapping ECU's? Reset your Service Reminder Indicator? No way to use OBD here! It is just an example of such device with support for the most of proprietary vehicle protocols, MODIS from Snap-on is shown below with the price sticker around $7,000. Do you really need it? If you just want the check why you are got "Check Engine” light OBD-II still might be handy...