P0606: an internal monitor fault is not automatic proof of dead hardware. Check power and VIN-matched software; GM/VW update cases apply only to cited vehicles.
Meaning, symptoms, causes and checks
P0606 is a fault reported by an ECM/PCM processor/self-monitor. It does not, by itself, prove irreversible hardware failure: low/unstable module power, poor grounds or model-specific software faults must be differentiated before module replacement. A Volkswagen Routan 2014 bulletin and GM 16-NA-180 document software-correction cases with strictly limited model/build applicability. Preserve freeze-frame and OEM subcodes, verify power integrity and current calibration before professional reprogramming or module replacement. Driveability and severity depend on actual symptoms.
Affected system: Control module self-diagnostics
Symptoms
- MIL/engine warning, possibly without any obvious driving complaint.
- In some affected vehicles, reduced power, unstable running or no-start can accompany P0606.
- Multiple reference-voltage or module-power DTCs can coexist; GM 16-NA-180 describes a specific P0606 + 5 V reference pattern caused by software.
- An intermittent historical P0606 with no repeat after a voltage disturbance still needs evidence-based monitoring; avoid automatic ECU replacement.
Possible causes
- Model-specific internal processor/ROM/RAM integrity monitor failure; the diagnostic criteria differ by manufacturer.
- Low supply voltage, interrupted ignition feed, poor module ground, corrosion or transient voltage interruption, pending OEM confirmation.
- Incorrect, corrupted or outdated ECM/PCM calibration for a VIN/build covered by an OEM bulletin.
- External wiring/load fault on a shared reference supply that accompanies additional DTCs; diagnose independently rather than treating every P0606 as a 5 V fault.
- Confirmed damaged module electronics after supply, wiring and OEM software causes have been excluded.
- Inappropriate prior programming or replacement module configuration when supported by service history and OEM identification.
What to check
- 1. Identify which module reports P0606 and record exact OEM suffix/subcode, DTC status, freeze-frame, voltage and all companion DTCs before clearing. If module communication is unstable, preserve a full diagnostic scan first.
- 2. Confirm the vehicle identity, ECM/PCM hardware and software part numbers, build date and any applicable manufacturer bulletin. An unrelated make or later calibration makes a historical software remedy inapplicable.
- 3. Check the low-voltage battery with an appropriate tester and inspect recent jump-start, discharged-battery, charging or programming history. A documented voltage interruption warrants correcting that condition and retesting; it does not itself prove the PCM has failed.
- 4. Using OEM pinout and proper load-testing method, verify permanent battery feed, ignition-switched feed, fuses and ECM ground integrity under the operating condition that set P0606. An absent feed or excessive ground drop identifies an upstream electrical defect.
- 5. Inspect ECM connector locks, moisture, corrosion, harness rubbing, power-distribution grounds and loose terminals with power isolated per OEM. Repair confirmed connector faults before considering module replacement.
- 6. Compare companion reference-voltage and communication codes, and determine whether their circuits share a source. If another DTC has a direct physical cause, repair it and retest; GM 16-NA-180 describes a model-specific software exception, not a universal 5 V diagnostic rule.
- 7. Retrieve current service information for the exact VIN/engine/calibration. VW Routan 2014 3.6L CJRA built before 7 September 2013 has a specific P0606 PCM-update bulletin; after verifying the PCM level, a professional may apply it. This is not advice to flash other vehicles.
- 8. In the GM 16-NA-180 vehicle/region set only, P0606 with P0641/P0651/P0697/P06A3 may be software-related; the bulletin calls for ECM reprogramming, not ECM replacement. Outside the specified vehicles, perform normal OEM diagnosis.
Also written as: P0606-00, P060600, PO606 (some scan tools add the fault-type byte, e.g. -00).