DiagnosticsCAN BusDTCLost Communication

U0100, U0140 and the Lost-Communication Codes: How to Tell a Dead Module From a Dead Network Before You Ship Anything

Auto Module Lab Technical Team·ALOA-MAL Certified · 15+ Years ECU + Key ProgrammingAugust 10, 2026·15 min read

What a U-code literally means

Start with the definition, because almost every wasted repair in this category comes from getting it wrong.

A U-series diagnostic trouble code is a network communication code. Under the standardized DTC structure defined in the SAE International J2012 framework, the first letter identifies the system group — P for powertrain, B for body, C for chassis, U for network and vehicle integration. A U-code is stored when a module that expects to receive a particular message on the bus stops receiving it within the timeout its software allows.

That is the whole meaning. Read it as a sentence:

"I stopped hearing from X."

Not "X is broken." Not "replace X." Just: the messages that should have arrived did not.

So when you read the common ones, read them as complaints filed by whoever noticed:

  • U0100 — lost communication with the engine control module or powertrain control module
  • U0121 — lost communication with the ABS or anti-lock brake control module
  • U0140 — lost communication with the body control module
  • U0155 — lost communication with the instrument panel cluster
  • U0001 — high-speed CAN communication bus, generally meaning the bus itself has gone off or is unusable

The critical detail: the module that stores the code is the one that was listening, not the one that went quiet. If your cluster stores U0100, the cluster is telling you it could not hear the engine controller. That is evidence about the engine controller, the wiring between them, the power feeding it, or the gateway in the middle. It is not evidence that the cluster is faulty, and it is certainly not evidence that the engine controller has failed internally.

This post exists to stop people mailing us healthy modules. We would rather tell you not to ship than take money for evaluating a part that was never the problem.

A short, useful picture of the network

You do not need to be a network engineer, but you do need the shape of the thing.

Controller Area Network — CAN — was developed by Bosch, which describes high-speed CAN carrying data at rates up to roughly 1 Mbit/s, with 500 kbit/s a very common powertrain setting and slower body networks frequently running at around 125 kbit/s. It is now the backbone of essentially every passenger vehicle on the road. Physically it is a two-wire differential bus: CAN High and CAN Low, twisted together, carrying mirrored signals. Modules do not have individual wires to each other; they all hang off the same pair, and they take turns.

Those rate differences are diagnostically useful. A sub-network running at a fraction of the powertrain bus speed is usually a body or comfort segment sitting behind a gateway, so a scan tool that reaches one and not the other is describing a boundary problem rather than a wave of module failures.

Two consequences follow, and they explain most of what confuses people:

One failure can silence everybody. Because every module shares the pair, a single module with a shorted transceiver, or a wire shorted to power or ground, loads the whole bus. Every module then loses communication with every other module at once. This is why a car can present with a dashboard full of U-codes and a scan tool that cannot reach anything.

Termination is physical. Under the high-speed CAN physical layer standardized through bodies including SAE International, the bus is terminated with a 120-ohm resistor at each end. Measured across the pair with the vehicle off and power removed, those two resistors in parallel should read in the neighborhood of 60 ohms. That single measurement is one of the most valuable five-second tests in the trade, and we will come back to it.

Scale is the other thing to hold in your head. Suppliers including Continental have described well over 50 networked control units in a typical premium vehicle, spread across multiple sub-networks — a high-speed powertrain CAN, a slower body or comfort CAN, LIN sub-buses hanging off individual modules, and increasingly Ethernet segments — all bridged by a central gateway. A U-code can therefore be reporting across a gateway boundary, which changes where you look.

The diagnostic hierarchy, in order

This is the sequence. Work it in this order and you will resolve the large majority of lost-communication cases without buying a single part.

Step 1 — Power and ground at the accused module

Before anything clever, ask the boring question: is the module that went quiet actually powered?

A module with a blown fuse, a corroded ground, or a broken B+ feed is silent, and silence is exactly what the rest of the car reports as lost communication. Check:

  • The fuses feeding that module, including ignition-switched feeds, not just battery feeds
  • Voltage at the module connector, measured under load rather than with a test light
  • Ground integrity by voltage drop, not by continuity — a ground that reads a fraction of an ohm on a meter can still drop meaningful voltage when current flows

Know the window you are measuring against. Automotive control electronics from suppliers such as Bosch are built around a nominal 12-volt system that in real service swings from roughly 9 volts during cranking to more than 14 volts while charging, and modules are expected to behave across that range. A feed that sags below the low end under load will reset a module mid-message, and a reset module is a silent module — which the rest of the car dutifully reports as lost communication.

This step alone resolves a large share of cases. It is also where the deeper problem often hides: chronic low voltage, AC ripple from a failing alternator diode, and degraded ground paths both cause lost-communication codes and destroy the replacement modules people buy in response. If your car has a history of repeat module failures, read why charging-system and ground faults keep killing replacement modules before you go any further, because you may be diagnosing a symptom of something upstream.

Step 2 — The physical bus pair

With power confirmed, test the network itself.

  • Resistance across the pair. Key off, battery disconnected, measure between CAN High and CAN Low at the diagnostic connector. Roughly 60 ohms is normal. Roughly 120 ohms means you have lost one terminating resistor — often because the module containing it has gone offline or its connector is open. A very low reading suggests a short across the pair. A very high or open reading suggests a broken bus wire.
  • Voltage on the pair. With the ignition on and the bus active, the two lines sit around a common bias and separate when data is transmitted. A line pulled hard to battery voltage or to ground is a short and needs to be found physically.
  • Divide and conquer. If resistance or voltage is wrong, start disconnecting modules one at a time and re-measure. When the numbers come right, the last module you unplugged is loading the bus. This is a real, ordinary, effective technique and it costs nothing but time.

Step 3 — The gateway

Most vehicles route messages between sub-networks through a central gateway module. If the gateway is faulty, or is itself unpowered, whole branches of the car go dark to each other while the individual modules on those branches are perfectly healthy.

The tell: modules on one sub-network can see each other but not modules on another. A scan tool that reaches the engine controller but nothing on the body network is describing a gateway or a body-network fault, not a failure of every body module simultaneously.

Step 4 — The module itself

Only now does replacing or repairing a module become a rational move.

You have arrived here legitimately if: the module has correct power and ground under load, the bus pair measures correctly and behaves correctly with that module connected, other modules on the same segment communicate normally, and the accused module remains the only one that will not answer. That is a module that is not doing its job, and it is a candidate for bench work.

Symptom shape tells you where to look

This is the fastest triage in the whole subject, and it is worth internalizing.

What you observe What it usually means The test that confirms it Should you ship a module?
Scan tool cannot communicate with anything Bus fault, gateway fault, or a module shorting the pair — almost never many modules failing at once Resistance across the CAN pair, then disconnect modules one at a time No — not yet
One module dark, everything else normal That module, its power/ground, or its connector Power and ground under load at that module's connector Likely yes, after power and ground are proven
Multiple U-codes, all stored by different modules, all naming the same one The named module or its wiring Power at the named module, then bus behavior with it disconnected Likely yes
Multiple U-codes naming multiple different modules Bus, gateway, or a common power/ground feed Common feed, gateway, terminating resistance No
U-codes appear only intermittently, often over bumps or when cold Connector, chafed wiring, or solder fatigue Wiggle testing while monitoring, thermal testing Maybe — this is where a bench evaluation earns its keep
U0001 with everything else dead Bus off — physical fault or a module dragging the pair Terminating resistance, then divide and conquer No
Codes only stored as history, none current Nothing is wrong right now Clear, drive, recheck for a current code No

The bottom two rows of that table are where money gets wasted most often. A stored historic U-code from a flat battery last winter has told you nothing about today, and a car with no current network fault does not need a module.

Stored versus current, and why clearing codes proves nothing

Two distinctions that owners and even some shops blur:

Stored versus current. A stored or history code was set at some point and remains in memory. A current or active code is being set right now. Nearly every vehicle that has ever had a dead battery, a jump start, or a module unplugged during a repair carries stored U-codes. They are the electronic equivalent of an old scar. Chasing them is how people end up buying modules for cars that have nothing presently wrong.

Clearing is not diagnosis. Erasing codes does exactly one thing: it removes the record. It does not repair anything and it does not confirm anything. If the code returns, you have learned only that the fault is still present. If it does not return, you have learned that it did not recur during the drive you happened to do — which on an intermittent connector fault means very little.

There is a third trap worth naming. Some vehicles keep permanent codes that cannot be cleared by a scan tool at all and must age out through completed monitor cycles. If you are working after a repair or a reprogram and cannot make codes stay away, read our guide to readiness monitors and drive cycles after module programming before assuming the repair failed.

The specific codes, and what actually causes them

U0100 — lost communication with the ECM/PCM. Very often power or ground to the engine controller, a chafed harness in the engine bay where heat and vibration live, or a controller that has been damaged by an overvoltage event. A no-crank or no-start alongside U0100 can equally be a security or immobilizer refusal rather than a network fault, and the two feel identical from the driver's seat. Our immobilizer or module no-start walkthrough separates those two cases properly, and it is the right next page if your car will not start.

U0121 — lost communication with the ABS module. Frequently connector corrosion at the hydraulic control unit, which lives low, wet and salty. It is also the code that gets people to buy an ABS module when the actual fault is a wheel-speed sensor circuit or a supply fuse. If a genuine internal fault is confirmed, an ABS module repair is a real bench service — but confirm first, because the sensor-circuit misdiagnosis is extremely common.

U0140 — lost communication with the BCM. The body control module is a hub, so when it goes quiet a great many symptoms appear at once: lighting, locks, wipers, chimes, sometimes the start circuit. Because it feeds so much, a BCM fault and a BCM power-feed fault look the same from outside. Check the feeds and the grounds first, every time.

U0155 — lost communication with the instrument cluster. Sometimes a genuinely failed cluster, often a supply or connector problem, and occasionally the after-effect of dash work. If the cluster is confirmed dead and needs replacing, remember it stores identity and mileage data — a proper cluster repair with mileage sync transfers the vehicle's true recorded mileage rather than leaving you with a dash that does not match the car.

U0001 — high-speed CAN bus. This one is not about a module at all, in the normal case. It says the bus is unusable. Go straight to termination resistance and physical wiring.

Transmission-related lost communication. When a transmission controller drops off the bus, the car usually limps and the codes multiply. Some of those cases are genuine internal controller failures, and the failure modes differ meaningfully by transmission family — our breakdown of TCM internal failure modes by transmission family covers which families fail how, and it is worth reading before condemning a unit.

When shipping a module is the right move — and when it is not

Here is the honest test. We are a mail-in bench lab; we would rather you not send us a healthy part.

Ship it when all of the following are true:

  • Power and ground at that module are proven good under load, not just probed with a test light
  • The bus pair measures correctly and behaves correctly with that module connected
  • Other modules on the same network segment communicate normally
  • The module remains the only address that will not answer, consistently, not intermittently
  • Or: you have a physically evident problem — water intrusion, corrosion on the board, burnt components, a module that took an overvoltage hit during a jump start

Do not ship it when any of the following are true:

  • Nothing on the car communicates at all
  • The codes are stored history, not current
  • You have not checked fuses, feeds and grounds at the module
  • The complaint is a wheel-speed sensor, a lighting fault, or a driveability symptom with a network code sitting alongside it as a passenger
  • Somebody replaced the module already and the same code returned — that is a wiring, power or bus problem by definition, and a second module will do exactly what the first one did

The genuinely uncertain middle. Intermittent faults, suspected solder fatigue, water damage of unknown extent, and modules that behave differently hot and cold are real and hard. Nobody can prove those in a driveway. That is what a bench evaluation at $150 is for: the module is powered on a regulated supply, communication is attempted independently of the car, the board is inspected under magnification, driver stages and input circuits are checked, and you are told what was measured. It answers whether the module is faulty, locked, repairable or fine — and if it is fine, you have eliminated it for a fraction of the cost of a replacement you did not need.

One experienced diagnostician summarized the whole subject better than we can:

"A U-code is the module raising its hand to say it did not hear something. Nine times out of ten the answer is upstream of both of them — a fuse, a ground, a chafed pair. The tenth time it is the module, and by then you have proof instead of a guess. People skip straight to the tenth case and that is why they buy two of everything." — Independent drivability diagnostician, 20+ years in network and electrical diagnosis (anonymized)

The economics of guessing

Guessing is expensive, and the market makes it easy.

Vehicles on U.S. roads now average well over 12 years old according to industry reporting compiled by outlets including Car and Driver, which means a large and growing share of cars in service carry aged connectors, brittle insulation and tired grounds — exactly the conditions that generate lost-communication codes without any module having failed. At the same time, AAA has reported that roughly one in three U.S. drivers could not cover an unexpected repair bill of several hundred dollars without borrowing. Buying a module on the strength of a code that names it, and then discovering the fault was a ground strap, is a financial outcome many households simply cannot absorb.

Getting real diagnosis is also harder than it should be. Even with well over 200,000 certified professionals in the field, according to the National Institute for Automotive Service Excellence, network-level electrical diagnosis remains a specialty within a specialty, and plenty of otherwise competent shops treat a U-code as a parts lookup. Meanwhile the public complaint records maintained by the National Highway Traffic Safety Administration contain well over a million owner-filed reports, a meaningful share of which describe electrical and electronic symptoms whose root causes were never clearly established for the owner.

None of that means modules never fail. They do, and we repair, clone and program them every day. It means the code that names a module is not the evidence that convicts it.

Frequently asked questions

Does U0100 mean my engine computer is bad? No. U0100 means some module stopped receiving the expected messages from the engine or powertrain controller, and it is stored by whichever module noticed. The cause is frequently a power feed, a ground, a chafed harness, or a bus fault rather than a failed controller. Prove power and ground at the controller and test the bus before condemning it.

Why do I have five U-codes at once? Did five modules fail? Almost certainly not. Because every module shares the same two-wire bus, a single fault — one shorted transceiver, one damaged wire, one dead gateway, one common ground — silences a whole group at once, and each surviving module files its own complaint. Multiple U-codes naming multiple different modules is a network signature, not a mass-failure signature.

What should the CAN bus resistance read? With the key off and the battery disconnected, measuring across the CAN High and CAN Low pins at the diagnostic connector should give roughly 60 ohms on a terminated high-speed bus, because two 120-ohm terminating resistors sit in parallel. About 120 ohms suggests one terminator has dropped out, a very low reading suggests a short across the pair, and an open reading suggests a broken bus wire.

I cleared the codes and they came back. What does that tell me? It tells you the fault is currently present and repeatable, which is genuinely useful — but it does not tell you where the fault is. Clearing codes removes the record, not the problem, and codes that do not return may simply not have recurred during that particular drive. Use clearing to distinguish current faults from old stored history, never as a repair step.

My shop replaced the module and the same code came back. Now what? When a replacement produces the identical code, the module was not the fault — the problem is in the wiring, the power and ground path, the connector, the gateway, or elsewhere on the bus. Stop buying parts and go back to voltage-drop testing the feeds and grounds and measuring the bus pair. Repeat failures also point at charging-system faults that damage each module you install.

Is it ever worth sending a module in when I am not sure it is bad? Yes, in one specific situation: when the fault is intermittent, or when there is visible water intrusion, corrosion or heat damage that a driveway test cannot evaluate. A bench evaluation at $150 powers the module independently of the car and reports what was actually measured, which is far cheaper than a replacement you did not need. If the car communicates with nothing at all, though, do not ship anything yet — that is a bus problem.

Can a bad module actually take down the whole network? Yes, and this is the single most useful thing to understand about CAN. A module with a failed transceiver, or one whose internal short pulls a bus line toward power or ground, loads the shared pair so that no module can transmit successfully. That is why disconnecting modules one at a time while watching bus resistance and communication is such a productive technique — the car often comes back to life the moment the offender is unplugged.

The bottom line

U0100, U0121, U0140, U0155 and U0001 are the most misread codes in the business, because their wording sounds like an accusation and is actually a report. A module stopped hearing another module. That is all a U-code has ever meant.

Work the hierarchy in order. Power and ground at the accused module, measured under load. Then the physical bus pair and its terminating resistance. Then the gateway. Then, and only then, the module itself. Read the symptom shape as evidence: nothing communicating at all is a bus or a shorted module, one address dark among many is usually that module, and codes that are stored history rather than current mean nothing is wrong today. Clearing codes proves nothing either way.

If you get to the end of that sequence with a module that has good power, a healthy bus, working neighbours and no answer of its own — or a module with visible water, corrosion or heat damage, or a fault that only appears intermittently — that is when a bench answers the question a driveway cannot. Our bench evaluation at $150 tests the module independently of the vehicle and tells you what was measured, and the rest of our mail-in bench services pick up from there if a repair, clone or reprogram turns out to be the fix.

We are a nationwide mail-in workshop at 1168 W Pioneer Parkway, Arlington, TX 76013. Modules ship to PO Box 120241, Arlington, TX 76012 by USPS, or to 1009 Oakwood Ln # 120241, Arlington, TX 76012 by UPS or FedEx, since those carriers cannot deliver to a USPS PO Box. Return shipping is chosen and paid at checkout, from $24.95 standard. Text us the codes, the year and model, and what does and does not communicate before you ship — if the answer is that you should not send anything yet, we will say so.

Ship your module today

Flat-rate pricing, 24-hour bench turnaround, return speed your choice at checkout. Most jobs back on your bench within a week.

More from the Lab