OBD2 CODE HUB · ECM PCM CODES
Computer Trouble Codes
ECM PCM codes explained in plain English — internal module faults, U0100 lost communication, and what to do when the computer itself is the problem.

What are computer trouble codes? ECM PCM codes are diagnostic trouble codes covering the modules that run your car — the engine control module (ECM), the powertrain control module (PCM), and the data network they use to talk to each other. Unlike a sensor code, which reports a bad reading from a working computer, a computer code means the computer itself has an internal fault or has dropped off the vehicle’s communication bus.
Why your car runs on computers
Your engine is managed by the engine control module — a dedicated computer that decides fuel delivery, ignition timing, and idle speed hundreds of times per second, constantly adjusting to sensor input. On many vehicles the engine computer and the transmission controller are merged into a single unit called the powertrain control module (PCM). Drivers often search these faults as pcm codes, especially when the transmission side starts acting up. On many vehicles the PCM handles shifting too. A failing module can show up as harsh or erratic shifts along with the check engine light.
It doesn’t work alone. A modern car carries dozens of modules — anti-lock brakes, airbags, body control, the instrument cluster — all chatting over a shared network called the CAN bus (controller area network). Your scan tool plugs into the diagnostic port under the dash; pins 6 and 14 are the CAN lines, and a healthy bus measures about 60 ohms across them.
Computer codes appear when any of this breaks: the module’s memory, its processor, its power supply, or its connection to the network. They are the only codes that point at the referee instead of the players.
What the computer code families cover
ECM PCM codes live in three neighborhoods of the SAE J2012 standard:
- P0600–P0609: internal control module faults — memory checksum errors, keep-alive memory, and processor self-test failures.
Common ECM PCM codes
These are the codes drivers and technicians actually encounter:
A quick note on searching: not every search phrased as an ecm code is actually a computer fault. A query like “ecm code on vw atlas 2022 p2407 code” is common. But P2407 is an EVAP leak-detection pump code, not a module fault. Always look up the exact code before assuming the computer is the problem.
- P0600 — Serial communication link malfunction.
P0601, P0603, and P0606: when the module itself fails
The P0600-series ECM PCM codes are the ones nobody wants to see, because they mean the module’s own brain is sick. When your scanner reports an ecm code like P0601, the engine control module has failed its own internal self-test. The computer that manages your engine is flagging a fault in its own memory or processor. P0601 means the module ran a self-check on its memory and the checksum didn’t match — corrupted software or a failing memory chip. P0603 means the keep-alive memory, which stores learned values like idle trim and fuel corrections, keeps losing power. P0606 means the processor itself failed its self-test — and that one usually ends in module replacement.

The usual killers are voltage spikes from a failing alternator or a botched jump-start, water intrusion into the module or its connector, corroded pins, and plain heat cycling over a decade or more of service. Note the trap in P0603: keep-alive memory errors are often a wiring or battery problem, not a dead module — the computer is fine, it just keeps getting its power interrupted.
Ford 7.3L Power Stroke owners see this pattern a lot. A 7.3 pcm code such as P0603 is a classic on these trucks. The pcm code on 7.3 models usually traces back to low system voltage, a tired PCM power relay, or chafed wiring — not a dead module. Check the relay and battery cables first. If you’re chasing a pcm code 7.3 forums keep mentioning, start with power and ground before pricing a remanufactured unit.
One warning before you price a module: a replacement ECM or PCM usually needs programming — VIN writing and immobilizer pairing — or the car won’t start. Factor that into every decision below.
U0100: lost communication with the ECM/PCM
U0100 doesn’t necessarily mean the engine computer is dead. It means some other module tried to talk to the ECM/PCM over the CAN bus and got no answer — the code is stored by the module that noticed the silence. That’s why U0100 often arrives with friends like U0101 (transmission controller) or U0121 (ABS): they’re all reporting the same quiet bus.
The most common causes are refreshingly boring: a weak or dying battery (modules start dropping offline when voltage sags toward 10 volts), a blown fuse feeding the engine computer, corroded ground straps, damaged wiring, or a connector that worked loose. One pattern worth knowing: when U0100, U0101, U0121, and U0140 all arrive at once, don’t assume four modules failed — they share a power, ground, or bus problem. Fix the one common cause and the whole cluster usually clears together, which is why chasing individual modules for a multi-code U-code storm almost never pays off.
Genuine CAN bus wiring failures are rarer — the quick health check is about 60 ohms across pins 6 and 14 of the diagnostic port with the battery disconnected.
Symptoms of computer and communication faults
ECM PCM code symptoms announce themselves loudly:
- Check engine light — sometimes joined by a whole dashboard of warning lights at once.
Diagnosing ECM PCM codes step by step
Resist the urge to buy a module first when chasing ECM PCM codes. Work this order — it applies whether you’re chasing a single pcm code or a whole cluster of U-codes:
- Start with the battery: load-test it and confirm a solid 12.6 volts at rest. Low voltage causes more U-codes than every failed module combined.
What ECM PCM code repairs cost
Costs vary by vehicle and region, but these ranges cover most ECM PCM code repairs:
- $0–$20: a blown fuse or a cleaned ground strap — the cheapest fixes on this page.
DIY or see a mechanic?
The driveway-friendly side: battery testing and replacement, checking fuses, visual inspection of wiring and grounds, and looking for water in the module’s connector. These cover the majority of U-code causes and cost almost nothing.
See a mechanic for CAN bus diagnosis with an oscilloscope, any module replacement (programming needs dealer-level tools on most cars), and immobilizer work. A wrong guess here is a $1,000 part you can’t return — and a used module installed without programming usually won’t start the car at all.
Computer faults don’t always start in the computer. Rough running can also come from the engine itself, so browse the complete engine codes list for the full map of every system. Also see All codes by category. Lost-communication codes like U0101 point at the transmission controller — our transmission trouble codes guide covers that side. And because the same module orchestrates your idle strategy, the idle and speed trouble codes guide explains the idle-side symptoms.
Frequently asked questions
What does the U0100 code mean?
Can I replace an ECM myself?
Will a bad battery cause U-codes?
How much does it cost to replace an ECM or PCM?
Computer trouble codes, decoded
Computer trouble codes look intimidating because they point at the car’s brain instead of a simple part. But the diagnostic logic is the same. Verify power and ground, test the battery, inspect the wiring, and only then suspect the module itself. Most P0600-series ECM PCM codes and U-code faults turn out to be voltage, ground, or wiring problems. Those cost little to fix. That is exactly why the step-by-step order above matters. Have a computer code on your scanner? Search any trouble code on the homepage to get its exact meaning, the most common causes, and what to check next.
