P0606: Control Module Processor Fault
ModerateQuick 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
Every engine control module runs a watchdog routine that checks its own processor, memory and internal communication many times a second. P0606 is the code it stores when one of those checks fails: the processor stalled, restarted unexpectedly, produced an answer that did not match its own check value, or lost track of a task. The module then usually reverts to a default operating mode, which is where the stalling, limp mode or no-start comes from.
A genuinely failed module does exist, but it is the last thing on the list, not the first. Processors are sensitive to their power supply, and a jump start done backwards or with a surging donor, a battery on its last legs, an alternator throwing AC ripple, or a corroded ground strap can all make a healthy processor stumble and log P0606. Water that found its way into the module or its connector, a sensor wire shorted to the shared 5-volt reference, an aftermarket tune, and a reflash that was interrupted halfway through account for most of the rest.
The right approach is to treat P0606 as a report of a bad moment and go looking for what caused the moment. Battery, charging, grounds and connector condition are quick and cheap to check, and a module that passes those checks and never sets the code again after a clear was never broken. Replace it only when the fault repeats with everything around it proven good, and expect programming and immobilizer pairing to be part of that job.
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.
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.
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.
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.
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.
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.
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 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 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 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 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 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 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 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 YOUR VEHICLE
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 YOUR VEHICLE
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 YOUR VEHICLE
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
- OBDLink MX+ (Bluetooth OBD-II scanner) ↗
- Autel MaxiCOM MK808S (full-system scan tool) ↗
- Fluke 88V (automotive multimeter) ↗
- Power Probe IV (power/ground circuit tester) ↗
- OBD-II scanner (code reader with freeze frame / live data) ↗
- Digital multimeter ↗
- Replacement component per the diagnosis (sensor, relay, solenoid, pump as found) ↗
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.
Related codes
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.