EN

Severity: Moderate Code type: Generic (all makes)

P0687 Code: ECM/PCM Power Relay Control Circuit High

The main relay control line sits at battery voltage – the relay may never switch on or never release.

At a glance

Severity: 3/5 – Moderate3/5

Severity: Moderate

Meaning
ECM/PCM Power Relay Control Circuit High
System
ECU & Outputs · Powertrain
Safe to drive?
With caution
Typical repair cost
$25–$1,800
DIY difficulty
Moderate

P0687 means the ECM measured a higher voltage on its main relay control output than the commanded state allows, or detected overcurrent when it tried to switch it. Either way, the control line is connected to a voltage source other than the ECM's driver. The effect depends on the design. If the ECM pulls the coil to ground, a line stuck at battery voltage means the relay can't be energized, so the engine won't start. If the ECM supplies the coil, the same fault keeps the relay energized after the key is turned off: the ECM and everything the relay feeds stay live, the after-run never ends and the battery is flat by morning. Causes range from a wire shorted to a live circuit and a relay with an internal coil-to-contact short, to an ECM that is being kept awake by a stuck ignition or wake-up signal.

Can I keep driving? If the engine starts and runs, it can be driven to a shop. If the battery is going flat overnight, disconnect the negative terminal when parking until the fault is found, or you'll be left with a dead battery and possibly a damaged one.

How to read P0687

How to read P0687P10263874
  1. P Powertrain
  2. 0 Generic (SAE)
  3. 6 Computer & outputs
  4. 87 Specific fault

Symptoms

  • Battery dead after the car sits overnight or for a couple of days
  • Main relay still clicked in, and warm, long after the key is off
  • Cooling fan or fuel pump running on after shutdown longer than normal
  • Crank-no-start on designs where the ECM grounds the relay coil
  • Check engine light, often with P0690 stored as well

Possible causes

Ranked by how often each cause is behind this code (editorial estimate).

  1. Control wire shorted to a battery-powered circuit 24%
  2. Relay with an internal short between its switched contacts and the coil 18%
  3. ECM held awake by a stuck ignition switch, wake-up signal or another module 16%
  4. ECM relay driver stuck on after water ingress or a voltage spike 16%
  5. Corrosion bridging terminals in the relay socket 14%
  6. Aftermarket remote start or alarm feeding the ECM power circuit 12%

Diagnosis step by step

Diagnostic flow: P06871Measure the parasitic draw2Time the relay release after key-off3Check the ECM's wake-up input4Test the relay for internal shorts5Look for voltage on the control wire6Condemn the ECM driver last
  1. Measure the parasitic draw

    Connect an ammeter or clamp meter on the battery cable, lock the car and wait for the modules to go to sleep, which can take 30–60 minutes on newer vehicles. A healthy car settles below about 50 mA; a main relay held on typically leaves several hundred milliamps to a few amps flowing.

    Tools: Multimeter

  2. Time the relay release after key-off

    Back-probe the relay's output terminal and switch the key off. The voltage should drop once the ECM's after-run finishes – usually within seconds, or a few minutes if the cooling fan runs on. If it stays at battery voltage indefinitely, pull the relay and see whether the drain disappears.

    Tools: Multimeter

  3. Check the ECM's wake-up input

    With the key off and removed, measure the ignition or wake-up input at the ECM connector. It must be 0 V. Voltage here means a sticking ignition switch, a faulty ignition relay or an aftermarket device is keeping the ECM awake, and the ECM is correctly holding its relay on.

    Tools: Multimeter

  4. Test the relay for internal shorts

    On the bench, measure between each switched contact and each coil terminal. They must all read open. A connection between them means the relay is back-feeding its own coil, which keeps it latched once it has pulled in.

    Tools: Multimeter

  5. Look for voltage on the control wire

    Remove the relay, unplug the ECM and measure the control wire to ground with the key off. Any voltage means it is shorted to another circuit; separate the harness at intermediate connectors to find which section carries the fault.

    Tools: Multimeter, Flashlight

  6. Condemn the ECM driver last

    If the wiring, relay and wake-up input all check out but the ECM still holds the output on, or reports P0687 immediately, the driver is faulty. ECM repair services can often fix this without new programming.

    Tools: OBD-II scanner

Where the parts are

Charging system and control modules – P06871234567
Charging system and control modules
  1. 1Battery
  2. 2Alternator
  3. 3Engine computer (ECM)
  4. 4CAN bus
  5. 5Transmission
  6. 6Wheel speed sensor
  7. 7High-voltage battery

Repair options & costs

RepairDIY?Estimated cost
Replace main relay Yes $25–$120
Replace sticking ignition switch or ignition relay No $80–$350
Repair control wire shorted to power No $120–$400
Remove or correct aftermarket wiring No $100–$300
Repair or replace ECM No $300–$1,800

Rough US estimates for parts and labor; shop rates vary by region. Not a quote.

Emissions / smog test impact

Will fail

P0687 turns the check engine light on, which fails an OBD smog check. Repeated dead batteries also erase readiness data on many cars, so fix the drain and complete a few drive cycles before testing.

Frequently asked questions

Can P0687 drain my battery?

Yes, on vehicles where the ECM supplies the relay coil. If the control line is stuck high the relay never releases, so the ECM and the loads it powers stay on after you lock the car, and the battery can be flat overnight.

Why does pulling the main relay stop the drain?

Because the relay was what kept the ECM and its loads powered. That proves the drain path; the next question is what kept the relay energized – a shorted wire, a faulty relay, a wake-up signal or the ECM itself.

Could my ignition switch be the real problem?

It can. If the switch or an ignition relay leaves the ECM's wake-up input live after the key is removed, the ECM thinks the car is still on and holds its main relay in. Measuring that input with the key out settles it.

What is the difference between P0687 and P0690?

P0687 looks at the relay's control side – the wire the ECM uses to switch the coil. P0690 looks at the relay's output, which the ECM senses to confirm the contacts have opened. Welded contacts typically set P0690; a live control wire sets P0687.

Sources