Car won't start: how OBD-II tells an immobilizer fault from fuel/electrical
Step-by-step algorithm for "no-start": how OBD-II tells in 5 minutes whether the issue is the immobilizer (P1602, B10CC), fuel pump, starter, battery or ECU.
“Cranks but won’t fire” — one of the scariest symptoms for a driver. Causes range from “battery flat” to “immobilizer chip fried”. OBD-II can eliminate half the hypotheses in 5 minutes. Below: algorithm from simple to complex.
Step 0. Battery (not OBD)
Before OBD-II, make sure:
- Starter cranks strong? If “clicking” — low battery voltage
- All warning lights bright during crank? If dim — battery
OK, not our topic — move on to OBD.
Step 1. Does the ECU talk
Plug the ELM327 into the OBD port, turn ignition ON (don’t crank). Via Car Diagnostics run a quick scan:
- Got ECU ping? → ECU alive, wiring intact
- No response → either ECU is dead (rare), or the OBD connector has no power (more often — cabin BCM fuse)
Step 2. Read DTCs
Active codes almost hand you the answer:
Immobilizer / key
- P1602, P1603, P1604 — “Immobilizer communication error” — ECU can’t read the key via receiver
- B10CC, B10D0 — “Transponder issue” — key chip itself is dead
- U0300, U0100 — Lost communication with BCM / IMMO module
Symptoms plus these codes:
- Key indicator flashes on start attempt
- Engine starts for 1 second then dies
Fix: key battery (CR2032 — $2), key learn ($30-80 at a shop), immobilizer antenna ($50-150).
Fuel system
- P0087 — Fuel pressure below spec (pump dying)
- P0088 — Fuel pressure above spec (regulator)
- P0230-P0233 — Fuel pump relay
- P0201-P0206 — Injectors
Symptoms plus these codes:
- Cranks but never catches — pump
- Starts and dies in 2-3 sec — pump can’t hold pressure
Fix: pump relay ($10-30), pump itself ($100-400), injector ($60-200).
Position sensors (crank / cam)
- P0335, P0336 — Crankshaft position sensor (without signal ECU can’t start at all)
- P0340, P0341 — Camshaft position sensor
- P0016, P0017 — see timing chain post — stretched chain
Symptoms plus these codes:
- Starter cranks long, sometimes catches, sometimes not
- Engine dies while driving, won’t start until cooled
Fix: crank sensor ($30-100), cam sensor ($30-100), timing chain ($500-1500).
Ignition (petrol)
- P0350-P0358 — Ignition coil misses
- P2300-P2312 — High-voltage coil problems
Symptoms:
- Petrol smell on start attempt (fouls plugs)
- Engine dies when trying to move off
Fix: plugs ($30-80), coils ($60-150 each).
ECU / software
- P0605 — Internal ECU error (program corrupted)
- P0630 — VIN not programmed (after ECU replacement)
- P0603 — ECU memory loss (battery went flat)
Fix: ECU reflash at a specialist shop ($100-500).
Step 3. Read Live parameters during crank
If DTCs said nothing — enable Live Monitor and crank the starter. Watch:
- RPM during crank — if 0, crank sensor dead; if 200-300 and doesn’t rise — sensor OK, problem is further downstream
- Voltage (0x42) — should hold >10.5V. Drop to 8V → battery collapses under load
- Fuel pressure (if available) — should be ≥ 45 psi for petrol, ≥ 4400 psi for common-rail diesel
- Coolant temp — should show a sensible temperature
Step 4. Cross-check with symptoms
| Starter | Fuel prime | Symptom | Hypothesis |
|---|---|---|---|
| Cranks | Yes | Won’t start | Immobilizer, ECU, sensors |
| Cranks | No | Won’t start | Pump, relay |
| Clicks | — | — | Battery, starter |
| No crank | — | — | Battery, ignition switch |
Quick checks
- Ignition ON, listen 2-3 sec — you should hear the fuel-pump prime buzz
- Smells like petrol — plugs flooded, crank starter with throttle floored (open-loop mode — should burn off)
- Key removes easily — immobilizer accepted. Won’t remove = ignition switch stuck
Our Chat Agent answers “won’t start” as a dialog — asks clarifying questions and narrows the cause from DTCs + symptoms.
Try it on the free tier — pair an ELM327 adapter, at first start attempt Car Diagnostics reads all codes and shows hypotheses.