Module, network and body codes
P06xx, U-codes, B-codes and C-codes: modules that stopped talking or self-testing. ← Browse sections
-
B0001 to B0100: airbag and restraint system codes explained
The one system where a warning lamp means a device may not deploy when you need it. Generic OBD-II usually cannot even see these codes.
-
C0035 to C0050: wheel speed sensor codes by corner
The code names the corner, which means the diagnosis starts at one wheel instead of four. Everything after that is inspection rather than deduction.
-
C0051: steering wheel position sensor and the calibration it needs
Half of these are not faults at all — they are a sensor that was never told where straight ahead is after somebody worked on the car.
-
C1241: low or high battery voltage seen by the ABS module
An ABS code that is not about ABS. The module is reporting a supply problem, and the fix is at the battery rather than the brakes.
-
P0600 to P0605: control module memory and internal faults
The module is reporting a problem with itself. Before believing it, rule out the two things that make a healthy ECU report internal faults: voltage and connections.
-
P0616 and P0617: starter relay circuit low and high
A click and no crank sends most people to the starter motor. These codes point at the circuit that commands it, which is usually cheaper and easier to reach.
-
P0627 to P0629: fuel pump control circuit faults
Newer vehicles replaced the fuel pump relay with a control module that varies pump speed. That change moved the failure from a simple relay to a networked module.
-
P0645 and P0646: A/C clutch relay control circuit
The compressor clutch is switched by a relay like any other high-current load. When the circuit faults, the air conditioning stops — and so does a lot of guesswork about refrigerant.
-
P0650: MIL control circuit — when the warning lamp itself is the fault
The check engine light has its own diagnostic code, and it exists because a lamp that cannot illuminate makes every other fault invisible.
-
P0685 to P0687: ECM power relay control circuit
The relay that keeps the engine computer alive after you switch off. When it misbehaves, the symptoms are a flat battery and codes that make no sense.
-
P0691 and P0692: cooling fan 1 control circuit low and high
On a variable-speed fan there is no relay to swap. The control is a module and a signal, which changes both the symptoms and the diagnosis.
-
U0073: control module communication bus off — the whole network went quiet
This is not one module failing to answer. It is the network itself shutting down, and the cause is usually one device dragging everything else with it.
-
U0109: lost communication with the fuel pump control module
The module that varies pump speed has stopped answering. The car may not start, and the cause is often a connector under the rear of the vehicle.
-
U0126: lost communication with the steering angle sensor module
Stability control needs to know where the steering is pointed. Lose that message and several safety systems switch themselves off together.
-
U0151: lost communication with the restraints control module
The airbag module has stopped answering, which means nothing can confirm the restraint system will work. That makes this a code with a deadline.
-
U0401: invalid data received from ECM — a message that arrived and made no sense
Not a lost connection. The message arrived intact and its contents were implausible, which points somewhere different from a wiring fault.
-
B1000 and friends: reading body control codes without guessing
B-codes cover airbags, locks, lighting and climate, and they are almost entirely manufacturer-specific. Knowing that changes how you read them and what tool you need.
-
C1201: the chassis code that points back at the engine
C1201 is stored by the ABS or stability module to say it has stood down because the engine has a fault. Chasing it directly wastes time — the real code is in another module.
-
P0606: PCM processor fault — when the computer accuses itself
P0606 is the ECU reporting its own internal self-test failure. Before condemning a control module, rule out the power supply and grounds that produce identical symptoms for a fraction of the price.
-
U0101: lost communication with the transmission control module
U0101 means the engine ECU stopped hearing the gearbox module on the CAN bus. The module is often alive and well — it is the wiring, power or bus termination that failed.
-
U0121: lost communication with the ABS module
When the ABS module goes quiet, wheel speed disappears from the whole car. Three warning lights come on at once and half the driver assistance systems switch themselves off.
-
U0140 and U0155: lost communication with the body module and cluster
These two codes sit on the comfort side of the network, where symptoms look like unrelated electrical gremlins: dead windows, wrong gauges, lights that will not switch off.
-
U0100: lost communication with the engine module — and why the car still drives
The most common network code. Somebody on the bus stopped hearing the engine control module — and that almost never means the module itself has died. Causes from a voltage sag to a broken bus wire.