How to Diagnose SRS Airbag Faults

The Supplemental Restraint System (SRS) — airbags, seat-belt pretensioners, side-curtain inflators, and the occupant-classification sensor — is the most safety-critical electrical system in the vehicle. A wrong probe on a deployment circuit can fire a squib in your face. This guide covers SRS diagnosis the right way: how the system works, how to read codes safely, how to inspect connectors and harnesses without triggering deployment, and what each common B-code (B0001–B0099) actually means.

Safety first. Before any SRS work: disconnect the battery negative terminal and wait at least 3 minutes (or the manufacturer-specified time, often 1–10 minutes) for the SRS module’s reserve capacitor to discharge. Never apply 12 V or use a standard multimeter ohms function on a yellow deployment connector — it can fire the squib. All SRS connectors are yellow on most platforms; treat every yellow connector as live until proven discharged.

How the SRS works

The SRS Control Module (variously called ACM, RCM, SDM, or CRSM depending on manufacturer) is a small computer mounted near the centre console or under a front seat. It continuously samples accelerometers — typically a longitudinal G sensor inside the module plus satellite sensors at the front and side of the vehicle — and runs each crash signature through a deployment algorithm. When acceleration exceeds the trigger profile for the impact direction, the module commands current through specific squib circuits to deploy the corresponding airbags and pretensioners.

Each squib (the small explosive initiator inside an airbag inflator or pretensioner) is a low-resistance bridge wire — typically 1.5–3.5 ohms — that the module monitors continuously. The module sends a tiny diagnostic current through the squib at every key cycle and measures the resistance. If resistance is too low (short), too high (open), or the circuit is shorted to power or ground, the module logs a B-code and illuminates the SRS warning light.

The Occupant Classification System (OCS) — a weight or pressure sensor in the front passenger seat — tells the module whether to enable, disable, or scale the passenger airbag based on who is in the seat. OCS errors are common on used vehicles after seat removal or aftermarket seat covers; they typically light the SRS warning and disable the passenger airbag.

Modern SRS modules also act as “black box” event data recorders — they log a few seconds of vehicle data before any deployment event. After a real deployment, most manufacturers require replacement of the module and any deployed device.

Symptoms and DTCs

  • SRS / Airbag warning light on solid — the module has a stored fault and has disabled at least one deployment loop.
  • SRS warning flashing — on some platforms (BMW, VW group) this signals an active hardware fault that cannot be cleared without addressing the root cause.
  • Passenger airbag “OFF” indicator stuck on or off incorrectly — OCS calibration fault.
  • No-start or limp behaviour after a minor impact — some platforms inhibit fuel after a deployment threshold; not a code on its own but worth knowing.
  • Intermittent warning light over rough roads — almost always a connector under a seat that’s working loose or a damaged wire in the seat-belt-buckle harness.

The SAE-standardised B-codes you’ll most often see in this circuit:

  • B0001 / B0002 / B0003 — Driver Frontal Airbag Deployment Loop. Squib resistance out of range, open, or shorted.
  • B0010 / B0011 / B0012 — Passenger Frontal Airbag Deployment Loop.
  • B0021 / B0022 — Left (driver) Side / Curtain Airbag Deployment Loop.
  • B0024 / B0025 — Right (passenger) Side / Curtain Airbag Deployment Loop.
  • B0050 / B0053 — Driver Seat-Belt Pretensioner.
  • B0051 — Deployment Commanded (the module fired a deployment device — a real crash event was registered, or the module is faulty).
  • B0052 — Deployment Commanded with Loss of Battery — the module fired during an impact that also damaged the battery feed.
  • B0064 / B0065 / B0081 / B0083 — OCS / Passenger Sensing System fault — typically a calibration or seat-harness issue.

Communication faults from the SRS module commonly appear as U0151 (Lost Communication with Restraint Control Module) on other modules, and as U0073 (Control Module Communication Bus Off) when the module itself loses CAN. These are not deployment-loop faults; they’re network problems. See our U0151 page for that diagnostic path.

Step 1: Read SRS codes — and freeze frame

Generic OBD-II scan tools cannot read SRS codes. You need a tool that supports the SRS / Airbag module: a bidirectional aftermarket scanner (Autel MaxiSys, Launch X-431, Foxwell NT-series, Innova 5610) or the OEM tool. Many cheap “OBD-II readers” only read powertrain codes — they will show no faults even when the SRS warning light is on.

When you read codes:

  1. Pull all current and history (stored, pending) codes from the SRS module before doing anything else. Many platforms log a transient fault and clear it on the next cycle; the history list captures patterns the current list misses.
  2. Pull freeze frame data if your tool supports SRS freeze frame — battery voltage, ignition cycle count, and odometer at fault time often pinpoint whether the issue is voltage-driven (low cranking battery) or wear-driven (connector fatigue).
  3. Document every code before clearing. Some SRS modules require a specific clear procedure — clearing a “Deployment Commanded” B0051 on certain platforms locks out the module and requires replacement. Verify the clear procedure for the specific make before erasing.

Step 2: Visual inspection — and where most SRS faults actually live

Before any electrical testing, with the battery disconnected and capacitor discharged, do a thorough visual:

  1. Front seat connectors and seat-belt buckles. The top failure point on most platforms. Wires under the seat flex every time the seat slides. A broken strand inside the insulation produces an intermittent open that comes and goes with seat position. Check the seat-base connectors for stretched yellow locking tabs, water staining (bottle spills wick under seat), and corrosion.
  2. Driver airbag clockspring (spiral cable). The flat ribbon cable inside the steering wheel that lets the airbag squib stay connected as you turn. Worn clocksprings usually fail with B0001/B0002 plus a horn-not-working symptom and intermittent cruise-control buttons. Listen for a faint click as you turn the wheel — abnormal scrape sound is a sign.
  3. Side-curtain wiring through the A and B pillars. Curtain inflator wiring runs alongside the headliner. Aftermarket dashcam installs and headliner R&I jobs commonly damage these. Look for crushed connectors near the pillar trim clips.
  4. Floor connectors and module harness. The SRS module under the centre console has multiple connectors. Confirm each one is fully seated with the secondary lock engaged — a connector that’s “almost in” sets a code immediately on key-on.
  5. Yellow connector pin condition. Bent, spread, or backed-out terminals are the second most common cause of B-codes after seat-harness damage. Use a thin pick to verify pin tension on both sides of every yellow connector you disturb.

Step 3: Resistance testing — the SAFE way

You must never apply a standard multimeter directly to a yellow deployment connector. The diagnostic current on most multimeter ohms ranges (typically 1–5 mA) is below the no-fire threshold of most squibs (usually 50 mA all-fire), but cheap meters or a meter on the wrong setting can spike higher and fire the device. Always use one of these methods instead:

  1. Read live data from the SRS module. Bidirectional scan tools display live deployment-loop resistance for each squib, measured by the module itself with safe sub-no-fire current. This is the only test most professionals use day-to-day. Compare against the spec for that platform — typical OEM range is 1.8–3.0 ohms for frontal airbags, 1.0–3.0 ohms for pretensioners.
  2. Use an inert squib simulator. A 2-ohm dummy load that plugs into the deployment connector in place of the live squib. With the simulator installed and the original squib safely set aside, you can ohm out the harness back to the module without any deployment risk. Required for any harness-side testing.
  3. Load-shed at the module connector. Disconnect the module’s harness connector entirely with the battery off, then test resistance from the module-side connector pins to the squib-side pins. This tests the harness without putting current near a live squib. Compare against the platform wiring diagram pin-out.

If a code points to a specific deployment loop:

  • Resistance too low (typically < 1 ohm) — short to ground or short between the two squib wires. Most often a damaged wire in the seat harness or a pinched curtain wire at a pillar.
  • Resistance too high (typically > 4 ohms) — open circuit or corrosion. Connector terminals or a broken strand inside the seat-flex zone.
  • Short to power — usually a pinched wire contacting a 12 V circuit, often from aftermarket installs (heated seat kits, audio).
  • Short to ground — same wire, contacting body metal. Common after collision repair where harness clips were not reinstalled.

Step 4: OCS diagnosis

The Occupant Classification System needs a separate diagnostic approach because it’s not a deployment loop — it’s an analog or digital weight/pressure sensor reporting passenger seat occupancy. Common OCS faults:

  • Calibration drift — the seat sensor zero-point has shifted. Most common after seat removal for service. Resolution: run the OEM OCS calibration procedure with the seat empty and at the correct temperature.
  • Seat cushion bladder leak (pressure-based OCS, e.g. some Honda, Toyota platforms) — the bladder under the seat foam loses air, the sensor reads as if no occupant is present. Replacement bladder or cushion assembly required.
  • Seat harness damage — same flex zone as airbag wiring; same fix.
  • Aftermarket seat covers and child-seat anchors — heavy aftermarket covers can suppress the OCS into thinking the seat is empty. Remove cover, recalibrate, reinstall.

OCS calibration almost always requires the OEM tool or a high-end aftermarket scanner with the platform-specific calibration routine. Generic scanners can read the codes but cannot run the calibration.

Common failure modes

  • Seat-harness wire flex fatigue — by far the most common B-code root cause. Slide the seat through full travel while watching live deployment-loop resistance; an intermittent open usually appears at one position.
  • Clockspring wear — driver-side B0001/B0002 with horn or steering-wheel-button issues. Replace the clockspring assembly; most platforms require centring before reinstall.
  • Water intrusion into floor module — the SRS module mounted low in the centre console can flood from spills, leaking heater cores, or sunroof drain blockages. Symptoms: sudden multi-circuit codes after an interior wet event. Module replacement is typically required after water damage.
  • Battery voltage transient during cranking — a weak battery dropping below the SRS minimum during cranking sets a momentary code that lingers in history. If the only complaint is a stored code with no current fault, check battery state before chasing wiring.
  • Post-collision module locked — after any deployment, most modules lock and require replacement. “Reset” services exist online but are not OEM-sanctioned and are illegal in some jurisdictions for safety-critical modules. Always replace.
  • OCS bladder failure — passenger airbag inhibits unexpectedly. Almost always the bladder, not the sensor or harness.
  • CAN bus fault inhibiting SRS communication — U0151 with no specific deployment-loop code points to network issues, not SRS hardware. See our CAN termination 60-ohm rule guide.

After the repair: clearing codes and verifying

Once the fault is fixed:

  1. Reconnect the battery negative terminal.
  2. Turn the key to ON without starting. The SRS warning light should illuminate for 4–8 seconds (bulb-check), then extinguish. If it stays on, current faults remain — recheck.
  3. Use the scan tool to clear any history codes. Some modules require a specific clear sequence — a generic “Erase Codes” command may not clear stored history on certain platforms (Mercedes, BMW). Use the OEM-specific clear procedure.
  4. Test-drive over rough road for 10 minutes, then re-scan. Intermittent faults reappear under vibration; a clean retest after road testing is the verification standard.
  5. If the OCS was disturbed, run the calibration procedure with the seat empty and at the manufacturer-specified ambient temperature.

Related articles

Frequently asked

Can I clear an airbag light without fixing the cause?

You can clear the code, but on most platforms the light returns within one to three key cycles if the fault is still present. Some modules (B0051 “Deployment Commanded”) will not clear at all without addressing the root cause and may require replacement after an actual deployment event. Clearing without diagnosing is unsafe — if the fault is real, the airbag will not deploy when you need it.

How long do I need to wait after disconnecting the battery before working on the SRS?

The minimum wait is whatever the service manual specifies for that platform. Most call for 1–3 minutes; some Mercedes platforms specify 10 minutes. The reserve capacitor in the SRS module holds enough charge to fire deployment for that long after battery loss. When in doubt, wait 10 minutes — there’s no downside.

Will any OBD-II scanner read airbag codes?

No. Generic OBD-II is limited to powertrain codes. The SRS module is on a separate diagnostic path that requires a scanner explicitly supporting “SRS”, “Airbag”, or “Restraint” modules. Confirm in the scanner’s vehicle coverage list before buying — some entry-level “all-systems” scanners list SRS support only for older or limited makes.

Is it safe to drive with the airbag light on?

Legally yes in most jurisdictions, but the airbags are likely disabled or partially disabled while the light is on. The system has detected a fault that may prevent correct deployment in a crash. Treat it as a high-priority repair, not a “drive on indefinitely” warning. Pretensioners and side curtains often share a fault response with frontal bags, so a single B-code can disable several deployment paths.

Why does my airbag light come on intermittently over rough roads?

Almost always a flexing connection in the seat-belt buckle harness, the seat-base connectors, or the front side-impact sensor wiring. The momentary open spikes the deployment-loop resistance, the module logs a code, and the light latches on until cleared. Inspect those harnesses while moving the seat through full travel.

Does the SRS module need replacement after every deployment?

On most modern platforms, yes. The module logs the deployment event and locks itself; even if the squibs and inflators are replaced, the module will continue to indicate a fault. Some older vehicles allow reset, but reset services are not OEM-sanctioned and are not appropriate for safety-critical work. Always follow the service manual for the specific platform.

Can I replace an airbag module myself?

Mechanically yes, but the new module almost always requires programming with the vehicle’s VIN and immobiliser key data. Without programming, the module logs a “configuration mismatch” code and the SRS warning stays on. Plan for either an OEM dealer visit or a programming service that supports your make.