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.
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 ID | What it tests |
|---|---|
| $01-$02 | Catalyst efficiency (bank 1 and bank 2) |
| $05-$06 | O2 sensor heater response |
| $21-$28 | O2 sensor response time |
| $31-$32 | EVAP leak (0.020” and 0.040”) |
| $39 | EGR flow test |
| $41 | Secondary Air System |
| $A2-$A9 | Misfire — 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.