Code U0100, lost communication: bad contact, weak battery or failed control unit?
What the U0100 code means
The control units of a recent car (engine, automatic gearbox, ABS, instrument cluster, body) talk to each other constantly over a network of two twisted wires, the CAN bus. Each one expects regular messages from the others. When a control unit stops receiving the engine's messages for a certain time, it stores U0100.
The code reads as follows:
- U: communication network (the other letters are P for powertrain, C for chassis, B for body);
- 0: generic code, defined by the standard and identical for all makes;
- 01xx: “lost communication with a control unit” family;
- 00: engine control unit “A”.
Neighbouring codes follow the same logic: U0101 refers to the gearbox, U0121 to the ABS, U0155 to the instrument cluster. You can look them up in the fault code dictionary.
Is it serious? Can I drive?
It all depends on what you notice:
- old code, car normal: often the trace of a past voltage drop (flat battery, jump start, battery replaced). No emergency;
- multiple warning lights, rev counter dropping to zero, gearbox in limp mode: the engine drops off the network while driving. Have it checked quickly;
- the engine stalls or will not start: do not drive, have it towed if necessary.
The causes, from most to least likely
- Weak or worn-out battery: when starting, the voltage drops, one control unit restarts and the others “lose” it for a fraction of a second. The number one cause of U codes stored without symptoms.
- Earth or power supply of the engine control unit: corroded earth strap, loose terminal, tired fuse or power relay.
- Control unit connector: moisture, corroded pins, connector not properly locked after work on the car.
- CAN bus wiring: chafed, chewed or crushed wire; water getting into a harness.
- Added accessory: alarm, tracker, remote starter or car radio connected to the network. A poorly done installation can disrupt the exchanges.
- Faulty engine control unit: possible, but to be considered only when everything else is fine.
The case of the cheap adapter
Two confusions are common:
- an error message from the adapter or the app (“no response”, “communication error”) is not a U0100 code: it is the adapter that cannot talk to the car. See Which OBD2 adapter to choose and Connect an adapter;
- on some vehicles, a poor-quality adapter left plugged in while driving can disrupt the network and make communication codes appear in other control units. If the U codes appeared after buying an adapter, unplug it, clear the codes, drive for a few days without it, then read again.
What the app reads at that point
A simple clue: if DiagAuto AI can read the engine control unit, it is communicating right now. The U0100 then describes a past or intermittent loss.
- “Read fault codes”: standard OBD2 reading queries the emissions-related control units. Depending on the car, the U0100 appears there (often stored by the automatic gearbox) or does not.
- “Control units”: the scan looks for the other control units, shows which ones have faults and how many, and reads their codes (ABS, instrument cluster, body…) on compatible control units. The same U0100 present in several control units points to the engine or its power supply; a U code present in only one control unit rather points to that unit or its wiring. Some codes are displayed in raw manufacturer format: the app says so.
- “Data at the time of the fault”: when it exists, the snapshot shows the control unit voltage, engine speed and road speed at the moment of the loss. A low voltage or zero engine speed (starting) points to the battery.
- “Sensors”: display the control unit voltage with the ignition on, then while starting. With the engine off, a battery in good condition gives about 12.4 to 12.7 V; with the engine running, 13.5 to 14.5 V. A drop below 9.5-10 V while starting indicates a tired battery.
“Explain with AI” receives the code, these readings and the vehicle information, and suggests leads to check: it does not replace a measurement with a multimeter.
What to check first
- The battery: resting voltage and voltage while starting, age, terminals. A battery test at a car parts centre takes a few minutes.
- The engine and body earths, and the power supply fuses of the engine control unit (see the manual).
- The control unit connector: locking, traces of water or green corrosion.
- Added accessories: disconnect them for a test.
- Clear the codes (standard OBD2 command, after confirmation: DiagAuto AI does not reprogram anything), drive for a few days and read again. If it does not come back, it was a temporary loss.
Should I clear the code?
Yes, once the battery and the contacts have been checked: a U0100 left in memory hides the appearance of a new one. Note the codes and the snapshot first, or save the report before clearing. If it comes back, note under what conditions (starting, rain, bumpy road): that is the information the garage will need.
Indicative cost (France, 2026)
| Work | Indicative range |
|---|---|
| Battery, part + fitting | €100 – €250 |
| Cleaning an earth or connector | €50 – €150 |
| Fault finding and CAN harness repair | €150 – €500 |
| Removing a poorly connected accessory | €50 – €150 |
| Engine control unit + coding | €600 – €1,500 and more |
Read also: Check engine light on but the car drives fine and Talking to your mechanic with a fault code.
Frequently asked questions
Is my adapter's “communication error” message a U0100?
No. A U0100 is a code stored by one of the car's control units. A “no response”, “CAN ERROR” or “communication error with the vehicle” message comes from the adapter or the app, which cannot talk to the car: ignition off, adapter not pushed in properly or protocol not supported.
Can I drive with a U0100 code?
If the code is old, the car starts and drives normally and no red warning light is on, yes, until you can have it checked. If the engine stalls, will not start or several lights (ABS, ESP, gearbox) come on together, avoid driving: the engine control unit is dropping out while you drive.
Does the engine control unit need replacing?
Almost never as a first step. Most U0100 codes come from the power supply (battery, earth, fuse) or the wiring. A control unit should only be replaced after measuring its power supplies and earths, and it must then be coded for the car.