Technical Description of OBD-II Trouble Code
Malfunction in the Engine RPM Output Circuit
What does that signify?
This is a generic diagnostic trouble code (DTC) that is applicable to many OBD-II vehicles (1996-newer). This includes vehicles from various manufacturers such as Buick, Cadillac, Chevrolet, Ford, GMC, Opel, Peugeot, etc. While it is a generic code, the specific repair steps may vary depending on the year, make, model, and powertrain configuration of the vehicle.
A stored code P0654 indicates that the powertrain control module (PCM), or one of the related controllers, has detected an inconsistency in the engine RPM (revolutions per minute) output circuit.
The engine RPM output circuit is responsible for providing an engine RPM output signal to the instrument panel tachometer and other controllers. The PCM receives engine RPM data from the engine camshaft and crankshaft sensors. This data is primarily used for calculating and monitoring engine drivability, and is then outputted to the tachometer and other controllers (where it is crucial).
If a problem is detected in monitoring the engine RPM output circuit, a code P0654 will be stored and a malfunction indicator lamp (MIL) may illuminate.
A tachometer displaying engine RPM:

What is the severity of this DTC?
A P0654 should be considered severe as it could lead to transmission shifting issues and/or problems with the antilock brake system (ABS) and electronic traction control system (TCS).
What are some of the symptoms of the code?
Symptoms of a P0654 trouble code may include:
What are some of the common causes of the code?
Possible causes for this code may include:
What are some P0654 troubleshooting steps?
If there are any vehicle speed sensor (VSS) codes, engine RPM input codes, camshaft position sensor codes, or crankshaft position sensor codes present, it is recommended to diagnose and repair those issues before attempting to diagnose a stored P0654 code.
Refer to your vehicle information source for technical service bulletins (TSB) that match the stored code, vehicle details (year, make, model, and engine), and exhibited symptoms. If you find the relevant TSB, it may provide helpful diagnostic information.
To accurately diagnose a code P0654, you will need a diagnostic scanner, a digital volt/ohmmeter, and an oscilloscope. A reliable source of vehicle information will also be necessary.
Start by connecting the scanner to the vehicle diagnostic port and retrieving all stored codes and freeze frame data. It is advisable to write down this information in case the code proves to be intermittent.
After recording all relevant information, clear the codes and, if possible, test drive the vehicle until the code is reset or the PCM enters readiness mode.
If the PCM enters readiness mode, the code is intermittent and will be even more challenging to diagnose. The condition that caused the P0654 to be stored may need to worsen before an accurate diagnosis can be made. On the other hand, if the code fails to reset and there are no drivability symptoms, the vehicle can be operated normally.
If the P0654 code is immediately reset, proceed with a visual inspection of the system’s related wiring and connectors. Repair or replace any broken or unplugged harnesses as necessary.
If the wiring and connectors appear to be functional, use your vehicle information source to obtain the appropriate wiring diagrams, connector face views, connector pin-out charts, and diagnostic flow charts.
Once you have the correct information, use your DVOM and oscilloscope to test the engine RPM output at the appropriate pin of the PCM connector. If no RPM output signal is detected, suspect that the PCM is defective or there is a PCM programming error.
If an engine RPM output signal is detected at the PCM connector, test the corresponding circuit (as presented) at the instrument panel tachometer. If the tachometer signal is not detected, there is likely an open circuit between the PCM and the instrument panel. Repair or replace the circuit and retest.