What P0387 means
P means powertrain (engine and transmission). The 0 marks a generic code defined by SAE, so the same number means the same thing across makes. The third character, 3, places it in the ignition system or misfire subsystem; the last two digits identify the specific fault.
The crankshaft position sensor reads a toothed reluctor wheel on the crankshaft and tells the engine computer engine speed and piston position. It is essential: without it, most engines will not run. The same signal also feeds the misfire monitor.
The letter "B" distinguishes between two or more of the same component on one vehicle. Which physical part is "B" is set by the manufacturer, so confirm it in the service information before replacing anything.
What “Circuit Low” means here
"Low" means the signal or control voltage fell below the minimum the module expects. On a three-wire sensor fed by a 5 V reference, typical causes are a lost 5 V reference (which can affect several sensors sharing it), a signal wire shorted to ground, or a failed sensor.
What you may notice
Symptoms depend on the vehicle and on how the module responds to the fault. Any of these can accompany P0387:
- Engine cranks but will not start
- Stalling, often when hot
- Tachometer dropping out
- Misfire or hesitation
Where to start diagnosing P0387
- Inspect the connector and harness; heat and oil contamination are common.
- Check the reluctor wheel and the sensor tip for damage or debris.
- Watch engine RPM in live data while cranking; no RPM reading while cranking points strongly at this circuit.
- On "variation not learned" codes, the manufacturer's crank relearn procedure is usually required after parts replacement.
Clear the code only after recording freeze frame data: it shows the engine speed, load and temperature at the moment the fault set, which is often the best clue to reproducing it.
Live data to watch
These standard OBD2 values relate to P0387. Support varies by vehicle; a value your car does not report will simply be missing.
| Value | What to look for |
|---|---|
| Engine RPM (PID 0x0C) | Should be present during cranking and steady at idle. |
Related codes
Codes from the same crankshaft position (CKP) sensor family. If several are stored together, the shared part — wiring, a common reference voltage, or the component itself — is the place to start.
| Code | Definition |
|---|---|
| P0336 | Crankshaft Position Sensor "A" Circuit Range/Performance |
| P0337 | Crankshaft Position Sensor "A" Circuit Low |
| P0338 | Crankshaft Position Sensor "A" Circuit High |
| P0339 | Crankshaft Position Sensor "A" Circuit Intermittent/Erratic |
| P0385 | Crankshaft Position Sensor "B" Circuit |
| P0386 | Crankshaft Position Sensor "B" Circuit Range/Performance |
| P0388 | Crankshaft Position Sensor "B" Circuit High |
| P0389 | Crankshaft Position Sensor "B" Circuit Intermittent/Erratic |
Further reading
Frequently Asked Questions
What does P0387 mean?
P0387 is the generic SAE J2012 code for "Crankshaft Position Sensor "B" Circuit Low". In plain terms, it means the engine computer has detected a "circuit low" fault on the crankshaft position (CKP) sensor.
Can I keep driving with P0387?
A crank sensor fault can stop the engine while driving. Have it repaired before relying on the vehicle.
What should I check first for P0387?
Inspect the connector and harness; heat and oil contamination are common.
Definition source: SAE J2012 / ISO 15031-6 generic DTC definitions. This is the generic meaning that applies across makes; a manufacturer can define a code more narrowly or add its own sub-codes, so confirm against the service information for your vehicle before replacing parts. Written by the OBDAssistant engineering team — see our editorial policy.