OBD-II trouble code
P0388: Crankshaft Position Sensor 'B' Circuit High Input
The second crank sensor's circuit is pinned above its valid range. Near the bellhousing, the likeliest live wire for it to touch is the starter's battery cable — the biggest unfused conductor on the vehicle.
Quick facts
- System
- Powertrain
- Category
- Sensors / Timing
- Severity
- High severity
- Drivable
- No — stop driving until repaired
- Repair cost range
- $120 – $900
- DIY difficulty
- Intermediate DIY
What does P0388 mean?
P0388 is the powertrain control module reporting that the second crankshaft position sensor's circuit is riding above its valid voltage window. A crank waveform is supposed to move — pulses swinging within a defined band as teeth pass the pickup. A line parked at a fixed high level is not a fast engine or a strong sensor; it is a circuit being pulled toward a voltage source, biased up by a defective component, or floating high on an internal pull-up because the path to the sensor has broken.
Thinking about where the voltage could come from is what makes this code specific rather than generic, because the 'B' sensor's location writes the suspect list. A circuit can only short to a live feed it physically touches, and on engines whose second sensor sits at the bellhousing, the most significant live conductor in reach is the starter's main battery cable — carrying full battery voltage at all times, unfused on most vehicles, and secured along the same casting the sensor harness follows. A cable tie that gave up years ago, a loom rubbing on the cable's insulation through thousands of heat cycles, and eventually copper finds copper. The result is a crank signal wire welded to twelve volts, and in the worst case a feed strong enough to damage the module input it arrives at. The same geometry brings the alternator's output cable and the starter solenoid feed into range on some engines. This failure mode is why a high-input crank code deserves a physical harness inspection along the high-current run before any component is swapped.
There is a second, quieter route to a stuck-high line that involves no damage at all: the wrong sensor. The two crank sensor positions on one engine often use different technologies or different part numbers, and the catalogue makes them easy to confuse. Fit a sensor whose output stage does not match what the module expects — or a cheap unit whose open-collector output never pulls down properly — and the module sees a line that idles high and never switches. If this code arrived with a recently replaced sensor, the new part is the first suspect, not the last: verify the part number against the 'B' position specifically, because a sensor can be brand new, functional by its own standards, and still wrong.
On designs where the module holds the signal line high through an internal pull-up and the sensor pulls it low to signal, a simple open circuit — broken wire, unseated terminal — also parks the line at the high rail. So the code's apparent drama can dissolve into a five-minute connector fix. The scope decides: a stuck level with the engine cranking, versus a healthy waveform arriving at the sensor but not the module.
Common causes
- Signal wire chafed through against the starter's battery cable or another always-live feed along the bellhousing run
- Open circuit on designs with an internal pull-up, letting the signal line float at the high rail
- Wrong or incompatible replacement sensor whose output stage never pulls the line down
- Failed sensor output stage stuck in its high state
- Short to the sensor's own 5-volt or supply feed inside a damaged connector
- Water in the connector bridging the signal terminal to an adjacent powered terminal
- Damaged module input stage after a previous short delivered battery voltage to a 5-volt pin
- Jump-start or welding damage biasing the module's input circuitry
Symptoms
- Check engine light with normal driving on engines that fall back to the primary sensor
- Extended cranking or a start that needs two attempts where 'B' handles start synchronisation
- Stalling or cutout on architectures that require both crank signals
- Code set immediately and permanently after a sensor replacement — the incompatible-part signature
- Other sensor codes appearing simultaneously when a shared reference has been dragged up
- Blown module input — no 'B' signal ever again — in the aftermath of a battery-voltage short
Diagnostic steps
- 1.Ask first what changed. A high-input code that began at a sensor replacement points at the new part; one that began spontaneously on an ageing vehicle points at the harness. The history sorts the order of everything below.
- 2.Back-probe the signal at the module connector, key on, engine off, then cranking. A line fixed near battery voltage regardless of cranking is a short to a live feed; fixed near 5 volts suggests a pull-up with no sensor pulling against it.
- 3.If battery voltage is present on the signal wire, stop and find the short before reconnecting anything — trace the harness along the starter cable run and inspect every contact point. Repowering a module input with 12 volts present risks finishing whatever damage has started.
- 4.Verify the fitted sensor's part number against the 'B' position for this exact engine, not merely against the vehicle. Two crank sensors on one engine are frequently non-interchangeable.
- 5.With the sensor disconnected, watch the line: if it drops to a normal bias level, the sensor was holding it high; if it stays pinned, the harness or module is responsible.
- 6.Check for a broken signal wire on pull-up designs: continuity end to end with connectors off. An open here reads as 'high' to the module even though nothing is shorted anywhere.
- 7.Inspect the connector for moisture bridging terminals, and dry-and-retest before condemning hardware.
- 8.After repair, confirm on a scope that a genuine switching waveform reaches the module during cranking — level tests alone cannot prove the signal's shape survived the incident.
Repair cost
$120 – $900
A chafed-wire repair and re-routing away from the starter cable is $120 to $350. A correct replacement sensor is $30 to $150 plus fitting governed by access. The expensive tail on this code is unique among its siblings: a signal wire that spent time shorted to battery voltage can damage the module input it feeds, and a module is $400 to $900 with programming. That tail is avoidable — it is the reason the short must be found and cleared before anything is reconnected and retested, and it is worth telling your shop the code arrived suddenly if it did, since that detail flags the battery-voltage scenario early.
Estimate your repair
Run the numbers for your vehicle
Open the Repair Cost Estimator with crankshaft position sensor replacement preselected. Adjust labor rate and vehicle category to fit your situation.
DIY vs shop
This is an intermediate DIY job. It usually involves diagnostic steps, specialty parts, and some careful work in tight spaces. If you have the tools and a service manual or trustworthy video for your specific vehicle, it is achievable in a weekend. Otherwise, a competent independent shop will be faster.