P0385, P0386 and P0389: Crankshaft Position Sensor B Circuit Codes Explained

A P0385 code alerts drivers to a problem in the crankshaft position sensor B circuit, a vital input for ignition timing and fuel delivery. Confusingly, the related P0386 and P0389 codes point to different failures within the same sensor circuit—range/performance faults and intermittent dropouts. Without a reliable crank position signal, the engine may run poorly or refuse to start. Understanding these codes helps you discuss the fault with a technician and avoid unnecessary parts replacement.
What the P0385 Code Means and What "Sensor B" Refers To
The OBD-II system defines P0385 as a generic fault in the crankshaft position sensor B circuit. This sensor monitors the rotational position and speed of the crankshaft, producing a signal the engine control module uses to time spark and fuel injection. When the signal is missing, shorted, or distorted, the computer cannot synchronize combustion events, potentially causing rough running or a no-start.
The label sensor B does not mean a specific location; manufacturers use it to distinguish multiple crank sensors, or to differentiate the crank sensor from a camshaft sensor. Some engines have one sensor, others two, and their positions vary from the front pulley to the flywheel. Always check the vehicle-specific definition before replacing parts, because a circuit code indicates a problem anywhere in the wiring, connector, sensor, or module input—not necessarily a bad sensor. P0385 is the base code for this circuit, while P0386 adds a range/performance fault and P0389 indicates an intermittent signal.
P0386: Crank Sensor B Range or Performance Faults
A range/performance code like P0386 means the crankshaft position sensor is sending a signal, but the pattern is implausible compared with expected values. The engine control module may detect missing teeth, erratic pulses, or a mismatch with the camshaft sensor signal. This can stem from a damaged reluctor wheel, excessive sensor air gap, a loose mounting bracket, or electromagnetic interference from high-voltage components.
Because the monitoring strategy is manufacturer-specific, the exact conditions that trigger P0386 vary. On some vehicles, the code sets only during deceleration or at high rpm; on others, any distortion exceeding a threshold counts. Replacing the sensor without checking the signal waveform and the reference target—the tone ring or reluctor—can leave the real fault untouched. A technician should compare live data and oscilloscope traces against service information before condemning any part.
P0389: Intermittent Crank Sensor B Signal Problems
An intermittent code such as P0389 indicates the crank sensor signal dropped out or became erratic at unpredictable times. Heat, vibration, moisture, and flexing harnesses can cause connections to break momentarily, so the fault may not appear while the car sits in a shop. The engine may run fine during testing but stall later on the road, making diagnosis frustrating.
Freeze frame data captured when the code set is invaluable: it records engine temperature, speed, and load at the moment of failure. Note when symptoms occur—cold starts, hot restarts, over bumps, or at certain rpm—and share that with your technician. Confirm the manufacturer's definition of P0389 and the enabling conditions, because some systems log intermittent events only after several failed checks within a drive cycle.
Symptoms Drivers May Notice With Crank Sensor B Codes
Drivers may notice a check engine light, hard starting, a crank-but-no-start condition, stalling, stumbling, misfire-like behavior, or reduced power. Some vehicles show no obvious symptoms until the signal fails completely. A failing crank sensor can cause the engine to cut out momentarily, producing a jerking sensation that is easy to mistake for a transmission or ignition problem.
If the crank position signal is lost while driving, the engine can stall suddenly without warning, leaving the vehicle without power steering and brake assist. This is a serious safety risk in traffic. Do not continue driving normally if the engine stalls or hesitates badly; arrange diagnosis before relying on the vehicle. Other stored codes, such as camshaft sensor or misfire codes, can change how these symptoms should be interpreted and point to a common cause.
Possible Causes Behind Crankshaft Position Sensor B Circuit Codes
Wiring and connector problems are common triggers for P0385, P0386, and P0389. Chafed insulation, corrosion, loose terminals, oil contamination, or damage near hot and moving engine parts can interrupt the low-voltage signal. The sensor harness may rub against brackets or belts, creating an intermittent short or open circuit that sets a code only when the engine moves under torque.
The sensor itself, its mounting, and the reluctor wheel or tone ring are all possible sources. A cracked tone ring or a wobbling reluctor can produce a distorted signal without any wiring fault. Less common causes include poor grounds, charging system noise, related circuit faults, or an engine control module input problem. Recent repair work near the sensor or harness—such as a timing belt service or oil pan removal—is a valuable clue worth telling your technician.
How Crank Sensor B Faults Are Diagnosed Safely
With the engine off and cool, you can safely record all stored codes and freeze frame data, then look for obvious harness damage or disconnected connectors without taking anything apart. Inspect the sensor wiring for cuts, melted insulation, or corrosion at accessible plugs. Do not disconnect any connector unless you know the procedure; some systems may require a relearn.
Professional diagnosis normally involves live scan data, manufacturer test procedures, circuit checks, and often an oscilloscope view of the sensor signal. Guessing from the code alone risks replacing a good sensor while leaving a broken wire or damaged reluctor in place. After a repair, the technician should clear codes, perform a verification drive, and confirm the code does not return and readiness monitors complete.