OBD2 CODE HUB · COMPUTER & ECM GUIDE
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).
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:
- 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. 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.
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 — and 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 arrives together with U0101, U0121, and U0140 all 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:
- 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. 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
U0100 means “Lost Communication with ECM/PCM.” Another module tried to talk to the engine computer over the CAN bus and got no reply. Before suspecting a dead computer, check the battery, fuses, grounds, and wiring — low voltage alone causes most U0100 cases, and the code is stored by the module that noticed the silence, not necessarily by the faulty one.
You can unbolt the old one yourself, but most replacement modules need VIN programming and immobilizer pairing before the car will start — work that requires dealer or specialist equipment. A new or used module installed without programming usually leaves you with a no-start, so budget $100–$300 for programming on top of the part.
Yes — it’s one of the most common causes. Modules start dropping off the CAN bus when voltage sags toward 10 volts, so a weak battery can set U0100, U0101, and several other U-codes all at once. Always load-test the battery and clean the ground connections before chasing module or wiring faults.
Typically $400–$1,500+ for a remanufactured or new module depending on the vehicle, plus $100–$300 for programming and immobilizer pairing. Because wiring, ground, and battery faults mimic a dead module for a fraction of the price, a $100–$200 professional diagnosis first almost always pays for itself.
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.