U0100 Code: Lost Communication With ECM/PCM — Diagnosis & Fix
Drashco
U0100 means: A module on the CAN bus has lost communication with the Engine Control Module (ECM/PCM). The reporting module is no longer receiving expected CAN messages from the engine ECU.
Most common fix: 40% = weak/dead 12V battery. 30% = corroded BCM ground. 20% = damaged CAN wiring. 10% = ECM itself.
Time to diagnose: Start with battery load test ($0), then ground checks (15 min), then wiring (30 min).
U0100 is the most common "U-code" (network communication code) in modern cars. It's also one of the most misdiagnosed — workshops often quote a $1,500 ECM replacement when the actual cause is a $200 battery or a $0 ground strap cleanup. This guide walks you through the diagnosis in the right order so you avoid expensive mistakes.
In this guide:
What U0100 Means
U0100 reads as "Lost Communication With ECM/PCM". It's a network/CAN-bus code stored by some other module (typically TCM, EBCM, BCM, IPC instrument cluster) when it expected to receive a CAN message from the engine ECU and didn't.
The CAN bus is a shared two-wire network connecting all the major control modules in modern cars. Modules transmit short messages every 10–100 ms; if a receiver expects a message and it doesn't arrive within the timeout window, it stores a U-code identifying which module went silent.
U0100 specifically points at the ECM (engine control module). Related codes:
- U0101 = Lost Communication With Transmission Control Module (TCM)
- U0121 = Lost Communication With ABS Control Module (EBCM)
- U0140 = Lost Communication With Body Control Module (BCM)
- U0155 = Lost Communication With Instrument Panel Cluster (IPC)
If U0100 appears alongside C0561, you're looking at a CAN-bus or ground problem affecting multiple modules — not an ECM failure.
Symptoms
- Multiple warning lights on simultaneously — Check Engine, ABS, Traction Control, sometimes Airbag
- "Service" messages on the DIC for multiple systems
- Erratic instrument cluster — needles drop to zero, gauges freeze
- Engine may run rough or in limp mode
- Transmission stuck in one gear (limp mode)
- HVAC blower may stop responding
- Random door lock activity (BCM affected)
If only the Check Engine Light is on with no other symptoms, U0100 is probably an intermittent (returned multiple times then cleared). Still worth investigating but not urgent.
Causes Ranked by Frequency
1. Weak / dead battery — 40% of cases
The single most common cause. Battery below 11.5V during cranking causes voltage drift on the CAN bus, modules briefly lose comms, U0100 stored. Symptom: code appears after cold mornings, after the car sits for a few days, or after a battery is older than 4–5 years.
2. Corroded BCM or ECM ground strap — 30% of cases
The ECM grounds through a strap (or stud) that corrodes over time, especially in salt-belt states. Bad ground = ECM voltage references shift = CAN messages fail. Symptom: code is intermittent, weather-related (cold and damp = bad).
3. Damaged CAN bus wiring — 20% of cases
The CAN bus runs through the wiring harness between modules. Rodent damage, harness pinch from a recent repair, water intrusion in a connector, or damaged termination resistor (120 ohm at each end of the bus) all cause comms loss.
4. ECM internal fault — 5% of cases
Rare but possible past 200,000 miles or after a power surge from jump-starting. Confirm with module replacement only after eliminating battery, grounds, and wiring.
5. Aftermarket electronics — 5% of cases
Aftermarket alarms, remote start systems, performance tuners, and trailer brake controllers tap into the CAN bus and can cause U-codes if installed poorly. Disconnect to test.
Step-by-Step Diagnosis
- Load-test the battery FIRST. Free at any auto parts store. Below 600 CCA (on a 700-CCA-rated battery) = replace before doing anything else. This alone fixes 40% of cases.
- Check battery posts and cable connections. Loose or corroded = same effect as weak battery.
- Inspect ECM and BCM ground straps. Location varies by make:
- GM (Chevy/GMC/Buick): BCM ground under steering column support; ECM ground at engine block.
- Ford: ECM ground at fender or strut tower.
- VW/Audi: ECM ground at engine bay near battery.
- Scan all modules for U-codes. If multiple U-codes (U0100 + U0121 + U0140), the issue is shared infrastructure (battery, main ground, CAN backbone).
- Read CAN bus voltages with an oscilloscope at the OBD-II port (pins 6 and 14). Both lines should toggle 1.5V to 3.5V at high frequency. Flat lines = bus dead.
- Disconnect aftermarket electronics one at a time and re-test.
- Wiggle the engine harness with engine running (and scanner connected) — see if the code triggers when you flex it.
- Last resort: ECM replacement. Only after confirmed-good battery, grounds, wiring, and CAN voltages.
Repair Cost Breakdown
| Fix | DIY cost | Shop cost |
| Battery replacement | $120–$250 | $200–$340 installed |
| Battery terminal cleanup | $0 | $40 |
| Ground strap cleanup | $0 | $80–$140 |
| CAN wiring repair (single splice) | $5 | $120–$280 |
| CAN harness replacement (severe damage) | $300–$800 | $700–$1,800 |
| ECM replacement + dealer programming | $400–$1,200 + $180 programming | $1,200–$2,500 |
Always start with the cheapest, fastest fix (battery test). Don't accept a $1,500+ ECM quote without documented voltage drop measurements at the ECM ground and confirmed-good CAN bus voltages.
Frequently Asked Questions
Can I drive with U0100 active?
Depends on severity. If only the U0100 is stored and the engine runs normally, you can drive but expect intermittent issues. If U0100 + multiple symptoms (limp mode, dead instruments) — pull over and call for tow. Continued driving with active CAN faults can damage modules.
Will U0100 fail emissions testing?
Yes in OBD-II markets. U-codes (network communication) are part of the emissions readiness check. Active U0100 = automatic fail.
My car had U0100 only after a recent jump start — is the ECM damaged?
Possibly, but not necessarily. Jump-starting with reverse polarity can damage modules. Jump-starting with correct polarity rarely does. Have a shop test the ECM's power and ground integrity before assuming damage.
Why does U0100 only appear in cold weather?
Classic ground-drift symptom. Cold contracts metal, widening gaps in oxidized ground connections; cold also reduces battery output. Both make CAN signals more vulnerable. Address battery + grounds.
Does U0100 always mean the ECM is bad?
NO. U0100 means another module can't talk to the ECM. The cause is usually upstream (battery, ground, wiring) — the ECM itself is rarely the failure point.
What's the difference between U0100 and P0606?
U0100 = network module can't hear from ECM. P0606 = ECM's own internal processor fault. P0606 is much more concerning and usually does indicate ECM hardware failure.


