Engine Cranks But Won't Start: An Evidence-Driven Diagnostic Framework
A symptom-first framework for cranks-but-won't-start: battery/cranking, immobiliser, engine speed, fuel supply, rail pressure, ignition, injector command, compression, timing and air path — with links to P0335, P0340, P0087.
Pressure, voltage, torque, pin and waveform values on this page are guidance only. Vehicle-specific verified specification required before acting on any test.
Symptom-first framework
This is not a "common causes" list. It is an evidence-driven framework that uses the symptom to narrow the system, then tests to confirm.
- Clarify complaint — cranks but will not fire? Fires then stalls? Intermittent?
- Confirm operating condition — cold/hot, wet/dry, after a fill, recent work
- Retrieve DTCs — all modules, not just the engine
- Inspect freeze-frame / live data — the conditions when it last failed
- Identify affected system — crank, immobiliser, fuel, ignition, mechanical
- Form differential — rank hypotheses by the evidence
- Select decisive test — the test that most changes probability
- Update hypothesis — from the result
- Confirm cause — strong, confirmatory evidence
- Repair
- Verify the original symptom — under the condition that failed
Split 1 — Battery / cranking
Does the starter crank strongly?
- Weak/slow crank → battery, terminals, grounds, starter circuit. Check resting voltage, cranking voltage, voltage drop. A weak crank often masquerades as a fuel/ignition fault because the ECM cannot operate at low voltage. See the Battery Voltage guide.
A strong crank moves the investigation on.
Split 2 — Immobiliser authorisation
Many ECMs will not fire injectors or coils without start authorisation. On BMW, that is the CAS/EWS path; on others, a similar immobiliser.
- Immobiliser code present? → authorisation, not fuel/ignition
- Key recognised? → CAS/key/alignment
- Terminal-15 / wake-up to the ECM? → power distribution
Confirm the authorisation path before testing fuel or ignition. See the ISTA / BMW hub guides for the CAS path.
Split 3 — Engine speed input
The ECM needs a crankshaft signal to trigger injection and ignition.
- Tachometer moves during cranking? → No: likely no crank signal (P0335). Scope the crank sensor.
- Crank signal clean? → See the Crank Sensor Waveform guide.
Split 4 — Fuel supply
- LP supply to the HPFP adequate? (lift pump, filter)
- Rail pressure builds to the minimum that enables injection? → See the Fuel Rail Pressure guide and P0087.
- A no-start with low cranking rail pressure is often LP supply, not the HPFP.
Split 5 — Rail / fuel pressure
- Requested vs actual rail pressure during cranking — actual must rise to the enable threshold. See P0087 and P0191.
- Pressure falls after shutdown? → injector leak-down or check valve → hard start after rest.
Split 6 — Ignition (where applicable)
- Spark present during cranking? (petrol)
- Coil trigger command from the ECM? (scope or test light)
- No spark + no injector pulse → upstream (crank signal, immobiliser, ECM power)
Split 7 — Injector command
- Injector pulse during cranking? (noid light or scope)
- No pulse + no spark → crank signal / immobiliser / ECM
- Pulse present + no start → fuel pressure / injector flow
Split 8 — Compression
- Compression test — low compression across cylinders → timing or widespread wear
- Relative compression (scan-tool cranking-current test) — quick screen
Split 9 — Timing
- Crank/cam correlation (P0016/P0017) — a jumped chain shifts cam phase; scope the correlation. See the Crank/Cam Correlation guide.
- Belt/chain condition — interference engines risk piston-to-valve contact; do not crank repeatedly with correlation codes.
Split 10 — Air path
- Severe intake restriction (blocked filter, stuck throttle) — enough to prevent start
- Exhaust restriction — blocked cat/DPF can prevent start
Using the framework
Each split is a test that changes probability. Do not jump to a system without evidence. The most common no-start mistakes — replacing the fuel pump without checking the crank signal, or replacing coils without checking the immobiliser — come from skipping splits.
Links
- P0335 / P0340 — crank/cam signal faults
- P0087 / P0191 — rail pressure faults
- Fuel Rail Pressure — requested vs actual
- Battery Voltage — cranking voltage
- Crank/Cam Correlation — mechanical timing
- ISTA / BMW hub — CAS/immobiliser path
Common mistakes
- Replacing the fuel pump without checking the crank signal
- Replacing coils without checking the immobiliser
- Not reading all modules (immobiliser codes live outside the ECM)
- Condemning the HPFP without confirming LP supply
- Cranking repeatedly on an interference engine with correlation codes
- Not checking battery/terminals first on a slow crank
Related DTCs
Related MechanIQ guides
Diagnosing this symptom on a real vehicle?
Start a MechanIQ diagnosis — import your scan data and let the evidence engine find the next best test.