P0388

Crankshaft Position Sensor B Circuit High Input

P0388 is a generic OBD-II powertrain diagnostic trouble code: Crankshaft Position Sensor B Circuit High Input. It is logged by the engine control unit when the ckp/cmp monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.

Code
P0388
Group
Powertrain
System
CKP/CMP
Severity
Critical (limp mode / no-start)
Need P0388 disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

What P0388 means

P0388 — "Crankshaft Position Sensor \"B\" Circuit High Input" — is stored when the PCM detects that the voltage on the secondary crankshaft position sensor B signal circuit is continuously at or above the maximum threshold defined in the calibration. It is the mirror fault to P0387 (stuck low): rather than the signal collapsing to ground, it is stuck at an elevated voltage — typically the full 5V reference or higher — and does not cycle as the reluctor teeth pass the sensor.

A high-stuck signal most commonly results from a short between the sensor signal wire and the reference voltage line (5V), a short to battery voltage (12V), or an open circuit in the signal return path (if the PCM input has a pull-up resistor, an open wire reads as high). A hall-effect sensor whose output transistor has failed open will also hold the signal high. With the signal fixed at a high voltage, the PCM interprets the condition the same way it would interpret the engine stopped at a reference gap — it cannot detect crank rotation and will typically deny injection and spark on engines where the B sensor is critical to operation. The no-start risk is equivalent to P0387. Engines frequently associated with dual-CKP configurations — BMW N57/N47, Mercedes OM651, Ford 6.0L/6.4L Power Stroke, Jeep 3.0L EcoDiesel — are the primary candidates for this code.

Common causes

Most-frequently reported root causes when P0388 is logged.

  • 1
    Short to the 5V reference voltage on the sensor \"B\" signal wire — insulation damage causing the signal line to contact the reference line.
  • 2
    Short to battery voltage (12V) on the sensor \"B\" signal circuit.
  • 3
    Open circuit in the sensor \"B\" signal return path — with a PCM pull-up resistor, a broken wire reads as a high voltage.
  • 4
    Failed crankshaft position sensor \"B\" with an open output transistor holding the signal high.
  • 5
    Corroded connector with bridging between the signal pin and the reference/supply pin.
  • 6
    Incorrectly spliced or repaired wiring that connected the signal line to a voltage source.
  • 7
    PCM input circuit failure holding the sensor B channel high internally.

Symptoms drivers notice

Malfunction Indicator Lamp (MIL / Check Engine Light) illuminates.
Engine will not start or stalls immediately after starting.
Tachometer shows zero RPM during cranking despite normal starter motor operation.
Sudden engine stall if the signal transitions to high-stuck during vehicle operation.
Possible companion codes P0385 (general circuit malfunction) or P0386 (range/performance) depending on PCM calibration thresholds.

How to diagnose P0388

A typical diagnostic flow when this code is present.

  1. 1
    Retrieve all stored and pending codes with a scan tool; note any sensor A codes or other CKP family codes to determine fault scope.
  2. 2
    Inspect the sensor \"B\" connector and wiring harness for insulation damage, particularly at routing points where the signal wire could contact the reference wire or a 12V source.
  3. 3
    With the sensor connector unplugged, measure voltage from the signal wire to ground at the harness side — any voltage present (should be near 0V with connector unplugged on most systems) confirms a wiring short to voltage.
  4. 4
    Verify 5V reference line integrity — measure reference voltage at the sensor connector; if the reference wire is shorted to the signal wire, both will read incorrectly.
  5. 5
    Reconnect the sensor and measure signal voltage with engine cranking — a constant high voltage rather than a pulsing waveform confirms the stuck-high condition.
  6. 6
    Use an oscilloscope on the signal line to confirm the flat-high trace; compare against sensor A waveform to verify the PCM is still receiving one valid crank signal.
  7. 7
    Replace sensor \"B\" if harness shorts are ruled out and the sensor output is confirmed stuck high; retest to confirm pulse-train recovery.

Related powertrain codes

Frequently asked questions

What is the difference between P0387 and P0388?

P0387 indicates the sensor B signal is stuck at a low voltage — typically a short to ground or a sensor whose output has failed low. P0388 indicates the signal is stuck at a high voltage — typically a short to the reference voltage, a broken open-circuit wire on a pull-up system, or a sensor whose output transistor has failed open. Both prevent the PCM from detecting crank rotation and both are critical faults.

Can an open circuit cause a high-input code rather than a low-input code?

Yes, on systems where the PCM input has an internal pull-up resistor. An open wire between the sensor and PCM leaves the input pin floating high through the pull-up, causing the PCM to read a continuous high voltage and set P0388. This is counterintuitive but is a common source of confusion when the technician expects an open circuit to trigger a low-input code.

Is P0388 more or less serious than P0385?

Both are serious and both are likely to result in a no-start or stall. P0388 is directional — it provides additional diagnostic information (signal is high rather than absent) that narrows the wiring fault search toward shorts to voltage sources rather than shorts to ground.

Will clearing P0388 allow the engine to start?

No. Clearing the code removes the stored fault but does not change the physical condition of the circuit. If the signal is still stuck high when the engine is next cranked, the PCM will immediately re-evaluate and refuse to start (or re-set the code on a running engine and stall). The underlying wiring or sensor fault must be repaired.

Disabling P0388 in software

RaceTune can permanently disable P0388 — 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.

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 P0388 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