Complete DTC Guide for City, Civic, CR-V, Amaze and More
Understanding Honda error codes is essential for accurately diagnosing faults on City, Amaze, Jazz, CR-V and all other Honda models.
Honda’s i-VTEC engines are some of the most satisfying platforms to diagnose. The engineering is precise, the fault patterns are predictable once you know them, and the factory live data parameters — especially on VTEC solenoid pressure and cam timing — are genuinely useful for making accurate calls without guesswork.
The challenge is that Honda’s specific codes — particularly the P2646 VTEC oil pressure family — trip up mechanics who aren’t familiar with the platform. I’ve seen VTEC-related codes lead to injector replacement, coil replacement, even ECU replacement. The fix was often a sensor screen the size of a fingernail.
This guide covers Honda’s petrol lineup (City, Civic, Amaze, CR-V, Jazz, WR-V) and the Earth Dreams diesel. For the UK market, the Civic and CR-V diesel are included. For the US, Civic, Accord, and CR-V gasoline platforms.
Honda Engine Families
- L12B / L13Z / L15B7 (Jazz, City, Amaze petrol): 1.2–1.5 NA and turbo
- 1.5T VTEC Turbo (Civic, CR-V, Accord — US/UK/India): Turbocharged direct injection, newest platform
- K20 / K24 (older Civic, Accord, CR-V): The classic i-VTEC platform
- R18Z / R20Z (Civic older): 1.8–2.0 NA petrol
- N16 / N22 Earth Dreams diesel (Civic diesel, CR-V diesel — India and UK): 1.6–2.2 CRDi
- Hybrid System (CR-Z, Insight, Accord Hybrid): Two-motor Honda Hybrid
ECU: Honda uses Keihin (now merged with Hitachi Astemo) and Bosch for its engine management. The Keihin ECU has Honda-specific diagnostic protocols (Honda DLC format) that not all generic scanners handle fully.
Complete Honda DTC Code List
Core Petrol Engine Codes
| Code | Description | Honda Platform Notes |
|---|---|---|
| P0101 | MAF Range/Performance | MAF sensor — City 1.5 and CR-V turbo |
| P0107 | MAP Sensor Low | MAP sensor or intake |
| P0115 | ECT Sensor Circuit | Coolant temp sensor |
| P0117 | ECT Sensor Low | Short in sensor circuit |
| P0118 | ECT Sensor High | Open circuit |
| P0122 | TPS Circuit Low | Throttle body — check connector |
| P0123 | TPS Circuit High | TPS wiring |
| P0128 | Coolant Below Thermostat Temp | Thermostat stuck open |
| P0130 | O2 Sensor Circuit B1S1 | Upstream lambda |
| P0133 | O2 Sensor Slow Response | Ageing upstream O2 — City, Civic |
| P0135 | O2 Sensor Heater Circuit B1S1 | Heater element in upstream O2 sensor |
| P0136 | O2 Sensor Circuit B1S2 | Downstream O2 |
| P0141 | O2 Sensor Heater Circuit B1S2 | Downstream O2 heater |
| P0171 | System Too Lean Bank 1 | Vacuum leak, MAF, PCV |
| P0172 | System Too Rich Bank 1 | Stuck injector, O2 sensor |
| P0234 | Turbocharger Overboost | Boost control solenoid on 1.5T |
| P0279 | Turbocharger Underboost | Boost leak — intercooler hoses on CR-V 1.5T |
| P0300 | Random Misfire | Plugs, coils, injectors |
| P0301–P0304 | Misfire Cylinder 1–4 | Individual cylinder |
| P0335 | CKP Sensor Circuit | CKP sensor |
| P0340 | CMP Sensor Circuit | CMP sensor — common on older Civic 1.8 |
| P0341 | CMP Sensor Range/Performance | Timing chain stretch on 1.5T Civic |
| P0351–P0354 | Ignition Coil A–D | Coil failure |
| P0401 | EGR Flow Insufficient | EGR — diesel and some petrol |
| P0420 | Catalyst Efficiency Low | O2 sensor ageing or cat failure |
| P0441 | EVAP Purge Performance | Purge solenoid valve |
| P0455 | EVAP Large Leak | Fuel cap first |
| P0456 | EVAP Small Leak | Cap seal or hose |
| P0505 | Idle Control System | IAC or throttle body |
| P0560 | System Voltage | Battery/alternator |
| P0562 | System Voltage Low | Common after parasitic drain |
VTEC System Codes — The Honda Specifics
| Code | Description | Diagnostic Notes |
|---|---|---|
| P2646 | VTEC Oil Pressure Switch/Sensor Circuit | Oil level, oil condition, OPS screen |
| P2647 | VTEC Oil Pressure Stuck On | VTEC solenoid stuck energised |
| P2648 | VTEC Oil Pressure Stuck Off | VTEC solenoid or oil pressure |
| P2649 | VTEC Oil Pressure Low | Oil pressure inadequate for VTEC engagement |
Honda Manufacturer-Specific Codes (P1xxx)
| Code | Description | Notes |
|---|---|---|
| P1078 | Valve Timing Solenoid A | i-VTEC cam advance solenoid |
| P1086 | Variable Timing Control | VTC system malfunction |
| P1088 | VTC Actuator Control | VTC actuator or oil |
| P1128 | Heated O2 Sensor Response | Upstream lambda response time |
| P1163 | HO2S Response B1S1 | O2 response — Honda-specific threshold |
| P1243 | Alternator Control System | Honda IMA / charging |
| P1297 | ELD (Electrical Load Detector) | Honda’s load detector circuit |
| P1298 | ELD Circuit High | ELD sensor or wiring |
| P1316 | Spark Plug Detection Module | Misfire detection system |
| P1399 | Random Misfire Detected | Honda-specific misfire |
| P1457 | EVAP Canister System Leak | EVAP downstream of canister |
| P1529 | Immobiliser Circuit | Immobiliser comm fault |
Honda Earth Dreams Diesel Codes (N16 / N22)
| Code | Description | Notes |
|---|---|---|
| P0087 | Fuel Rail Pressure Low | Fuel filter, lift pump |
| P0089 | Fuel Pressure Regulator | Rail pressure control valve |
| P0380 | Glow Plug Circuit | Glow plugs |
| P0400 | EGR System | EGR valve function |
| P0401 | EGR Flow Insufficient | EGR carbon — CR-V and Civic diesel |
| P0402 | EGR Flow Excessive | EGR valve stuck open |
| P0404 | EGR Circuit Range | EGR actuator position |
| P2002 | DPF Efficiency | DPF soot load (Euro 5/6) |
| P2033 | EGT Sensor 2 Circuit | Post-DPF temperature sensor |
| P20EE | SCR NOx Efficiency | Euro 6 models — AdBlue |
| P2BAD | Reductant Level Low | DEF/AdBlue |
Network / Communication Codes
| Code | Description | Notes |
|---|---|---|
| U0073 | Control Module Bus Off | CAN bus fault |
| U0100 | Lost Comm with ECM | CAN bus — check harness |
| U0121 | Lost Comm with ABS | ABS module |
| U0131 | Lost Comm with EPS | Electric power steering |
| U0140 | Lost Comm with Body Control | BCM |
The P2646 Story — Honda’s Most Misdiagnosed Code
P2646 is Honda’s VTEC oil pressure switch circuit code. On the i-VTEC engine, VTEC engagement is monitored by an oil pressure switch that confirms hydraulic pressure has reached the rocker arm assembly. When the switch doesn’t confirm VTEC engagement within the expected window, P2646 is logged.
Here’s the diagnosis sequence — and the reason most workshops get this wrong:
Step 1: Check oil level. Sounds obvious. But I’ve seen P2646 on a City with 1.2 litres below the minimum mark. Owner “checks oil” by looking at the colour on the dipstick, not the level. Oil level directly affects VTEC hydraulic pressure.
Step 2: Check oil condition. If the oil is dark, thin, and past its service life, it won’t build adequate pressure. The VTEC system needs oil viscosity within spec — Honda specifies 0W-20 or 5W-30 depending on model. Using cheap 20W-50 in an i-VTEC engine is one of the fastest ways to generate P2646.
Step 3: Check the VTEC OPS (Oil Pressure Switch) screen. The OPS has a small mesh screen that catches debris. On high-mileage engines, this screen clogs with sludge. Remove the OPS (it’s typically on the head near the rocker arm assembly), clean or replace the screen, reinstall. This is a sub-₹100 repair that resolves P2646 on a very high percentage of City and Civic complaints.
Step 4: Check OPS wiring and resistance. The OPS itself can fail — test resistance and confirm it switches correctly when oil pressure is applied.
Step 5: VTEC solenoid. Only after all of the above. The solenoid that controls oil flow to the VTEC phasers can fail or stick. Test solenoid activation with a scanner’s actuator test function.
Step 6: Oil pump. If all of the above are fine and oil pressure is genuinely low, the oil pump may be worn. Confirm with a mechanical oil pressure gauge — not just the dash warning.
In my workshop, over 80% of P2646 on Honda City and Civic resolves at step 2 or step 3. The screen costs nothing. An oil change costs ₹1,200. Neither requires a diagnostic code to start with — just a habit of proper maintenance.
1.5T VTEC Turbo — The Newer Platform Issues
Honda’s 1.5T turbo engine in the Civic (FC/FK generation, 2016–2022) introduced a new set of fault patterns compared to the older NA i-VTEC:
P0341 (CMP Sensor Range/Performance) and timing chain: The 1.5T Civic has documented timing chain stretch on higher mileage examples, particularly when oil changes were deferred. P0341 in conjunction with P0016 (cam/crank correlation) on a 1.5T Civic warrants immediate investigation — stretched chain can cause cam timing errors and in extreme cases jump teeth.
P2279 (Intake Air System Leak): The 1.5T’s intercooler and associated hoses develop micro-leaks as the rubber hardens with heat cycling. P0171 (lean) and P2279 together on the 1.5T almost always mean a boost path leak. Check the intercooler outlet hose connection at the throttle body — this is a known weak point on early CR-V and Civic 1.5T.
Oil dilution in cold climates: In cold regions (UK winter, northern India in January), the 1.5T is known to experience fuel dilution of the engine oil — fuel washing past the cylinder walls into the crankcase during frequent cold starts and short trips. This shows as oil level rising slightly and a petrol smell from the dipstick. It doesn’t generate a specific DTC but can cause P2646 (oil pressure) if the diluted oil reduces viscosity significantly. Honda issued a software update for some markets to adjust fuelling strategy in cold conditions.
Earth Dreams Diesel — UK and India
Honda’s 1.6 N16 and 2.2 N22 diesel engines (CR-V and Civic diesel, sold in India and UK) are robust but have specific requirements:
EGR system: The N16 and N22 develop significant EGR deposits in city use. P0401 is common from 80,000 km onwards. EGR cleaning or blanking (on pre-Euro 6 variants) is the fix.
DPF on Euro 5/6 variants (UK): The UK-market CR-V diesel has a DPF. P2002 (DPF efficiency) appears after passive regeneration fails — typically from too many short trips. A forced regeneration via scanner or a long motorway run resolves it.
Fuel filter intervals: Honda recommends 30,000 km for the diesel fuel filter. P0087 (low rail pressure) on a neglected diesel filter interval is the most preventable fault on this platform.
Workshop Story: The Jazz That Lost Its Idle
A 2017 Honda Jazz 1.2 came in with P0505 — idle control system malfunction. Owner reported rough idle at traffic lights, occasional stalling. Two workshops had cleared the code without fixing anything.
I put it on my Foxwell NT301 and ran idle live data. IACV (Idle Air Control Valve) opening percentage was 82% at idle — extremely high. The ECU was demanding maximum idle air and still struggling to maintain 700 RPM.
This told me: the throttle body was badly restricted. Not an IAC fault — a throttle body carbon issue. Removed the throttle body — the butterfly was almost half-blocked with hardened carbon. Jazz owners in heavy city traffic accumulate this quickly because the car rarely reaches operating temperature long enough for the fuel to clean the butterfly naturally.
Cleaned the throttle body, performed a throttle position relearn procedure (essential on electronic throttle Hondas after TB removal), road tested. Idle smooth at 750 RPM, IACV at 28%.
P0505 resolved with a throttle body clean and a ₹0 relearn. No parts replaced.
FAQ
My Honda City shows P2646 — my mechanic says it’s the ECU. Is he right?
Almost certainly not. P2646 almost never requires ECU replacement. Follow the diagnosis sequence: oil level, oil condition, OPS screen, OPS wiring, solenoid. ECU failure causing P2646 in isolation is extremely rare. If a workshop is recommending ECU replacement for P2646 alone, get a second opinion.
P0341 on my Civic 1.5T — is the timing chain stretched?
P0341 in isolation can be a failing CMP sensor. But check the sensor’s live signal on a scope or scanner with waveform capability. If the signal pattern is erratic rather than absent, the sensor is fine and the chain position is genuinely variable — which points to chain stretch. Get a cam timing inspection before ruling it out.
My CR-V 1.5T shows P0171 lean — where do I start?
On the 1.5T CR-V, start with boost path inspection: intercooler outlet hose, throttle body connections, any turbo outlet pipe clamps. Unmetered air entering after the MAF causes lean codes. The 1.5T is particularly prone to intercooler hose loosening from heat cycling. MAF is less likely to be the cause here.
My Honda Civic diesel (UK) throws P2002 DPF fault — do I need a new DPF?
Not immediately. P2002 means the DPF’s efficiency monitoring has flagged a fault — but this could be a clogged DPF needing regeneration, or a DPF differential pressure sensor fault. A forced regeneration cycle via a scanner like the Autel MaxiCOM MK808 is the first step. If the DPF cannot be regenerated, physical cleaning is the next step. Full replacement is a last resort.
After replacing my Honda’s battery, the idle is rough and P1297 appeared — what is it?
P1297 is Honda’s ELD (Electrical Load Detector) code. The ELD monitors electrical load and adjusts idle speed to compensate for alternator demand. After battery replacement, the ELD sometimes needs a recalibration — this involves a specific idle relearn procedure (engine at operating temp, no electrical loads, specific idle duration). A Honda-compatible scanner can run this procedure.
The Verdict
Honda’s fault code landscape is manageable and often cheaper to fix than the code number implies. The P2646 VTEC code is a perfect example — it sounds complex and triggers expensive misdiagnoses, but the fix is usually a screen clean and an oil change.
The 1.5T turbo platform adds complexity with timing chain awareness and boost path integrity. The diesel platforms are straightforward if serviced correctly.
Know the platform. Clean before replacing. And never let a workshop replace an ECU for a P2646 on an i-VTEC without exhausting every other option first.
Babuu has been working in automotive electronics since 2002 and opened HT ECM Solutions in Bachupally, Hyderabad in 2017 — a professional ECU repair and vehicle diagnostics workshop.
Related reads:
- Maruti Suzuki Error Codes — Complete DTC Guide
- Toyota Error Codes — Platform-Specific DTC Guide
- Car Error Codes by Brand — All Makes Compared
- Best OBD2 Scanners for Indian Cars
- How to Read Live Data on Your OBD2 Scanner
The Launch CRP129E is the tool we recommend for reading and clearing these Honda fault codes. It supports all standard OBD2 protocols used by Honda vehicles and provides full system diagnostics.