Maruti Suzuki Error Codes

Complete DTC Guide for Swift, Dzire, Baleno, Ertiga and More

If you own a Maruti in India, there’s a good chance your OBD2 scanner has thrown a code at you at some point. Maruti accounts for nearly 40% of cars on Indian roads, and their ECUs — mostly Denso and Bosch units depending on the model and year — are reliable but have well-known failure patterns.

This guide covers every significant DTC code across the Maruti lineup: the K10, K12, K15 petrol engines, the DDiS diesel variants, the S-CNG models, and the newer K15B used in Brezza and Ertiga. I’ll tell you what the code actually means on a Maruti platform, what causes it, and what not to replace before you’ve done proper diagnosis.


The Maruti ECU Landscape

Maruti uses different ECU suppliers across its range, and this matters when you’re diagnosing:

  • K10B / K10C engines (Alto, WagonR older): Denso ECU, relatively simple architecture
  • K12B / K12M engines (Swift, Dzire, Baleno, Ignis): Bosch ME17 series — the most common platform I work on
  • K15B engine (Brezza, Ertiga, XL6): Bosch ME17.9.52 — more sensors, tighter calibration
  • DDiS 200 / 225 diesel (Ciaz, Ertiga diesel): Fiat-sourced Multijet engine with Bosch EDC17 ECU
  • S-CNG variants: Dual ECU setup — one for petrol base, one for CNG addition. The CNG ECU is Keihin or Minda depending on model year

Generic OBD2 scanners read the main engine ECU. CNG faults often sit in the secondary CNG ECU and won’t appear unless your scanner has Maruti-specific protocol support.


Complete Maruti Suzuki DTC Code List

Engine / Powertrain Codes (P-Codes)

Code Description Most Likely Cause on Maruti
P0100 MAF Sensor Circuit Malfunction Dirty or failed MAF — common after 50,000 km
P0107 MAP Sensor Low Input Cracked intake hose, failed MAP sensor
P0108 MAP Sensor High Input Short in MAP circuit, failed sensor
P0110 IAT Sensor Circuit Malfunction Intake Air Temp sensor failure
P0115 ECT Sensor Circuit Malfunction Coolant temp sensor — check connector first
P0117 ECT Sensor Low Short to ground in coolant sensor circuit
P0118 ECT Sensor High Open circuit in coolant sensor wiring
P0120 Throttle Position Sensor Circuit TPS worn or misaligned — common on K12B
P0130 O2 Sensor Circuit (Bank 1 Sensor 1) Upstream O2 sensor failure
P0133 O2 Sensor Slow Response Ageing O2 sensor — typically after 80,000 km
P0136 O2 Sensor Circuit (Bank 1 Sensor 2) Downstream O2 sensor
P0171 System Too Lean Bank 1 MAF dirty, vacuum leak, weak fuel pump
P0172 System Too Rich Bank 1 Stuck injector, failed O2 sensor
P0201 Injector Circuit Open Cylinder 1 Injector wiring or failed injector
P0202 Injector Circuit Open Cylinder 2 Same as above, cylinder 2
P0203 Injector Circuit Open Cylinder 3 Same, cylinder 3
P0300 Random Misfire Spark plugs, coils, injectors — check all
P0301 Misfire Cylinder 1 Coil or plug on cylinder 1
P0302 Misfire Cylinder 2 Coil or plug on cylinder 2
P0303 Misfire Cylinder 3 Coil or plug on cylinder 3
P0304 Misfire Cylinder 4 Coil or plug on cylinder 4
P0335 Crankshaft Position Sensor CKP sensor or tone ring damage
P0340 Camshaft Position Sensor Circuit CMP sensor — common on K12B after 60,000 km
P0351 Ignition Coil A Primary Circuit Coil pack failure
P0352 Ignition Coil B Primary Circuit Coil B failure
P0353 Ignition Coil C Primary Circuit Coil C failure
P0354 Ignition Coil D Primary Circuit Coil D failure
P0401 EGR Flow Insufficient EGR valve carbon buildup (DDiS diesel)
P0404 EGR Circuit Range/Performance EGR actuator sticking
P0420 Catalyst Efficiency Below Threshold Catalytic converter degrading, or O2 sensor
P0441 EVAP Emission Control Purge Purge valve failure
P0455 EVAP System Large Leak Fuel cap loose or purge valve stuck open
P0456 EVAP System Small Leak Cap seal, hose crack
P0480 Cooling Fan Control Circuit Fan relay or motor
P0500 Vehicle Speed Sensor Circuit VSS failure or ABS ring damage
P0505 Idle Control System Malfunction IACV carbon buildup
P0506 Idle Control System RPM Low IACV dirty, vacuum leak
P0507 Idle Control System RPM High IACV stuck open
P0560 System Voltage Malfunction Battery or alternator fault
P0601 Internal Control Module Memory ECU internal fault — check supply voltage first
P0604 Internal Control Module RAM Error ECU fault — often caused by weak battery
P0700 Transmission Control System AMT/automatic gearbox fault

Body / Chassis / Network Codes

Code Description Common Cause
C0035 Left Front Wheel Speed Sensor ABS sensor — common on Swift/Dzire on rough roads
C0040 Right Front Wheel Speed Sensor Same — check sensor and tone ring
C0045 Left Rear Wheel Speed Sensor Rear ABS sensor
C0050 Right Rear Wheel Speed Sensor Rear ABS sensor
B1000 ECU Malfunction Body ECU — check battery voltage
U0100 Lost Communication with ECM CAN bus fault — check wiring harness
U0121 Lost Communication with ABS CAN bus or ABS module
U0140 Lost Communication with Body Control BCM fault

Maruti S-CNG Specific Codes (P1xxx Range)

Code Description Common Cause
P1300 CNG System Malfunction CNG ECU fault — check CNG ECU power supply
P1320 CNG Pressure Sensor CNG rail pressure sensor failure
P1330 CNG Temperature Sensor CNG temp sensor or wiring
P1340 CNG Injector Circuit CNG injector wiring — check connector
P1350 Changeover Valve Malfunction CNG/petrol switch valve stuck
P1360 CNG ECU Communication Communication loss between main ECU and CNG ECU

These CNG codes will not appear on a basic OBD2 scanner. You need a scanner with Maruti/Suzuki manufacturer-specific protocol to read the CNG ECU. If a CNG Maruti has a running problem and your scanner shows nothing, this is why.


The Codes I See Most in My Workshop

P0171 — System Too Lean on K12B

This is the single most common code I see on Maruti Swift, Dzire, and Baleno. The ECU sees a lean mixture and flags it. Before you replace anything:

  1. Check MAF sensor — spray MAF cleaner, let it dry, recheck
  2. Inspect the intake hose between airbox and throttle body — hairline cracks near the clamps are invisible to the eye but significant under vacuum
  3. Check the PCV hose — the K12B’s crankcase breather hose cracks near the valve cover fitting
  4. Check fuel pressure at idle — a weak fuel pump on a high-mileage Swift will cause lean conditions

In my experience, 70% of P0171 on K12B resolves with a MAF clean and intake hose replacement. The hose costs ₹400. Don’t buy a MAF sensor before you’ve eliminated the hose.

P0300 / P0301-P0304 — Misfires

On K12B and K15B engines, misfires after 40,000–50,000 km are almost always spark plugs. Maruti recommends 30,000 km intervals for standard plugs, but Indian traffic conditions and CNG use accelerate wear. On CNG models, plugs wear faster — every 20,000 km is more realistic.

If plug replacement doesn’t fix a persistent misfire on a specific cylinder, do a compression test before spending on coils or injectors.

P0505 / P0506 — IACV Issues

Carbon buildup on the Idle Air Control Valve is standard on older K-series engines. Remove the IACV, clean the butterfly and seat with carb cleaner and a cotton swab, reinstall. Takes 20 minutes. I’ve seen workshops quote ECU replacement for this code. It’s almost never the ECU.

P0420 — Catalyst Efficiency

On Maruti, this code arrives in two scenarios. One: the catalytic converter is genuinely degrading (common after 100,000 km on vehicles that have used substandard fuel). Two: the downstream O2 sensor has aged and is mimicking catalyst failure. Swap the downstream O2 sensor first — it’s ₹800–1,200 — before condemning a ₹6,000–12,000 catalytic converter.


A Workshop Story: The CNG Swift That Stumped Three Mechanics

A 2019 WagonR S-CNG came in from a fleet operator. Running rough on CNG, smooth on petrol. Three workshops before mine had cleaned injectors, replaced plugs, replaced the upstream O2 sensor. Total spend: about ₹9,000. Problem unchanged.

I put it on my Autel MaxiCheck MX808 and switched to Suzuki manufacturer-specific protocol. Pulled a P1360 — CNG ECU communication fault. The CNG ECU wasn’t talking to the main ECU cleanly. Traced it to a corroded connector on the CNG ECU harness behind the dashboard. Cleaned and sealed the connector.

Total time: 45 minutes. Parts: ₹0. Three previous workshops with generic scanners never saw the fault because they couldn’t read the CNG ECU.

Tool matters. Protocol matters.


DDiS Diesel Codes — What’s Different

The Maruti DDiS 200 and 225 are Fiat Multijet engines (1.3L) sourced from Stellantis. The ECU is Bosch EDC17, not the Denso/Bosch ME series used on petrol engines.

Key diesel-specific codes to know:

Code Description Notes
P0087 Fuel Rail Pressure Low Check fuel filter — diesel filters need 15,000 km changes
P0089 Fuel Pressure Regulator Pressure regulator on high-pressure pump
P0191 Fuel Rail Pressure Sensor Range Sensor or actual pressure issue
P0380 Glow Plug Circuit Glow plugs — hard starting in cold weather
P0401 EGR Flow Insufficient EGR valve carbon — very common post-80,000 km
P0670 Glow Plug Control Module GPCM fault — check module fuses first
P2563 Turbocharger Boost Control Position VGT actuator — common on high-mileage DDiS

The DDiS 1.3 is a tough engine but the EGR system clogs up badly in stop-and-go city traffic. A lot of fleet Ertiga and Ciaz owners deal with P0401 repeatedly. The real fix is EGR delete/blank on older pre-BS6 vehicles. On BS6 variants, you’re stuck cleaning it every 30,000–40,000 km.


How to Scan a Maruti Properly

A basic ELM327 Bluetooth dongle will read generic codes on a Maruti. For CNG-specific codes and deeper coverage of body systems, you need:

  • A scanner with Suzuki manufacturer protocol — the Foxwell NT301 covers generic codes well for under ₹3,000, while the Autel MaxiCheck MX808 gives you full Suzuki manufacturer depth including CNG ECU access
  • For DDiS diesel, FIAT/MultiJet protocol gives you access to injection timing, rail pressure live data, and glow plug individual resistance

After scanning, always pull live data alongside the code. On a lean condition code (P0171), watch MAF g/s at idle and at 2000 RPM. On a misfire, watch individual cylinder contribution and injection pulse width. The code points you to the system; live data tells you what’s actually happening.


FAQ

My Maruti’s engine light came on but the car drives fine — should I worry?
Pull the code first. If it’s an EVAP code (P0455, P0456) or an O2 sensor heater code, it’s not an emergency but shouldn’t be ignored. If it’s a misfire or lean condition code, address it promptly — running lean damages catalytic converters and can affect engine longevity.

Can I clear the code myself after fixing the issue?
Yes. Any OBD2 scanner can clear codes. After clearing, drive for one complete trip cycle — cold start, highway run, idle — and rescan to confirm the code doesn’t return.

My Maruti AMT throws P0700 — is the gearbox dead?
P0700 is a gateway code — it means the transmission control module has flagged a fault. You need to read the TCM-specific subcodes to know what’s actually wrong. Could be a shift solenoid, a position sensor, or a software update issue on early AMT units. Don’t panic on P0700 alone.

Does the Maruti warranty cover ECU replacement if there’s a fault code?
If your vehicle is within the standard 2-year/40,000 km warranty and the fault is hardware-related, yes. Faults caused by water ingress, incorrect fuel, or aftermarket modifications are typically excluded.

My scanner can’t connect to my Maruti at all — why?
Ensure your ignition is ON (not engine running, just key in position II). Budget ELM327 clones sometimes fail to initialise on Bosch ME17 ECUs — try a different scanner or a different OBD2 app. EOBD Facile and Torque Pro tend to work well with Maruti platforms.


The Verdict

Maruti’s ECUs are honest — they don’t throw codes frivolously. When a code appears, something has crossed a threshold. The challenge is that cheap scanners miss half the picture, especially on CNG variants.

Know your platform. Read live data alongside codes. And before you replace any part, verify the cause — not just the code.


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:

🔧 Recommended OBD2 Scanner to Read Maruti Suzuki Error Codes:

The Launch CRP129E is the tool we recommend for reading and clearing these Maruti Suzuki fault codes. It supports all standard OBD2 protocols used by Maruti Suzuki vehicles and provides full system diagnostics.

Leave a Comment