OBD-II diagnostics

OBD-II Mode 06: reading the ECU's inner thoughts before Check Engine appears

What OBD-II Mode 06 is, how to read on-board monitor test results (catalyst, O2, EGR) before a DTC appears, and why it's a secret weapon of professional diagnosticians.

AI-generated 3 min read

Mode 06 is the least-known and most powerful OBD-II mode. It lets you read raw self-test results from monitors (catalyst, O2, EGR, EVAP) with actual values and thresholds — so you learn about a future failure long before Check Engine turns on. This post: how to read it and what to pull out.

What Mode 06 is

SAE J1979 defines 10 “modes” of ECU communication. The most-used:

  • Mode 01 — live parameters (RPM, MAF, temperature)
  • Mode 03 — active DTCs
  • Mode 06 — On-Board Monitoring Test Results

Mode 06 returns the result of each internal ECU test as:

Test ID: <number> | Component: <what is being tested>
Value: <actual>   | Min: <minimum>  | Max: <maximum>

Example for the catalyst (Test ID $01):

Value: 0.42  Min: 0.00  Max: 0.75

Value 0.42 is near Max 0.75 — meaning the catalyst is running at 56% of its limit. There’s no DTC yet (P0420 triggers at 0.80+), but the trend is bad. In a few weeks the code will appear.

Which monitors Mode 06 covers

Standard tests present on every OBD-II car:

Test IDWhat it tests
$01-$02Catalyst efficiency (bank 1 and bank 2)
$05-$06O2 sensor heater response
$21-$28O2 sensor response time
$31-$32EVAP leak (0.020” and 0.040”)
$39EGR flow test
$41Secondary Air System
$A2-$A9Misfire — miss statistics per 1000 cycles

Manufacturers add proprietary tests (Ford has up to 200 Test IDs, VW up to 150).

Practical example: get ahead of P0420

You’ve just replaced the O2 sensor, catalyst looks fine. Two months later you read Mode 06:

  • Test $01 (catalyst bank 1): Value 0.68, Min 0.00, Max 0.75

68/75 = 90%. Still Ready, still no code. But the marker is clear — catalyst is aging. You have 2-3 weeks until P0420 shows. Enough to order an OEM catalyst instead of running to the store on Sunday.

Misfire counter — Test IDs A2-A9

Each cylinder has its own Test ID:

  • $A2 = Cylinder 1
  • $A3 = Cylinder 2

Value = miss count over the last 1000 cycles. Max = 20 (DTC P030X threshold).

If Value is 15 on cylinder 3 — no DTC yet, but misses are already happening. One cold morning is enough to trigger the code. The hint: order a spark plug/coil now, not after starting the car at -15°C and finding it shaking.

EVAP leak test — Test IDs 31/32

  • $31 (Small leak 0.020”) — compare Value against Max: if > Max, small leak in the fuel-vapour recovery system
  • $32 (Gross leak 0.040”) — big leak, gas cap or hose

If Value is 3.2 with Max 3.5 — the leak has almost reached the limit. Often correlates with the EVAP monitor stuck in Not Ready (see the Readiness Monitor post).

How to read Mode 06

In Car Diagnostics Mode 06 is on the Advanced Diagnostics screen — under each monitor you see Value / Min / Max with a visual indicator (green/yellow/red). Automated interpretation is on the paid tier — the AI agent gives a recommendation: “Catalyst bank 1 runs at 90% of its limit, estimated remaining service ~ 3-6 months”.

Try it on the free tier — raw Value / Min / Max is available; automated interpretation is paid. It’s the most powerful preventive-diagnostic tool for those who don’t like Check Engine surprises.