Skip to content
MotorCodex Español

P0606: Control Module Processor Fault

Moderate

Quick answer

P0606 means the engine control module failed an internal self-test of its processor. That sounds like a dead computer, but most cases trace to something outside it: a jump start or weak battery, corroded power or ground connections, water in the connector, a shorted sensor reference, or an interrupted software update. Prove power, grounds and voltage before replacing the module.

What it means

P0606 symptoms: what you'll notice

  • The engine stalls, will not start, or starts and runs badly in a default mode, sometimes only after a jump start or a battery change.
  • A cluster of unrelated codes stored at the same time: communication codes, sensor circuit codes, low-voltage codes, all timestamped together.
  • Reduced-power or limp mode, a transmission stuck in one gear, or accessories acting strangely as other modules lose contact with the engine computer.
  • A scan tool that cannot connect to the engine module at all, or connects intermittently.
  • Sometimes nothing beyond the light: a single stored P0606 with no drivability complaint, which points at a one-time voltage event.

Common causes

Ordered from most to least likely.

  1. 1.

    Voltage event: jump start, weak or failing battery, or charging-system ripple

    The most common trigger. Reversed or surging jump-start voltage, a battery that dips under cranking, or a failed alternator diode feeding AC into the module supply. Look at the freeze-frame voltage and the other codes stored with it.

  2. 2.

    Corroded or loose module power and ground connections

    The module has several power feeds and grounds; a ground strap rusted to the body or a corroded fuse-box terminal produces a supply that sags under load. Voltage-drop tests find it in minutes.

  3. 3.

    Water or corrosion inside the module connector or housing

    Modules mounted under the hood, in the cowl or under a seat get wet from cowl leaks, a bad seal or a flooded floor. Green terminals and a musty connector are the finding.

  4. 4.

    Shorted sensor reference or signal circuit

    A sensor or its harness shorted to the shared 5-volt reference drags the reference down, and some modules report that as an internal fault. Other reference codes stored alongside are the clue.

  5. 5.

    Interrupted reflash, corrupted software or an aftermarket tune

    A programming session that lost power or connection, or a tune the module does not agree with, leaves software that fails its own checksum. A dealer or a capable shop can reload it.

  6. 6.

    Genuine internal module failure

    Heat, age, vibration and cracked solder joints do kill modules. Diagnose by elimination: good power, good grounds, dry connectors, no shorts, current software, and the code still returns.

How to fix it: diagnosis, step by step

Cheapest and most likely checks first.

  1. 1 Read every module and the freeze frame

    Pull codes from all modules, not just the engine. Note the battery voltage in the freeze frame and whether P0606 arrived with low-voltage (P0562), communication (U0100 family) or reference-voltage codes. A single P0606 with nothing else and normal voltage, after a known event like a jump start, is often just that event.

  2. 2 Test the battery and the charging system

    Rest voltage, a load test, charging voltage under load, and AC ripple across the battery with the engine running (more than about 0.1 to 0.2 volts AC means a bad diode). A processor cannot be trusted on a bad supply, and neither can any test you run on it.

  3. 3 Voltage-drop the module’s powers and grounds

    From the wiring diagram, find the module’s ignition and battery feeds and each of its grounds. Engine running with loads on, measure the drop across each feed (from the battery positive to the module pin) and each ground (from the module ground pin to the battery negative). More than about 0.1 to 0.2 volts on any one is a corroded or loose connection to repair.

  4. 4 Inspect the module connector and housing

    Unplug the module with the battery disconnected. Look for moisture, green or white corrosion, bent pins and a broken seal. Trace where water could enter: cowl drains, a windshield seal, a firewall grommet. Dry, clean and protect, and fix the leak, or the repair does not last.

  5. 5 Check for a shorted 5-volt reference

    If reference or multiple sensor codes are stored, measure the 5-volt reference at a sensor connector with the key on. A reading well under 5 volts means something on that circuit is pulling it down; unplug sensors on the shared reference one at a time until the voltage recovers.

  6. 6 Clear the code and prove it with a drive cycle

    With the supply, grounds and connectors verified, clear all codes and drive through several warm-up cycles, including a hot restart. A P0606 that does not return was an event, and the car is fixed. One that returns with everything above proven moves to software and hardware.

  7. 7 Update the software, then replace the module only if it still fails

    Have the dealer or a shop with factory software check for a calibration update and reflash the module; a corrupted load is fixed this way. If P0606 returns after a good reflash on a proven electrical system, replace the module with a new or properly remanufactured unit, and budget for programming and immobilizer or key pairing as part of the job.

Known P0606 patterns by make

Brand-specific failure patterns from the field: find your make before parts-shopping.

Chevrolet / Pontiac / Saturn 2005–2010 Cobalt, HHR, Malibu, G5, G6, Ion and Aura with the 2.2L and 2.4L Ecotec engines

The engine control module on these lives on top of the air filter box, and a P0606 with a no-start or a sudden stall was common enough that GM issued technical bulletins and extended coverage on some model years. Even so, check the battery cables and the module’s grounds first: a weak battery on these sets P0606 just as readily as a dying module. When the module really is the fault, it has to be programmed to the VIN and married to the theft system.

Chrysler / Dodge / Jeep / Ram 2007–2013 Wrangler JK, Grand Cherokee, Liberty, Nitro, Ram, Charger, Challenger, Caravan

P0606 on these almost always shows up with P0562 or a pile of U-codes, and the root cause is usually a battery that cannot hold voltage or corroded main connections, not the engine module. Test and fix the battery and the power distribution connections first, then clear everything. Only a P0606 that returns on a proven battery and clean connections should send you toward a module, which on these is VIN-programmed and has to be married to the security system.

Honda / Acura 2006 and newer Civic, Accord, CR-V, Odyssey, Pilot, TL, TSX

Honda has addressed P0606 on several models with engine control software updates, so a dealer reflash is the first repair to try once the battery and grounds check out. A P0606 that appears right after an aftermarket tune or after a programming session that lost its connection is a corrupted load, not a failed module; reloading the factory software fixes it. Battery-terminal corrosion, especially on the ground side, is the other usual suspect.

Parts & tools you may need

Disclosure: some links are affiliate links (including the Amazon Associates program). If you buy through them, we may earn a commission at no extra cost to you.

Frequently asked questions

What does code P0606 mean?
P0606 means the engine control module failed its own internal processor self-test: it stalled, restarted or produced an answer that did not match its check value. It is moderately serious because the engine may stall or run in a default mode, but in most cases the cause is outside the module: voltage, grounds, water or software, all of which are far cheaper than a computer.
Can I drive with P0606?
If the engine runs normally and the code is stored once, yes, while you get the battery and charging system tested. If the engine stalls, will not start reliably or is in limp mode, do not rely on it: a module that keeps resetting can shut the engine off in traffic.
Does P0606 mean I need a new PCM?
Usually not. Most P0606 codes are set by a jump start, a weak battery, a bad ground, water in the connector, a shorted sensor reference or a corrupted software load. A module that passes the power, ground and connector checks and does not set the code again after a clear was never broken. Replace it only after those are proven and a reflash did not help.
Why did P0606 appear after a jump start or a new battery?
Because the processor saw voltage spike, dip or reverse for a moment. Reversed cables, a donor car revving into a discharged battery, or a loose clamp during the swap are enough to log the code without doing lasting damage. Clear it, verify the battery and connections, and watch for it to return.
Can bad grounds really cause a processor fault?
Yes, and it is one of the most common real causes. The module compares every sensor against its own ground; if that ground carries resistance, readings drift, internal checks fail and P0606 is logged. A voltage-drop test on each module ground, engine running, takes ten minutes and finds it.
How much does it cost to fix P0606?
Cleaning grounds and terminals is free to about $100. A battery is $120 to $300. A software reflash at a dealer is $100 to $200. A new engine control module is $300 to $1,200 in parts plus $150 to $300 for programming and key pairing, so $500 to $1,500 all in; a quality remanufactured module pre-programmed to your VIN is often $250 to $600. Most P0606 repairs never reach the module.
What is the difference between P0601, P0602, P0603, P0604, P0605 and P0606?
They are all module self-test codes. P0601 is a memory checksum error, P0602 a programming error (the module is not programmed or the load is incomplete), P0603 a keep-alive memory error (often a disconnected battery), P0604 a RAM error, P0605 a ROM error and P0606 a processor fault. Several stored together after a voltage event is normal; a single one that returns after a clear on a proven electrical system points at the module or its software.
Ask Codi