Clifford Auto Parts

P0601, P0603, P0605 and P0606: What These PCM Codes Actually Mean

If your scan tool has returned P0601, P0603, P0604, P0605 or P0606, you are looking at one of the few code families that points directly at the engine computer itself rather than at a sensor, a wire or a mechanical fault. This guide explains what each code means, how to confirm the module is genuinely at fault, and what to rule out first.

OEM engine control modules - ECM, PCM and ECU units supplied by Clifford Auto Parts, programmed to your VIN
Engine control modules of the type covered by P0601 to P0606 internal fault codes.

The short version

Most trouble codes describe a circuit the computer is watching. These five are different: they are the computer reporting a fault inside itself. That makes them unusually reliable indicators, but it does not make them proof on its own, and there are cheaper faults that imitate them.

What each code means

P0601 – Internal Control Module Memory Check Sum Error

The module ran a checksum on its own memory at startup and the result did not match what it expected. In practice this means the stored calibration has become corrupted. Common triggers are a failed reflash that was interrupted partway, a voltage drop during cranking, or age-related memory degradation.

P0603 – Internal Control Module Keep Alive Memory (KAM) Error

Keep alive memory is the small amount of data the module retains when the ignition is off – fuel trims, idle learn values, adaptive shift points. P0603 means that data was lost or failed its integrity check. This one has an important non-module cause: a weak or disconnected battery, or a poor ground, can wipe KAM and set the code without anything being wrong with the computer.

P0604 – Internal Control Module Random Access Memory (RAM) Error

A fault in the working memory the processor uses while running. Unlike KAM, this is not something a battery disconnect causes. P0604 usually indicates genuine hardware failure.

P0605 – Internal Control Module Read Only Memory (ROM) Error

The permanent programming has failed its check. ROM does not change in normal use, so this points to hardware degradation or a corrupted flash.

P0606 – Control Module Processor Fault

The processor itself failed an internal test. Of the five, this is the least ambiguous – a module setting P0606 repeatedly has almost always failed.

Before you replace anything

Every one of these codes can be triggered by conditions outside the module. Work through this list first, in order, because it costs nothing and it catches a meaningful share of cases.

1. Battery and charging voltage

Low or unstable voltage is the single most common cause of a false internal-memory code. Load test the battery. Check charging voltage at idle and at speed. A battery that reads fine at rest can still collapse under crank and confuse the module.

2. Grounds and connectors

Resistance in a module ground circuit produces symptoms indistinguishable from internal failure. Inspect the main engine-to-body and battery-to-body straps for corrosion. On the module connector itself, look for pushed-back or corroded pins – this is a known issue on JK Jeep Wranglers, where a damaged pin on the PCM C2 harness causes sensor ground loss.

3. Recent work

Did the code appear after a reflash, a jump start, welding on the vehicle, or an aftermarket accessory install? All four can corrupt module memory without the hardware being faulty. In some cases a reflash recovers it.

4. Clear and retest

Clear the code and drive the vehicle. A one-off P0601 or P0603 after a battery change frequently does not return. A code that comes back immediately, every time, is telling you something real.

When it is genuinely the module

Replace the computer when the code returns immediately after clearing, when the scan tool cannot communicate with the module at all, when several unrelated codes appear together for systems that share nothing, or when P0604, P0605 or P0606 are present with good battery voltage and clean grounds.

The failure nobody warns you about

On several engines a shorted ignition coil feeds voltage back into the coil driver circuit inside the module and destroys it. This is well documented on the Chrysler 3.6L Pentastar and on Ford modular V8s. It matters because if a coil killed your computer, fitting a replacement without replacing the coils will destroy the new one the same way.

If your module failed alongside misfire codes, replace all the ignition coils and spark plugs at the same time, using OEM parts. The same fault can also leave the alternator unable to charge, which is why a dead battery sometimes accompanies it.

Does a replacement need programming?

Yes, on essentially every vehicle built in the last twenty-five years. The module has to be matched to your VIN, and on most makes registered to the immobiliser and keys, or the engine will crank without starting. That is why a blank module bought cheaply often leaves a car turning over and never firing.

We programme every module to your VIN before it ships, so it installs and runs without a dealer visit or a locksmith. There is no core charge and nothing to send back.

Finding the right part

Read the service number from the label on your existing module and check it against our ECM and PCM part number lookup, which covers close to two thousand modules. If the label is unreadable, send us your VIN and we will identify it.

You can also browse by module type: engine control modules, transmission control modules, or body control modules.

Still not sure?

If you have one of these codes and you are not certain the module is the cause, call 516-494-7838 and talk it through with a technician before you spend anything. We would rather tell you it is your battery than sell you a computer you did not need.

Shopping Cart
Scroll to Top