Cars Cats Computers — DIY car diagnostics with | carscatscomputers.com

Read the light yourself

Cars Cats Computers — DIY car diagnostics with | carscatscomputers.com

What a scan tool tells you

Which system reported the fault, what kind of fault it was, and the conditions — engine speed, calculated load, coolant temperature and fuel trims — at the moment the code was stored.

What it cannot tell you

Which part to replace. A code names a system and a symptom, and the same number can trace back to several causes, so the freeze frame and live data come before any parts decision.

16pins in the J1962 diagnostic connector, in two rows of eight
1996first US model year with mandatory OBD-II on petrol cars and light trucks
500 kbit/sspeed of CAN, the fastest of the four diagnostic buses

What you need on the bench

A laptop, an OBD-II adapter and software that speaks SAE J1979 — that is the whole toolkit.

The car side of the bench is already built. OBD-II is mandatory on every US gasoline car and light truck from model year 1996, California required it from 1994, and the EU required EOBD on all new petrol cars from 1 January 2001 and new diesels from 2004. Inside those dates, the port is on board.

The connector itself is SAE J1962: 16 pins in two rows of eight inside a trapezoidal housing, mounted within easy reach of the driver. Pins 6 and 14 carry CAN high and CAN low, the pairing used by the fastest bus.

The adapter is the one choice that matters. The four protocols run at different speeds — CAN at 500 kbit/s, J1850 PWM at 41.6 kbit/s, and J1850 VPW, ISO 9141-2 and KWP2000 down at 10.4 — so an older import may need a different adapter than a newer car. Match the adapter to the protocol before blaming the software.

  • A laptop with USB, or Bluetooth/Wi-Fi if the adapter is wireless
  • An OBD-II adapter that speaks the car's protocol — CAN for most newer cars, ISO 9141-2 or KWP2000 for many older imports
  • Software that reads SAE J1979 services: trouble codes, freeze frame and live data
  • The car's model year and market, to confirm it falls inside the coverage dates
The signature mark of this site, drawn as a plate

The procedure, step by step

Locate the port, read codes and freeze frame first, clear last — the order protects the data.

Work in the order below and you keep everything the ECU saved. The reading itself takes minutes at the kerb; the drive cycle at the end is the long part, 30-150 km of mixed city and motorway driving.

The codes you pull usually fall into a handful of families, because those are the systems the car watches continuously: misfire codes such as P0301, fuel-system and oxygen-sensor codes, catalyst codes, EGR codes and EVAP codes. Write down every code — pending and confirmed — before touching the clear button.

Behind each code sits a freeze frame: engine speed, calculated load, coolant temperature and fuel trims at the moment the fault was stored, typically five or more values, read back over SAE J1979 service 02. Those numbers let you reproduce the fault conditions on the road instead of guessing.

  • Find the 16-pin J1962 port within reach of the driver's seat and plug the adapter in
  • Ignition on, engine off; give the adapter a few seconds to connect at the car's bus speed
  • Read confirmed codes and pending codes, and write them all down
  • Save the freeze frame for each code: rpm, load, coolant temperature, fuel trims
  • If the fault is intermittent, log live data on a short drive and compare it with the freeze-frame values
  • Fix or note the cause, then clear the codes
  • Complete a full drive cycle — 30-150 km of mixed driving — until the readiness monitors report ready
The signature mark of this site, drawn as a plate

The four buses your adapter may need to speak

Four protocol families at three speeds: why one adapter does not fit every car.
ProtocolBus speedWhere you are likely to meet it
CAN500 kbit/sThe fastest bus; reaches the connector on pins 6 and 14
SAE J1850 PWM41.6 kbit/sA mid-speed bus found on some pre-CAN cars
SAE J1850 VPW10.4 kbit/sA slower bus found on some pre-CAN cars
ISO 9141-210.4 kbaudCommon on older imports; needs an adapter that speaks it
KWP200010.4 kbaudKeyword protocol, also common on older imports
Four protocol families at three speeds: why one adapter does not fit every car.

Terms the scanner uses

Malfunction indicator lamp
The dashboard check-engine light. It switches on when a fault is confirmed after a second consecutive failed drive cycle — not on the first failure.
Pending code
A code stored after the first failed drive cycle. It sits in memory without lighting the lamp and becomes confirmed if the next trip fails the same test.
Confirmed code
A code stored after the second consecutive failure. It lights the malfunction indicator lamp and stays in memory until cleared.
Freeze frame
A snapshot the ECU saves when a code sets: engine speed, calculated load, coolant temperature and fuel trims — typically five or more values — read back with SAE J1979 service 02.
Readiness monitor
A self-test the car re-runs after every clear. There are 7 to 11 of them, covering misfire, fuel system, components, catalyst, EVAP, the oxygen sensor and its heater, and EGR.
Drive cycle
The mix of city and motorway driving — roughly 30-150 km — that lets every readiness monitor run its test again. EVAP usually finishes last.

Reading the five characters

One letter and four digits tell you the system, the origin and the fault — P0301 and P1301 are not the same code.

The first character is a letter that names the system: P for powertrain, C for chassis, B for body, U for network. A P code points at the engine and transmission side of the car; a U code means the modules are having trouble talking to each other.

The second character — the first digit — says who defined the code: 0 for SAE generic, 1 for manufacturer-specific. That single digit is why P0301 and P1301 can appear in the same scan log: the first is a generic code any scanner can decode, the second is the maker's own number and needs the maker's documentation.

The ranges make the split explicit. Generic codes occupy P0000-P0999 and P2000-P2999, while P1000-P1999 is reserved to the vehicle maker — so the same underlying fault can carry a different number on two brands. Decode the letter and the first digit and you know whether any generic reference will do. The full walkthrough is on the companion page How to Read a Trouble Code: P0301 and Friends.

Sources and standards

The standards and regulations behind each figure on this page, named in the final section.