A Deep Dive into OBD-II Mode $06: How to Interpret Non-Continuous Monitor Test Results



You’ve got a check engine light that won’t stay off, but Mode $03 (stored DTCs) and Mode $01 (live data) aren’t telling you squat. The ECU passes the generic emissions monitors, yet you know something’s off. That’s when you need Mode $06 — the ECU’s own internal test log. Unlike the pass/fail smoke screen of Mode $01, Mode $06 gives you raw test results for individual components: catalyst efficiency, O2 sensor switching time, misfire counts, even EVAP system leak thresholds. I’ve been using this on everything from a 2005 Silverado with a P0420 to a 2013 Focus that kept lighting the CEL for no apparent reason. Mode $06 doesn’t lie — it shows you exactly how far (or close) a component is from flunking the emissions test. Most DIYers never touch it because the data looks like alphabet soup. Once you learn to read it, you can catch a failing part before it strands you or fails inspection. Let’s crack that soup can.

Car Parts Buyer's Checklist

OEM vs aftermarket decision guide, compatibility lookup tips, and money-saving strategies for auto parts.

What Exactly Is Mode $06 and Why Should You Care?

Mode $06 is one of the nine OBD-II diagnostic modes defined by SAE J1979. While Mode $01 gives you generic live sensor data (coolant temp, RPM, fuel trim), Mode $06 reports the results of non-continuous monitors — tests that run only under specific conditions, not every drive cycle. These include the catalytic converter, oxygen sensor heater and response, EVAP system, EGR system, and misfire monitoring. Each test has a Test ID (TID) and Component ID (CID), and the ECU spits out the minimum and maximum thresholds alongside the current test result. For example, a catalytic converter monitor might report a conversion efficiency ratio of 0.85, with a fail threshold of 0.70. If your result is 0.72, you’re still passing, but you’re knocking on the door of a P0420.

Where Mode $06 really shines is catching intermittent problems. A misfire monitor might show zero misfires in the last 10 drive cycles, but Mode $06 logs the total misfire count for each cylinder since the last reset. I’ve seen a cylinder 3 misfire count hit 87 while the generic Mode $01 misfire status said “no misfire detected.” That’s because Mode $01 only reports misfires that were severe enough to trigger the light. Mode $06 shows you the bruises. You need a scan tool that supports Mode $06 — budget ones like the $20 ELM327 dongles often skip it. I use an OBDLink MX+ ($59.95 on Amazon) or the BlueDriver ($99.95). Both pull Mode $06 data cleanly and display it with labels instead of raw hex.

The key numbers you’ll see are the Test Value (the actual measurement), the Minimum Limit, and the Maximum Limit. For most monitors, the test value must stay above the minimum or below the maximum to pass. On a 2014 Ford F-150 with a 5.0L, the O2 sensor response test (TID $01, CID $A1) expects the sensor to switch from rich to lean in under 100 milliseconds. If your test value reads 145 ms and the max limit is 100 ms, that sensor is failing. You’ll get a P0133 soon. Mode $06 lets you catch that before the light comes on — giving you time to buy a Denso 234-4728 (the OEM for that truck) instead of a cheap $15 no-name sensor that’ll fail again in 6 months.

How to Access Mode $06 — Tools and Methods That Actually Work

Not all scan tools are created equal. A basic code reader from Autozoo will pull DTCs and maybe Mode $01 data, but Mode $06 requires a tool that can request the raw hex data and interpret it. I’ve tested three tiers. First, the cheap ELM327 Bluetooth adapters ($12-20) — they can technically access Mode $06 if you use an app like Torque Pro ($4.99) or OBD Fusion ($9.99). But the data is often unlabeled hex strings like “41 06 01 02 03 04.” You’ll need to cross-reference the SAE J1979 document or a lookup table to decode it. For a one-time use, it’s doable but painful. Second, mid-range tools like the BlueDriver ($99.95) or OBDLink MX+ ($59.95) decode the TID/CID into plain English: “Catalyst Monitor Bank 1” or “O2 Sensor Heater Monitor Bank 1 Sensor 1.” They also show the min/max limits and test value as decimal numbers. Third, professional tools like the Snap-on MODIS or Autel MaxiSys ($1,000+) give you the same data but with graph overlays and manufacturer-specific expanded test IDs (like GM’s $06 extended data for cylinder power balance).

For a home garage, the OBDLink MX+ is my go-to. It’s Bluetooth, works with both iOS and Android, and the OBDLink app has a dedicated Mode $06 screen that lists all available TIDs and CIDs. You can export the data to a CSV for later analysis. The connection is stable — I’ve used it on a 2006 Tacoma with a rusty 16-pin connector and it still pulled data reliably. One caveat: some vehicles only support Mode $06 for certain monitors after a full drive cycle. If you clear codes and immediately try to read Mode $06, many test results will show zeros or “not available.” You need to drive the vehicle through the specific monitor’s enable criteria. For a catalyst monitor, that usually means a 15-20 minute highway drive at steady throttle between 45-70 mph. For an EVAP monitor, it’s a cold start followed by a specific fuel level range (typically between 15-85% tank).

If you’re using Torque Pro, go to the “Tests” tab and select “Mode $06.” The app will list all TIDs. Tap one and it shows the CID sub-tests. The raw hex is displayed, but Torque has a built-in decoder for common PIDs. For example, TID $02 (Catalyst Monitor) CID $01 (Bank 1) will show a test value and limits. The app color-codes them: green for pass, red for fail. It’s not perfect — I’ve seen false fails on a 2011 Civic because the app misinterpreted the byte order. Always cross-check the raw hex if something looks off. The hex format is usually: [Test ID] [Characteristic ID] [Test Value] [Min Limit] [Max Limit]. For a 2-byte value, the high byte comes first. So hex “01 F4” equals 500 decimal. A misfire count might be stored as a 4-byte integer. Knowing this can save you from replacing a good part.

Decoding TID and CID — The Secret Sauce

Test IDs (TID) group the monitors by system. The standard SAE J1979 defines TID $01 for O2 sensor response, $02 for catalyst, $03 for EVAP, $04 for EGR, $05 for O2 sensor heater, $06 for misfire, and $07 for fuel system. But manufacturers can add proprietary TIDs. GM, for example, uses TID $0C for cylinder power balance tests on their V8s. Ford uses TID $09 for VCT (variable cam timing) performance. The Component ID (CID) then pinpoints the specific component within that system. For catalyst monitor (TID $02), CID $01 is Bank 1, CID $02 is Bank 2. For O2 sensor response (TID $01), CID $11 is Bank 1 Sensor 1, CID $12 is Bank 1 Sensor 2, and so on. The SAE standard assigns CIDs in a pattern: the first digit is the bank (1 or 2), the second digit is the sensor number (1,2,3,4). So $21 is Bank 2 Sensor 1.

Interpreting the test value requires knowing the unit. For catalyst efficiency, the test value is a ratio — typically between 0.0 and 1.0, where 1.0 means perfect conversion, 0.0 means no conversion. On a 2008 Toyota Camry 2.4L, the catalyst monitor TID $02 CID $01 might show a test value of 0.85 with a minimum limit of 0.70. Pass. But if that drops to 0.72, you’re barely passing. On a 2010 Subaru Outback, I saw a test value of 0.68 with a min limit of 0.75 — it failed, but the CEL hadn’t come on yet. The ECU allows a certain number of consecutive failures before setting the code. Mode $06 shows you the current state, not the historical pass/fail count. So you might see a fail but still have 10 drive cycles before the light pops.

For O2 sensor response (TID $01), the test value is typically the switching time in milliseconds. A fast sensor switches in 20-80 ms. A sluggish sensor takes over 150 ms. The max limit is usually around 100-120 ms for post-catalyst sensors. On a 2012 Ram 1500 with the 5.7L Hemi, I saw a Bank 1 Sensor 2 response time of 185 ms with a max limit of 100 ms — that sensor was toast. Replaced it with a Denso 234-4260 (the OEM for Mopar) and the response time dropped to 45 ms. The EVAP monitor (TID $03) is trickier because the test value is often a pressure change in inches of water or Pascal. For a 2013 Ford Escape, the EVAP small leak test might report a pressure drop of 0.020 inches of water with a max limit of 0.030 — pass. But if it’s 0.028, you’re close to a P0456. The EVAP monitor is notorious for false passes in cold weather because the fuel tank pressure sensor doesn’t respond well below 40°F.

Real-World Diagnostics: Catalyst, O2 Sensors, and Misfires

Let’s walk through three common scenarios where Mode $06 beats Mode $01. First, the dreaded P0420/P0430 catalyst efficiency code. You clear it, it comes back in 50 miles. Mode $01 only shows the O2 sensor voltages — rear sensor following the front, indicating a bad cat. But Mode $06 shows the actual conversion ratio. On a 2007 Chevy Silverado 5.3L, the catalyst monitor (TID $02 CID $01) gave a test value of 0.55 with a min limit of 0.65 — fail. But the O2 sensor data looked normal? The rear sensor was switching a bit, but not as much as the front. The Mode $06 confirmed the cat was bad. I replaced it with a Walker 53558 ($183.99 on RockAuto) — not the cheapest, but it’s a direct-fit with a 5-year warranty. After the swap, the test value jumped to 0.82. Pass.

Second, O2 sensor response. A P0133 indicates slow response. Mode $01 shows the sensor switching, but not the speed. Mode $06 gives you the response time in milliseconds. On a 2009 Honda Accord 2.4L, Bank 1 Sensor 1 (TID $01 CID $11) had a test value of 220 ms with a max limit of 100 ms — fail. The sensor was original with 120k miles. I replaced it with a Denso 234-9038 (the OE supplier for Honda). Response time dropped to 35 ms. The difference in fuel trims was night and day — short-term fuel trim went from +12% to +3%. The Mode $06 data also helps you diagnose a false P0133 caused by an exhaust leak. If the test value is borderline (e.g., 95 ms with a 100 ms limit), but the sensor voltage looks lazy, check for a leak upstream. A leak can cause the sensor to read lean and switch slowly. Use a smoke machine or just listen for a ticking sound — I’ve found cracked flex pipes on a 2005 Mustang GT that way.

Third, misfire detection. Mode $01 reports misfires only when they exceed a threshold (usually 2% of total cylinder firings). Mode $06 logs every misfire per cylinder since the last reset. On a 2011 Ford Explorer 3.5L, Mode $01 showed zero misfires, but Mode $06 (TID $06 CID $01-6) showed cylinder 4 had 47 misfires, cylinder 6 had 12, and the rest zero. The test value is the actual count. The max limit is typically 1000 or more, but the ECU still logs them. That car had a failing ignition coil on cylinder 4 (Motorcraft DG-508). After replacing that coil, the misfire count dropped to zero. The Mode $06 data also helps you find a weak coil that’s not yet failing — if cylinder 3 has 5 misfires while others have 0, that coil is on its way out. Swap it now before it leaves you stranded. While you’re in there, replace all six spark plugs (Motorcraft SP-520) — about $36 for a set — and use a dab of anti-seize on the threads. Torque the plugs to 13 ft-lbs, not 20. I’ve seen stripped heads from overtightening.

Advanced Interpretation: Thresholds, Ratios, and Manufacturer-Specific Data

Not all Mode $06 data is straightforward. Some manufacturers use scaled values. For example, on a 2014 BMW 328i (N20 engine), the catalyst monitor test value might read 3200 with a min limit of 2800. That’s not a ratio — it’s the raw oxygen storage capacity in milligrams. The ECU has a lookup table that converts the raw value to a pass/fail status. Without the factory service manual, you can’t know the exact conversion. But you can still compare the test value across drive cycles. If it drops from 3200 to 2900 over 6 months, the catalyst is degrading. The same applies to O2 sensor response on some VW/Audi models — the test value might be a count of sensor switch events per second, not milliseconds. A value of 8 with a min limit of 5 means the sensor is switching 8 times per second, which is healthy.

Another gotcha is the “not available” status. On many vehicles, Mode $06 only reports data for monitors that have completed a drive cycle since the last reset. If you read Mode $06 right after clearing codes, you’ll see “no data” or zeros for most TIDs. You need to drive through the monitor’s enable criteria. For the EVAP monitor, that often requires a cold start (engine below 90°F), a fuel level between 15-85%, and a specific driving pattern (steady throttle, no sharp turns). On a 2016 Toyota RAV4, I had to drive 30 miles of mixed city/highway before the EVAP monitor showed up in Mode $06. The catalyst monitor usually completes after a 15-minute highway drive at 55 mph. Patience is key. I always recommend doing a full drive cycle per the manufacturer’s procedures — you can find them in the service manual or on sites like AlldataDIY ($20 for a 1-year subscription).

Manufacturer-specific TIDs can be gold. GM’s TID $0C (cylinder power balance) is a lifesaver for diagnosing a weak cylinder on LS engines. On a 2006 Corvette 6.0L, TID $0C CID $01-8 shows the RPM drop when each cylinder is disabled. A healthy cylinder drops about 50-70 RPM. A weak cylinder might drop only 20 RPM. That points to a low compression cylinder or a bad injector. I found a clogged injector on cylinder 5 that way — replaced it with an ACDelco 17113538 ($45 each). Ford’s TID $09 (VCT performance) shows camshaft position error in degrees. On a 2012 Ford Focus 2.0L, TID $09 CID $01 showed an error of 6° with a max limit of 5° — failing. That explained the P0012 code. The VCT solenoid was sticking. Replaced it with a Dorman 917-601 ($38.99) and the error dropped to 2°. Always check Mode $06 before throwing parts at a P0420 or P0012 — it tells you which bank or component is actually failing.

Limitations and Pitfalls — When Mode $06 Lies

Mode $06 is powerful, but it’s not infallible. First, the data is only as good as the scan tool’s interpretation. I’ve seen cheap apps misinterpret the byte order on some vehicles, especially Japanese and European makes. On a 2008 Nissan Altima 2.5L,

Disclosure: This article may contain affiliate links. If you make a purchase through these links, we may earn a small commission at no additional cost to you. We only recommend products and services we believe will add value to our readers.

Partpickerauto
Partpickerauto

The PartPickerAuto team researches and compares auto parts, accessories, and vehicle maintenance products. Our reviews include fitment verification, price comparisons across retailers, and installation difficulty assessments.

Articles: 95

Explore Our Sites

Car Parts Buyer's Checklist

OEM vs aftermarket decision guide, compatibility lookup tips, and money-saving strategies for auto parts.

No spam. Unsubscribe anytime.