P0654

Engine RPM Output Circuit Malfunction

P0654 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.

Code
P0654
Group
Powertrain
System
Powertrain
Severity
Warning (MIL on)
Need P0654 disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

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

The tachometer reads zero, sticks at one value, or sweeps erratically while the engine is clearly running normally.
The check engine light is on with P0654 stored, sometimes as the only noticeable symptom.
Cruise control refuses to engage or drops out.
Automatic transmission shift quality feels wrong on vehicles where the gearbox controller uses this signal.
Erratic idle behaviour or cooling fan operation on systems that share the engine speed output.
On some vehicles a hard-start or no-start condition if other modules depend on this signal to enable operation.

How to diagnose P0654

A typical diagnostic flow when this code is present.

  1. 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. 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. 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. 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. 5
    Look for aftermarket devices spliced into the tachometer circuit and disconnect them temporarily to see whether the fault clears.
  6. 6
    Confirm the control module and instrument cluster power feeds and grounds are clean and free of voltage drop.
  7. 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

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.

Permanent
The monitor is disabled in the ECU itself — not just cleared. It cannot return.
Tailored to your file
Each patch is matched to your specific software version — never a one-size-fits-all file.
Reversible
The original file is always preserved. Reflash the stock to return the ECU to factory state.

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