U0031 is a network communication code indicating the vehicle's primary communication bus (typically the CAN bus) has a low voltage condition, meaning the signal voltage on the data network is below specification. This affects communication between the PCM/ECM and other control modules, preventing proper data exchange.
A defective ECU, TCM, BCM, or other module can pull the bus voltage low by internally shorting to ground or failing to properly communicate.
Chafed, rubbed, or corroded wires in the communication bus circuit can create shorts to ground or increase resistance beyond spec.
One or more of the CAN bus wires (CAN High or CAN Low) is shorted to ground, pulling the voltage down and preventing proper communication.
Corroded, loose, or damaged pins at a module connector can cause intermittent or low voltage conditions on the network.
Modern CAN networks use 120-ohm resistors at each end; if one fails open or changes value, it can cause communication issues.
The powertrain control module itself can fail, though this is one of the least common causes and should be diagnosed last after all wiring and other modules are ruled out.
The definition is universal; the diagnostics are engine-specific. Open your vehicle for the codes documented for it:
It depends on the severity and which systems are affected. Some vehicles may drive normally while others may experience drivability issues, loss of critical functions (brakes, airbags), or no-start conditions. Have it diagnosed promptly.
Some may suggest it, but replacing the PCM/ECM for U0031 is rarely the correct fix. The PCM is the last item to suspect after all wiring, connectors, and other modules have been thoroughly checked.
A basic OBD-II scanner can retrieve the code and identify which modules are not communicating. However, a professional-grade scan tool with network diagnostics (like a factory-level scanner) is often needed to perform detailed bus voltage measurements and module-specific tests.
Extremely low battery voltage (below 9V) can sometimes cause communication issues, but this is uncommon. More often, low battery voltage will cause multiple random codes rather than a specific bus low condition. Ensure the battery and charging system are healthy before focusing on the network.