A position sensor can send a clean signal and still report something the engine computer does not believe. A P0386 code means the crankshaft position sensor B signal does not match the pattern or timing the computer expects.
This guide explains how the signal is checked, why damaged reluctor rings and timing problems cause this code and how to find the cause.
P0386 Code Breakdown
Every OBD-II code follows the same five-character pattern set by the SAE J2012 standard. Each character narrows down which system has the fault. This table shows what each part of the code tells you.
| Character | Meaning | What It Tells You |
|---|---|---|
| P | Powertrain | The fault is in the engine or transmission systems. |
| 0 | Generic (SAE) code | The definition is the same on every OBD-II vehicle. |
| 3 | Ignition system or misfire | The fault involves the ignition system, misfire detection or engine position sensors. |
| 86 | Specific fault | Crankshaft Position Sensor B Circuit Range/Performance |
What the P0386 Code Means
The SAE J2012 standard defines the P0386 code as Crankshaft Position Sensor B Circuit Range/Performance. Crankshaft position sensor B is a second crank sensor. Some engines use two, for example one at the front and one at the rear of the crankshaft, while others use sensor B for a second signal from the same reluctor ring. Check your service manual to see what sensor B is on your engine.
Most modern sensors are Hall effect types with three wires: a reference voltage, a ground and a signal that switches between about 0 and 5 volts as each tooth passes. Older or some current designs use a two-wire magnetic sensor that makes its own AC voltage, which rises with engine speed.
The powertrain control module (PCM) uses the crank signal for engine speed, ignition timing, injector timing and misfire detection. Most engines will not start without it, and losing it while driving usually stalls the engine.
Range/performance means the circuit is electrically intact, but the crankshaft position sensor B reading does not make sense. It may be stuck, change too slowly, drift or disagree with other inputs the PCM uses to check it.
Symptoms of a Bad Crank Sensor B
Position sensor faults often affect starting and running. Common signs of a P0386 code include:
- Engine cranks but will not start
- Stalling, especially when hot
- Tachometer not moving while cranking
- Misfires or rough running
- Check engine light on
A tachometer that sits at zero while you crank is a quick clue. On many vehicles, the tach reads the crank signal, so no needle movement during cranking points to the crank sensor circuit.
Most Common Causes of the P0386 Code
Range codes often come from the sensor or the system it measures, not the wiring:
- Damaged reluctor ring. Missing or bent teeth break the signal pattern.
- Wrong sensor air gap. A loose or wrong sensor reads weakly.
- Metal debris on the sensor tip. Magnetic sensors collect metal shavings.
- Stretched timing chain or jumped belt. Crank and cam signals fall out of step.
- Electrical noise. Poor shielding or a bad ground adds false pulses.
- Failing sensor. Its output weakens with heat.
Tools You Will Need
You can do most of this testing at home with basic tools:
- OBD-II scan tool with live data
- Digital multimeter
- Lab scope or graphing scan tool
- Wiring diagram for your engine
- Clean shop towel for wiping the sensor tip
Step-By-Step Diagnosis of the P0386 Code
Check for other codes first. Crank and cam codes together can point to a shared reference voltage, a timing problem or a wiring fault.
Check Live Data
Watch engine speed in live data while cranking. A reading of 0 rpm while the engine is clearly turning points to the crank sensor circuit.
Check the Signal Pattern
Use a lab scope or a scan tool with a graphing function to look at the sensor signal. Every tooth should make a clean pulse. Missing, extra or uneven pulses point to a damaged reluctor ring, debris or electrical noise.
Check Crank and Cam Timing
If both crank and cam codes are present, or the engine has a known timing chain issue, check the timing marks or the crank-to-cam correlation values in live data. A jumped belt or stretched chain can set position sensor range codes.
Inspect the Sensor Tip
Remove the sensor and look at the tip for metal debris, oil and cracks. Check the O-ring. Wipe the tip clean and make sure the sensor seats fully, since a sensor that sits too far out can give a weak signal.
Repairs That Clear the P0386 Code
Match the repair to what your tests found. Then clear the code and drive under the same conditions that set it.
- Repair the connector or wiring and route it away from hot exhaust parts.
- Replace the crankshaft position sensor B if it fails tests or glitches when hot. Use a quality part, since cheap sensors often fail early.
- Clean metal debris from the sensor tip and check where it comes from.
- Repair a damaged reluctor ring, which may mean replacing the balancer, flywheel or crankshaft part that carries it.
- Repair timing chain or belt problems if crank and cam timing do not line up.
Some vehicles need a crankshaft position variation relearn after a crank sensor or related part is replaced, so misfire detection works correctly. GM and some other makers list this procedure in the service manual.
Common Mistakes to Avoid
These mistakes waste money or leave the real fault in place:
- Assuming a range code always means a bad sensor
- Skipping the mechanical checks that can make a good sensor look wrong
- Buying the cheapest sensor, which often fails quickly
- Ignoring a stretched timing chain when crank and cam codes appear together
What Repairs Cost
The cost to fix a P0386 code depends on the cause. This table shows typical ranges for parts and labor.
| Repair | DIY Cost | Typical Shop Cost |
|---|---|---|
| Connector or wiring repair | $10 to $40 | $100 to $300 |
| Crankshaft position sensor B | $20 to $120 | $120 to $400 |
| Timing chain or belt repair | $200 to $800 | $800 to $2,500 |
| Reluctor ring or balancer repair | $50 to $300 | $300 to $1,000 |
Most CKP sensor repairs are affordable, since the sensor costs little and is often easy to reach. Some engines hide it behind the starter, under the intake or near the transmission bell housing, which raises the labor.
Is It Safe to Drive with a P0386 Code?
It is risky. A failing crank sensor can stall the engine without warning, which can leave you stuck in traffic or on a highway shoulder.
If the engine starts and runs, drive only as far as needed to reach a repair. If it stalls when hot, avoid driving until it is fixed.
Related Codes
These codes often show up with this one or point to the same system:
| Code | Meaning |
|---|---|
| P0385 | Crankshaft Position Sensor B Circuit Malfunction |
| P0387 | Crankshaft Position Sensor B Circuit Low Input |
| P0388 | Crankshaft Position Sensor B Circuit High Input |
| P0389 | Crankshaft Position Sensor B Circuit Intermittent |
| P0340 | Camshaft Position Sensor Circuit Malfunction |
| P0016 | Crankshaft/Camshaft Position Correlation, Bank 1 Sensor A |
Getting a Clean Signal from Crank Sensor B
A P0386 code means the crankshaft position sensor B signal does not match what the PCM expects. Damaged reluctors, debris and timing problems cause most cases.
- Check engine speed while cranking.
- Inspect the connector and wiring.
- Test reference, ground and signal.
- Inspect the sensor tip for debris.
- Check timing if crank and cam codes appear together.
Frequently Asked Questions
Can a Timing Chain Cause the P0386 Code?
Yes. A stretched chain or jumped belt shifts cam timing relative to the crank, so the signals no longer line up as the PCM expects. Range codes on position sensors, especially with correlation codes such as P0016, can point to timing problems.
Where Is the Crankshaft Position Sensor B?
It is usually on the front of the engine near the harmonic balancer, on the side of the block or near the transmission bell housing, reading the flywheel. Your service manual shows the exact location for your engine.
Can I Test the Sensor with a Multimeter?
A three-wire Hall effect sensor can be checked for reference voltage, ground and a switching signal with a multimeter, though a scope shows the pattern better. A two-wire magnetic sensor can be checked for resistance and AC voltage while cranking.
Can a Bad Crank Sensor Cause Misfire Codes?
Yes. The PCM detects misfires by watching crankshaft speed through this sensor. A weak signal, a damaged reluctor or electrical noise can look like a misfire, so misfire codes sometimes appear alongside crank sensor codes. Fix the sensor fault first.
Should I Buy an OEM Sensor?
For position sensors, many technicians prefer factory or top-quality parts. Cheap sensors can have the wrong air gap or weak output and may fail within weeks. Since the engine depends on this signal, it is worth paying a little more.