P0603
Internal Control Module Keep Alive Memory (KAM) Error
- Severity
- Medium
- Driving
- Drivable — book it in
Keep-alive memory in the control module has failed. This is the memory that survives the ignition being switched off - it holds the adaptations the module has learned about this particular engine over time. Losing it does not stop the car working, but the module has to relearn everything, so the car may run and shift noticeably worse for the first few journeys.
Possible causes
- CommonLow or unstable supply voltage - a weak battery, a corroded earth, or a failing alternator makes a healthy module fail its own self-test
- CommonCorroded or water-ingressed module connector
- CommonWater reaching the module - many sit low in the engine bay or in a footwell
- CommonSoftware update interrupted, or programming never completed
- PossibleGenuine internal module failure
- PossibleDamage from a jump start with reversed leads, or from arc welding on the vehicle
- CommonBattery disconnected or gone flat, clearing the learned values
- CommonBattery terminals loose, interrupting the permanent supply
What you might notice
- Rough idle or poor running for the first few journeys after the fault
- Shift quality noticeably worse
- Learned settings lost
- Check engine light on
- Often improves on its own over a few days of driving
What to check, in order
- Check the permanent battery feed to the module, and the battery terminals. Keep-alive memory depends on an uninterrupted supply, so a loose terminal wipes it every time the car is started.
- Ask whether the battery was disconnected or went flat. That explains the code without anything being wrong.
- Drive it normally for a few days and see whether it settles. Adaptations rebuild themselves with use.
- Check whether an adaptation reset is specified after repair, so the module starts from a known state rather than a half-learned one.
- Check battery voltage, the terminals and the earth straps before anything else. An unstable supply makes a perfectly good module fail its own self-test, and that is the most common reason this code appears on a module that turns out to be fine.
- Look for water. Check the module's location and its connector for damp, corrosion and green residue - a blocked bulkhead or sunroof drain is a frequent cause.
- Clear the code and see whether it returns. A single occurrence during a voltage dip is not the same as a module that fails every time it is powered up.
- Ask what was done recently. An interrupted programming session, a jump start, or welding on the vehicle can all damage or confuse a module.
- Treat module replacement as the last step, not the first. A replacement needs programming and coding to the vehicle, so a wrong guess is expensive twice over.
Read this code from your own car
Plug an ELM327 adapter into the OBD-II port under the dashboard. Pin16 reads every stored, pending and permanent code, explains each one like this page does — offline, with no account — and shows what the car recorded when the fault was set.
Where this code sits
P00xxP01xxP02xxP03xxP04xxP05xxP06xxP07xxP08xxP09xxP0AxxP0BxxP0CxxP0DxxP0ExxP0FxxP10xxP11xxP12xxP13xxP14xxP15xxP16xxP17xxP18xxP19xxP1AxxP1BxxP1CxxP1DxxP1ExxP1FxxP20xxP21xxP22xxP23xxP24xxP25xxP26xxP27xxP28xxP29xxP2AxxP2BxxP2CxxP2DxxP2ExxP2FxxP30xxP31xxP32xxP33xxP34xxP35xxP36xxP37xxP38xxP39xxP3AxxP3BxxP3CxxP3DxxP3ExxP3Fxx
Computer output circuits and control module
P0600P0601P0602P0603P0604P0605P0606P0607P0608P0609P0610P0611P0612P0613P0614P0615P0616P0617P0618P0619P0620P0621P0622P0623P0624P0625P0626P0627P0628P0629P0630P0631P0632P0633P0634P0635P0636P0637P0638P0639P0640P0641P0642P0643P0644P0645P0646P0647P0648P0649P0650P0651P0652P0653P0654P0655P0656P0657P0658P0659P0660P0661P0662P0663P0664P0665P0666P0667P0668P0669P0670P0671P0672P0673P0674P0675P0676P0677P0678P0679P0680P0681P0682P0683P0684P0685P0686P0687P0688P0689P0690P0691P0692P0693P0694P0695P0696P0697P0698P0699