P0654
Engine RPM Output Circuit MalfunctionP0654 is a generic OBD-II powertrain diagnostic trouble code: Engine RPM Output Circuit Malfunction. It is logged by the engine control unit when the powertrain monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.
What P0654 means
P0654 is a generic powertrain code covering the engine speed output circuit. It is easy to misread this as a crankshaft or camshaft sensor code, but it is the opposite direction of signal flow. The engine control module works out engine speed from the crankshaft and camshaft position sensors, then transmits that value onward to other consumers, most commonly the instrument cluster tachometer and, on older architectures, the transmission controller, cruise control, or aftermarket equipment. P0654 concerns that outgoing signal, not the incoming sensor data.
On vehicles with a hard-wired engine speed output, the module generates the signal by rapidly switching an internal output driver to ground, producing a square wave whose frequency represents engine speed. That driver has its own fault-detection line which the module monitors. If the monitored voltage is not what the module expects for the state it commanded, typically because the circuit is open or has lost its pull-up, the fault line changes state and P0654 is stored.
Because engine speed is now usually shared over CAN, a hard-wired engine speed output is more often found on older systems or on trucks and vehicles with body builder and PTO interfaces. Common causes are a broken or corroded wire between the module and the instrument cluster, a faulty cluster input, or a failed driver inside the module. The engine normally keeps running, because engine speed is still being measured correctly internally.
Common causes
Most-frequently reported root causes when P0654 is logged.
-
1
An open circuit or broken wire in the engine speed output line between the control module and the instrument cluster or other consumer.
-
2
Corroded, loose, or backed-out terminals in the instrument cluster connector or the control module connector.
-
3
A faulty instrument cluster whose engine speed input stage has failed, removing the pull-up the module expects to see.
-
4
A short to ground or to power in the engine speed output wire.
-
5
A failed output driver inside the engine control module.
-
6
Aftermarket accessories tapped into the tachometer signal, such as rev limiters, alarms, or auxiliary gauges, loading or interrupting the circuit.
-
7
Poor control module power or ground connections distorting the driver's fault-line readings.
-
8
Damage from a previous repair, harness modification, or rodent chewing in the engine bay or behind the dash.
Symptoms drivers notice
How to diagnose P0654
A typical diagnostic flow when this code is present.
-
1
Read all stored codes and freeze frame data, and note whether crankshaft or camshaft position codes are also present, since those would need attention first.
-
2
Compare the engine speed value reported in scan tool live data against the dashboard tachometer, which quickly shows whether the module knows the correct speed but cannot pass it on.
-
3
Inspect the wiring, connectors, and terminals at the control module and the instrument cluster for corrosion, loose pins, chafing, or evidence of previous repairs.
-
4
Check the engine speed output wire for continuity from end to end and for unintended shorts to ground or to power, using the manufacturer's wiring diagram to identify the correct pins.
-
5
Look for aftermarket devices spliced into the tachometer circuit and disconnect them temporarily to see whether the fault clears.
-
6
Confirm the control module and instrument cluster power feeds and grounds are clean and free of voltage drop.
-
7
Only once the harness, connectors, grounds, and receiving module have been verified should the control module's internal driver be suspected, and confirm that with the manufacturer's test procedure.
Related powertrain codes
- P0600 — Serial Communication Link Malfunction
- P0601 — Internal Control Module Memory Check Sum Error
- P0602 — Control Module Programming Error
- P0603 — Internal Control Module Keep Alive Memory (KAM) Error
- P0604 — Internal Control Module Random Access Memory (RAM) Error
- P0605 — Internal Control Module Read Only Memory (ROM) Error
Frequently asked questions
Can I keep driving with P0654?
In most cases yes, because the engine still measures its own speed correctly and runs normally. What you lose is the tachometer display and possibly cruise control. Drive with more care if the tachometer is dead, since you cannot see engine speed, and have it diagnosed because the same wiring may feed other systems.
Is this the same as a crankshaft sensor fault?
No, and this is the most common misunderstanding of the code. P0654 is about the engine speed signal the module sends out to other equipment, not the sensor signals it receives. If a crankshaft or camshaft sensor were at fault you would normally see a P0335 to P0349 range code and the engine would run badly or not at all.
Will it fail an emissions test?
An illuminated check engine light with a stored OBD code will usually fail an inspection in most regions, so it needs repairing beforehand. A non-working tachometer is also frequently a fail point in periodic roadworthiness inspections where instrument function is checked.
Is this expensive to fix?
Usually the fault is a broken wire or a corroded connector pin between the module and the cluster, which is inexpensive to repair once found, with most of the cost being diagnostic time. It becomes expensive only if the instrument cluster or the control module has failed internally, since either may need programming or coding after replacement.
Disabling P0654 in software
RaceTune can permanently disable P0654 — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.
ECU families we can disable P0654 on
We hold the DaVinci A2L disable definitions for these families, so the exact P0654 path and mask addresses are mapped. verified marks a confirmed disable definition. We support many more — upload your file and our identifier will match it automatically.
- Bosch MG1CP002 verified
Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.
Got P0654 in your scan?
Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.
Upload your file