U0100
- Network & Communication
- Generic (SAE)
Get it looked at now
If the engine controller is genuinely off the bus while the vehicle is running, the engine can stop without warning, and it may not restart. Stalling in traffic is a real safety exposure, and on many vehicles an engine that stops also costs you power steering assist and, once the reservoir is exhausted, power brake assist. It drops from high to a lower concern only if the code is stored history from a known event such as a dead battery or a jump start, with no current fault.
- Safe to drive
- Do not rely on the vehicle. It can stall or refuse to restart without warning, and if the engine stops while moving you lose power steering assist and, after a few brake applications, power brake assist — the brakes still work but need far more pedal effort. Have it diagnosed before driving further, and tow it rather than drive it if it has already stalled once.
Lost Communication with ECM/PCM "A"
One or more control modules stopped receiving messages from the engine computer over the vehicle's data network. The engine computer either lost power, lost its connection to the network, or stopped transmitting.
Modules on a CAN network expect specific message frames from the ECM or PCM at a fixed repetition rate. When those frames are absent for a calibrated number of cycles, the receiving module sets U0100 and falls back to default values for anything it normally reads from the engine controller. The code is stored by the module that stopped hearing, not by the ECM itself, which is why a scan often shows U0100 in several modules at once.
How the car detected itEach receiving module runs a timeout counter on the engine controller's periodic messages. The fault is a communication timeout, so it tells you a message went missing but not why. It sets identically whether the ECM lost its power feed, its ground, its bus wiring, or its ability to transmit, and it also sets during any condition that drops system voltage far enough to reset modules, including cranking with a weak battery.
A trouble code records what a control module measured. It does not identify which part failed. Test before replacing anything.
- Safe to drive
- Do not rely on the vehicle. It can stall or refuse to restart without warning, and if the engine stops while moving you lose power steering assist and, after a few brake applications, power brake assist — the brakes still work but need far more pedal effort. Have it diagnosed before driving further, and tow it rather than drive it if it has already stalled once.
- Urgency
- Get it looked at now
- Will it pass emissions
- Not affected
- If ignored
- Modules that depend on engine data run on substitute values, so transmission shifting, stability control, charging, and immobilizer functions can behave unpredictably. The vehicle can stall or fail to start at any time, potentially somewhere unsafe, and a stall at speed takes power steering and vacuum brake assist with it. If the cause is a chafed bus wire, continued flexing turns an intermittent into a permanent no-start.
- Check engine light
- Solid
- Multiple warning lights may illuminate
- Affected modules may go into limp mode or shut down
- Specific functions inoperative depending on module
- Diagnostic tools may show communication faults
Many vehicles show no symptom at all beyond the warning light. The absence of a symptom does not mean the fault is not real.
These are the causes this code can have. For the order to work through them in, see what to check first.
| # | Cause | How often | Component |
|---|---|---|---|
| 1 | ECM unpowered (fuse, ground, supply wire) | Very common | — |
| 2 | CAN wiring to ECM broken | Common | — |
| 3 | ECM internally failed | Occasional | — |
Ordering reflects how often each cause is responsible in general, not a probability for your vehicle. Confirm by testing.
In order. Each of these is cheaper or faster than what follows it, and each one can make the rest unnecessary.
Which modules stored the code, and whether each is current or history
This is the clue that gets destroyed first, so record it before touching anything. A code present only as history in several modules with a healthy battery usually points back to a past low-voltage event. A code current in every module points at the ECM's power, ground, or bus connection right now.
Battery state of charge, terminal condition, and cranking voltage
This is the cheapest and most common cause of network dropouts. Modules reset when voltage sags, and a weak battery or a corroded terminal sets communication codes across the whole vehicle. Fix this before chasing wiring.
Whether the scan tool can communicate with the ECM at this moment
If the tool talks to the ECM normally, the fault is intermittent and you need to catch it in the act. If the tool cannot reach the ECM either, the problem is present and testable.
Recent work and aftermarket installations
Remote starters, alarms, stereo systems, trailer wiring, and dash cameras are frequently spliced into or near bus wiring. Disconnecting a recent add-on is a free test that resolves a meaningful share of these.
Fuses and ground connections feeding the engine controller
A blown fuse or a loose, corroded engine-to-body ground strap takes the ECM off the network and costs almost nothing to check. Fuse locations and ground point positions vary by make.
Perform a full all-module scan and record status before clearing anything
Tools Scan tool with all-system scan capability
List every module reporting U0100 and whether each is current, pending, or history. Note any module the tool cannot reach at all. The pattern of who is complaining and who is silent points straight at where the network is broken. Do not clear anything yet — clearing at this point throws away the one piece of evidence that localizes the break.
ExpectedA written list of every module storing U0100, its status, and every module the tool could not reach
Test and charge the battery, then confirm charging system output
Tools Battery load tester, multimeter, terminal cleaner
Load test the battery and clean the terminals. Confirm charging voltage is stable with the engine running. Only after the module list from step 1 is recorded, clear codes and retest. A large share of U0100 complaints do not return once the electrical supply is solid.
ExpectedBattery passes load test, charging voltage steady and within the alternator's normal range
Measure network termination resistance at the diagnostic connector
Tools Digital multimeter, factory network topology diagram
With the key off and the battery disconnected, measure resistance between pin 6 and pin 14 of the OBD-II connector. A properly terminated high-speed CAN bus reads about 60 ohms because two 120 ohm terminating resistors sit in parallel. About 120 ohms means one terminator or one branch is open. Near zero means a short between the bus wires. A very high reading means the bus is open near the connector. This applies only to a bus that is directly wired to the diagnostic connector. Many vehicles put a gateway module between the DLC and the internal networks, in which case the reading at pins 6 and 14 reflects only the gateway's segment and may legitimately not be 60 ohms — and a healthy 60 ohms there proves nothing about the segment the ECM sits on. Check the network topology diagram for the vehicle and, where a gateway is present, measure at a connector on the segment the engine controller is actually on.
ExpectedApproximately 60 ohms on a directly connected high-speed CAN segment
Verify ECM power feeds and grounds under load
Tools Multimeter, factory wiring diagram, backprobe leads
Confirm battery voltage at every ECM power supply pin and perform voltage drop tests on its grounds with the circuit loaded. A good ground drops well under about 0.2 volts under load. Connector pinouts vary entirely by make, so use factory wiring diagrams rather than probing blindly.
ExpectedFull battery voltage at supply pins, minimal voltage drop on grounds
Scope the bus wires while recreating the fault
Tools Two-channel lab scope
Capture CAN high and CAN low waveforms. Healthy high-speed CAN shows the two lines mirroring each other around a shared idle level. A line stuck flat, a missing mirror, or corrupted frames identifies a wiring or module problem. Wiggle the harness during capture to catch intermittents.
ExpectedClean mirrored CAN high and CAN low signalling with no dropouts during wiggle testing
Isolate a module that is dragging the bus down
Tools Multimeter, scan tool, factory network topology diagram
If the bus is shorted or loaded, disconnect modules one at a time and re-measure. When the bus recovers after unplugging one module, that module or its branch wiring is the fault. Work methodically and reconnect each before moving on.
ExpectedBus resistance and communication return to normal when the faulty branch is isolated
Inspect the harness at flex, heat, and moisture points
Tools Flashlight, pick set, inspection mirror
Check the engine harness where it crosses to the body, door and hatch boots, areas near the exhaust, and any connector that can collect water. Corroded pins and rodent damage are common and are invisible until you open the connector.
ExpectedClean, dry, tight terminals with no chafing or green corrosion
Consider the engine controller only after everything upstream tests good
Tools Factory-capable programming equipment
Confirm correct power, ground, and bus wiring first. If the module has all three and still will not transmit, it has failed internally. Replacement almost always requires programming and often an immobilizer or key relearn, which is not a bolt-in job.
ExpectedDocumented good power, ground, and bus wiring, with a scope capture showing the module still not transmitting — an internal failure concluded from tests rather than assumed
| Repair | Only after you confirm | Typical cost | Who |
|---|---|---|---|
| Replace the battery, clean or replace terminals | Battery fails a load test, or terminals show corrosion or looseness, with communication stable afterward | $180–$450 | DIY |
| Repair the charging system (alternator, cabling, or regulator) | Charging voltage measured out of range with the engine running, or excessive voltage drop on the alternator output cable under load | $400–$1,100 | DIY |
| Repair or replace a blown fuse, damaged power feed, or corroded ground to the engine controller | Missing voltage at an ECM supply pin, or an excessive voltage drop measured on an ECM ground under load | $100–$500 | DIY |
| Repair damaged, chafed, or corroded bus wiring or a network connector | Bus resistance out of the expected range for that segment, or scope capture showing a dropout that follows harness movement at a located point | $180–$900 | Hard |
| Remove or correct an aftermarket accessory spliced into the network | Communication restores when the accessory is disconnected and fails again when reconnected | $120–$600 | DIY |
| Replace and program the engine control module | Correct power, ground, and intact bus wiring all verified, with the module still failing to transmit on a scope capture | $900–$2,600 | Shop |
Module replacement cost is dominated by programming and security relearn, which many independent shops subcontract to a dealer or a mobile programmer. Wiring repairs vary enormously depending on whether the damage is reachable or buried inside a loom. Ranges are US independent-shop, parts plus labor.
- Replacing the engine computer before verifying its power and ground supplies. A module that cannot be powered cannot talk, and the new one will not talk either.
- Ignoring a marginal battery. Low voltage during cranking resets modules and sets network codes throughout the vehicle.
- Clearing codes before recording which modules stored them, which throws away the most useful clue about where the break is.
- Reading 60 ohms at the diagnostic connector on a gateway-equipped vehicle and concluding the whole network is healthy, when that reading only covers the gateway's own segment.
- Probing bus wires by piercing the insulation, which creates a corrosion entry point and a future intermittent.
- Overlooking aftermarket electronics spliced into the harness, especially remote starters and alarms installed years earlier.
- Treating a history-only U0100 after a known dead battery or jump start as an active fault and chasing it into a teardown.
- ECM
- CAN Bus Wiring
- Definition
- Generic code set (SAE J2012 / ISO 15031-6) via the OBDexopen database, dedicated to the public domain under CC0-1.0.
- Diagnostic guidance
- Written and reviewed in-house. See our editorial policy.
- Review status
- Reviewed
Found something wrong? Tell us — we publish corrections.