Symptom hub
Hard Start: Common OBD-II Causes and Relevant Codes
Hard start means the engine eventually fires, but only after extra cranking, repeated attempts, or rough catch-and-clear behavior. If it cranks normally and never fires at all, move over to the no-start-but-cranks hub because the diagnostic order becomes stricter there.
Likely related codes
Start your diagnostic path here
P0171 — System Too Lean (Bank 1) P0456 — EVAP System Leak Detected (Very Small Leak) P0100 — Mass or Volume Air Flow Circuit Malfunction P0102 — Mass or Volume Air Flow Circuit Low Input P0104 — Mass or Volume Air Flow Circuit Intermittent P00BC — Mass or Volume Air Flow A Circuit Range/Performance - Air Flow Too Low P0110 — Intake Air Temperature Sensor 1 Circuit Malfunction P0113 — Intake Air Temperature Sensor 1 Circuit High Input P0114 — Intake Air Temperature Sensor 1 Circuit Intermittent P0115 — Engine Coolant Temperature Circuit Malfunction P0117 — Engine Coolant Temperature Circuit Low Input P0118 — Engine Coolant Temperature Circuit High Input P0119 — Engine Coolant Temperature Circuit Intermittent P0016 — Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A) P0335 — Crankshaft Position Sensor A Circuit P0340 — Camshaft Position Sensor Circuit P0336 — Crankshaft Position Sensor A Circuit Range/Performance P0337 — Crankshaft Position Sensor A Circuit Low Input P0338 — Crankshaft Position Sensor A Circuit High Input P0339 — Crankshaft Position Sensor A Circuit Intermittent P0341 — Camshaft Position Sensor Circuit Range/Performance P0342 — Camshaft Position Sensor Circuit Low Input P0343 — Camshaft Position Sensor Circuit High Input P0344 — Camshaft Position Sensor Circuit Intermittent P0345 — Camshaft Position Sensor A Circuit (Bank 2) P0346 — Camshaft Position Sensor A Circuit Range/Performance (Bank 2) P0347 — Camshaft Position Sensor A Circuit Low Input (Bank 2) P0348 — Camshaft Position Sensor A Circuit High Input (Bank 2) P0349 — Camshaft Position Sensor A Circuit Intermittent (Bank 2) P0130 — O2 Sensor Circuit (Bank 1 Sensor 1) P0155 — O2 Sensor Heater Circuit Malfunction (Bank 2 Sensor 1) P0441 — Evaporative Emission Control System Incorrect Purge Flow P0496 — Evaporative Emission System High Purge Flow P0451 — Evaporative Emission Control System Pressure Sensor Range/Performance P0170 — Fuel Trim Malfunction (Bank 1) P2187 — System Too Lean at Idle (Bank 1) P2189 — System Too Lean at Idle (Bank 2) P0015 — B Camshaft Position Timing Over-Retarded (Bank 1) P0018 — Crankshaft Position - Camshaft Position Correlation (Bank 2 Sensor A) P0019 — Crankshaft Position - Camshaft Position Correlation (Bank 2 Sensor B) P0025 — B Camshaft Position Timing Over-Retarded (Bank 2) P0350 — Ignition Coil Primary/Secondary Circuit P0355 — Ignition Coil E Primary/Secondary Circuit P0356 — Ignition Coil F Primary/Secondary Circuit P0200 — Injector Circuit Malfunction P0201 — Injector Circuit/Open - Cylinder 1 P0202 — Injector Circuit/Open - Cylinder 2 P0204 — Injector Circuit/Open - Cylinder 4 P0205 — Injector Circuit/Open - Cylinder 5 P0206 — Injector Circuit/Open - Cylinder 6 P0180 — Fuel Temperature Sensor A Circuit P0181 — Fuel Temperature Sensor A Circuit Range/Performance P0182 — Fuel Temperature Sensor A Circuit Low Input P0183 — Fuel Temperature Sensor A Circuit High Input P0184 — Fuel Temperature Sensor A Circuit Intermittent P0190 — Fuel Rail Pressure Sensor Circuit P0191 — Fuel Rail Pressure Sensor Range/Performance P0192 — Fuel Rail Pressure Sensor Circuit Low Input P0193 — Fuel Rail Pressure Sensor Circuit High Input P0194 — Fuel Rail Pressure Sensor Circuit Intermittent P2290 — Fuel Pressure Regulator 2 Control Circuit P2291 — Injector Control Pressure Too Low - Engine Cranking P2293 — Fuel Pressure Regulator 2 Performance P2294 — Fuel Pressure Regulator 2 Control Circuit/Open P2295 — Fuel Pressure Regulator 2 Control Circuit Low P2296 — Fuel Pressure Regulator 2 Control Circuit High P0521 — Engine Oil Pressure Sensor/Switch Range/Performance P0524 — Engine Oil Pressure Too Low P0230 — Fuel Pump Primary Circuit P0231 — Fuel Pump Secondary Circuit Low P023F — Fuel Pump Secondary Circuit/Open P0627 — Fuel Pump A Control Circuit/Open P0628 — Fuel Pump A Control Circuit Low P0641 — Sensor Reference Voltage A Circuit/Open P0651 — Sensor Reference Voltage B Circuit/Open P0652 — Sensor Reference Voltage B Circuit Low P0653 — Sensor Reference Voltage B Circuit High P0697 — Sensor Reference Voltage C Circuit/Open P0698 — Sensor Reference Voltage C Circuit Low P0699 — Sensor Reference Voltage C Circuit High P0380 — Glow Plug/Heater Circuit A Malfunction P0670 — Glow Plug Control Module Control Circuit P0671 — Cylinder 1 Glow Plug Circuit/Open P0672 — Cylinder 2 Glow Plug Circuit/Open P0673 — Cylinder 3 Glow Plug Circuit/Open P0674 — Cylinder 4 Glow Plug Circuit/Open P0675 — Cylinder 5 Glow Plug Circuit/Open P0676 — Cylinder 6 Glow Plug Circuit/Open P0685 — ECM/PCM Power Relay Control Circuit/Open P0686 — ECM/PCM Power Relay Control Circuit Low P0688 — ECM/PCM Power Relay Sense Circuit/Open P0689 — ECM/PCM Power Relay Sense Circuit Low P0690 — ECM/PCM Power Relay Sense Circuit High P068A — ECM/PCM Power Relay De-Energized Performance Too Early P2505 — ECM/PCM Power Input Signal P2506 — ECM/PCM Power Input Signal Range/Performance P2507 — ECM/PCM Power Input Signal Low P2509 — ECM/PCM Power Input Signal Intermittent P2510 — ECM/PCM Power Relay Sense Circuit Range/Performance U0073 — Control Module Communication Bus Off U0100 — Lost Communication With ECM/PCM “A” U0106 — Lost Communication With Glow Plug Control Module U0140 — Lost Communication With Body Control Module P0615 — Starter Relay Circuit P0616 — Starter Relay Circuit Low P0617 — Starter Relay Circuit High P0512 — Starter Request Circuit P2534 — Ignition Switch Run/Start Position Circuit Low P2535 — Ignition Switch Run/Start Position Circuit High P2536 — Ignition Switch Accessory Position Circuit Low P2537 — Ignition Switch Accessory Position Circuit High P0600 — Serial Communication Link Malfunction P0601 — Internal Control Module Memory Check Sum Error P0606 — PCM/ECM Processor Fault P0513 — Incorrect Immobilizer Key P0605 — Internal Control Module ROM Error P0607 — Control Module Performance P0603 — Internal Control Module Keep Alive Memory Error P0633 — Immobilizer Key Not Programmed - ECM/PCM P0316 — Engine Misfire Detected on Startup (First 1000 Revolutions) P060A — Internal Control Module Monitoring Processor Performance P061B — Internal Control Module Torque Calculation Performance P1682 — Ignition 1 Switch Circuit 2