OBD-II trouble code
P0321: Ignition/Distributor Engine Speed Input Circuit Range/Performance
The engine speed signal is arriving, but the pattern of it does not agree with what the module expects. That single distinction moves the likely fault away from the sensor and toward the spinning metal it is reading.
Quick facts
- System
- Powertrain
- Category
- Sensors / Timing
- Severity
- High severity
- Drivable
- No — stop driving until repaired
- Repair cost range
- $150 – $2,200
- DIY difficulty
- Advanced DIY
What does P0321 mean?
A range or performance fault is not the same kind of fault as a missing signal, and reading it as one is the most expensive mistake available on this code. The module is receiving pulses. It can count them. What it objects to is their shape, spacing or agreement with something else it knows — most often the camshaft signal, which it cross-references continuously to confirm that the crankshaft is where the pulses say it is.
Once you accept that the electrical path is delivering something, the list of suspects changes character. The sensor reads a physical wheel, and a wheel is a mechanical object that can be wrong in ways no wiring test will ever find. A reluctor ring can crack, and a cracked ring flexes slightly at speed so the tooth spacing changes with rpm. Teeth get chipped by debris or by a dropped tool during unrelated work. Rust builds under a press-fit ring and lifts it a fraction of a millimetre out of true, which shows up as runout rather than as a missing tooth.
The single most under-diagnosed cause in this family deserves its own paragraph. On engines where the reluctor is machined into or attached to the harmonic balancer, the balancer's outer ring is bonded to its hub through a rubber isolator, and that rubber perishes. When it lets go, the outer ring creeps around the hub — sometimes only a few degrees. The engine keeps running, the belt keeps turning, nothing falls off, and the crank signal is now permanently out of phase with the actual crankshaft. It will not fail a resistance test, a voltage test or a visual inspection of the sensor, because the sensor is fine. Look for the timing marks on the balancer no longer lining up with anything sensible, or a visible offset between the outer ring and the hub.
Timing chain stretch belongs on the same list for the same reason. As a chain wears, the camshaft falls progressively behind the crankshaft, and the correlation window between the two signals narrows until the module calls it out. A vehicle with high mileage, a history of extended oil changes or a rattle on cold start-up is telling you something before you connect a scan tool.
Air gap is the last of the mechanical causes and the easiest to create accidentally. A sensor that is not fully seated, is missing a spacer or shim, or has been fitted with the wrong part number sits fractionally too far from the wheel. The signal is present but weak, which is precisely the condition that produces a performance complaint rather than a circuit complaint.
Common causes
- Harmonic balancer outer ring that has slipped on its perished rubber isolator, shifting the reluctor permanently out of phase
- Cracked, rusted or distorted reluctor wheel producing uneven tooth spacing
- Chipped or damaged reluctor teeth from debris or from a tool dropped during earlier work
- Stretched timing chain narrowing the camshaft-to-crankshaft correlation window
- Incorrect air gap from a sensor that is not fully seated, is missing a shim, or is the wrong part number
- Metallic debris clinging to the magnetic tip of the sensor and blurring the pulses
- Worn distributor shaft bushings on older engines, letting the pickup air gap change every revolution
- Signal wire routed alongside a high-tension lead or an added accessory circuit, coupling noise into a marginal signal
Symptoms
- Engine runs but hesitates, surges or stumbles under load
- Hard starting or an unusually long crank before the engine catches
- Intermittent stalling, often when hot or at idle
- Check engine light on, frequently with a camshaft correlation code stored alongside
- Rough running that gets worse as engine speed rises
- Noticeable loss of power and worse fuel economy as the module retards timing defensively
Diagnostic steps
- 1.Read every stored code first. A camshaft-to-crankshaft correlation code alongside this one is the strongest single clue available and points at timing or at the reluctor rather than at wiring.
- 2.Put the crankshaft and camshaft signals on a two-channel scope together and watch their relationship while the engine runs. This code is about pattern, and a pattern fault is invisible to a multimeter.
- 3.Look hard at the harmonic balancer with the engine running and a timing light. An outer ring that has crept on its isolator will show the timing marks in a position that makes no sense, and the offset is often visible as a step between ring and hub.
- 4.Remove the sensor and inspect its tip for a beard of metallic debris. Magnetic tips collect swarf, and a coated tip rounds off the pulses without breaking the circuit.
- 5.Inspect the reluctor teeth through the sensor hole with a borescope or mirror, turning the engine slowly by hand. You are looking for chipped teeth, corrosion under a press-fit ring and any visible wobble.
- 6.Confirm the sensor is the correct part number and is fully seated, including any spacer or shim the application calls for. A fractional air gap error produces exactly this complaint.
- 7.Check the mounting face and bolt for damage. A cracked mounting boss lets the sensor move under vibration, so the gap is correct at rest and wrong at speed.
- 8.Ask about the vehicle's history. Recent front cover, timing, balancer or clutch work is a strong pointer to something reassembled slightly wrong rather than something that wore out.
Repair cost
$150 – $2,200
If the sensor, its seating or its wiring turns out to be at fault, expect $150 to $500. A harmonic balancer with a slipped ring is typically $80 to $350 in parts and one to three hours of labour, so $250 to $700 all in, and it needs the correct puller and installer rather than improvisation. A stretched timing chain is the expensive outcome: $600 to $2,200 depending on whether the engine is a chain-at-the-front design or one that requires the transmission out. A reluctor ring pressed onto the crankshaft is the worst case of all and can require the engine out.
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 advanced DIY job. It typically requires specialty tools, scan-tool access, lifting equipment, or careful sequencing to avoid causing new failures. Plan for extended downtime and have a backup vehicle. Most owners are better served by a shop that has done this repair before.