Code U3031 indicates that a control module is reporting the ignition output signal as off when it should be on, or that an expected ignition-enabled output is not being detected. This is typically a communication or signal-status code rather than a direct performance fault, meaning a module is not seeing the correct ignition state from another module or circuit.
A worn ignition switch or failing ignition main relay can drop the ignition output signal, causing modules to report it as off.
Corroded, loose, or damaged wiring and connectors in the ignition output path can interrupt the signal between the switch, relay, and modules.
A module responsible for distributing the ignition-on signal may fail to output the correct voltage, causing downstream modules to flag the code.
If the ignition status message is sent over the vehicle network, a bus wiring or termination problem can cause modules to misinterpret the ignition state.
Rarely, an internal failure in the PCM/ECM can prevent it from processing or broadcasting the ignition output status; this should only be considered after all wiring, switch, relay, and network checks are exhausted.
No. In most cases this code is caused by an ignition switch, relay, wiring, or network communication issue, not the PCM itself. PCM replacement should be a last resort after all other causes are ruled out.
It depends on symptoms. If the vehicle starts and runs normally, short driving may be possible, but if it stalls or fails to start, the vehicle should not be driven until repaired.
It is a manufacturer-specific code and is less common than standard OBD-II codes. It typically appears in vehicles where ignition status is shared across multiple control modules.
A weak battery or poor power connection can cause voltage drops that affect ignition outputs and module communication, so battery and charging system health should be checked early in diagnosis.