ADVISORY: Airbag Module Replacement
- Model & Year: 97-03 5-Series, U.S.
- Expertise: Advanced
- Date: January 27, 2024
- Updated:
- Time Estimate: 3-6 hours
Tools Required
- Full-authority BMW scan tool or NCS Expert coding software
- Basic hand tools
Facilities Needed
- None
Parts Required
- (1) SRS Airbag Module (used or new), p/n varies by model and year (see below for more)
Getting Started
Around 2017, it became known that some BMW airbag modules can develop an internal fault that may - or may not - be annunciated by the dashboard warning light. If no light is triggered, the problem goes undetected. In order to diagnose your SRS module and reveal the fault, it must be specifically scanned by a full-authority scan tool or factory diagnostic software.
If the scan returns fault code "F0" (Internal Control Unit Fault), your module is defective.
This fault cannot be cleared by diagnostic tools. Even more worrisome, it means your airbags may NOT deploy in the event of a crash. A replacement SRS module is required.
Community Support
Information in this DIY was sourced from the tremendous work done by BMW Z3 forum member Abel (handle: "328 Power 04") who authored this thread. He also repairs SRS modules. But those with an internal error and no warning light are unrecoverable.
Complicating matters is the need to code replacement modules to the car. This is not a task most BMW owners can perform because factory diagnostic software is required. Thankfully, this situation is changing. See "Scan Tools" below.
Replacement Modules
Apparently, BMW used several different SRS modules over the years, shared by E36 (Z3), E38, E39, E52 (Z4), and E53 (X5). Although some modules have been superceded, it's advised to replace your module with the exact same part number. This is to avoid backward compatibility issues with existing onboard devices such as impact sensors or belt tensioners.
Most people prefer to buy used modules, since they cost under $100. However, such parts may suffer from the same fault. Unless the seller explicitly states otherwise, there is simply no way to know until it's scanned. So your purchase may involve some risk. New modules cost around $800.

SRS modules may have date codes on their lables (circled in red above), helping to distinguish newer versions of the same part number. Note also the "V" codes (beneath BMW logo). Modules with "V 2.5" are specifically problematic.
Scan Tools
Replacement SRS modules must be coded to your car, complicating an otherwise simple part swap.
To "code" a module is to populate it with obscure, car-specific data. Generic OBD scanners for diagnosing Check-Engine lights will not suffice. A full authority diagnostic tool is required.
This typically means using NCS Expert, part of the "INPA" comprehensive coding software package that runs on Windows computers. But using NCS Expert can be difficult since it's made for professional-level diagnostics and coding. Its user interface is obtuse, with screens displayed in the German language, which leaves users to themselves and the mercy of online help forums. It also requires a laptop computer with seperate connection cables. While the software packge is hosted by BMW enthusiasts and offered as a free download, locating a trustworthy source can be an adventure in Internet sleuthing.
But things are changing.
Appearing on the market is a new generation of BMW-specific, all-in-one, full authority scan tools. Unlike NCS Expert, these tools have touchscreen menus with helpful prompts. Available from online vendors such as eBay and Amazon, manufacturers include Foxwell, Launch, and iCarSoft. (And they likely run the same firmware.) Perform an Internet search using keywords "BMW Scan Tools". Capable units can be purchased for under $200.
These devices plug into the OBD port under the dash using their included cable. But first, this port must be set to read all modules (see "Full Access" next).
Full Access
Since the OBD port under the dash is for Check-Engine codes only, scan tools must typically connect to the BMW 20-pin "Pac-Man" port under the hood in order to read modules. However, the OBD port will grant access to all modules after bridging two pins in the cap of the BMW port as shown:

Now your scan tool has full access! This modification is instantly simple, cheap, and reversible.
The Procedure below illustrates module coding using a BMW-specific, hand-held scan tool. The specific tool used is the Launch "C-Reader Elite" (about $170). It was connected to the OBD port (under dash) after bridging pins as illustrated above.
Procedure
The SRS module is loacted underneath the center armrest. It's not necessary to remove the entire center console for access. Instead, it's easily accessible after removing a few parts.
Module Access
1) Position both front seats fully forward.
2) Disconnect battery.
3) Remove rear cup holder, center vent, and armrest.
To allow rear section of center console to be slightly raised, remove the single screw on each side of console tunnel, directly above carpet and between each front seat. Each screw is hidden behind a plastic trim cap.
4) Release SRS electrical connector by sliding its lever arm rearward. Lift console slightly for side access to connector.

5) Release the three 10mm nuts securing SRS module. Two nuts at the rear are easily accessible. The third nut can be reached thru access hole as shown above.
6) Swap for replacement module in reverse order.
7) Reconnect battery.
Module Coding
8) Coding draws much battery power, so start your engine and leave it running during the process. You will likely see the SRS warning light, as your module has not yet been coded.
9) Plug-in your scanner and follow its on-screen prompts. (If connecting thru the OBD port, be sure to bridge pins as illustrated in "Full Access" above.)
The following section illustrates the process using the Launch "C-Reader Elite":

Panel A: After selecting the approriate car from set-up menu, proceed to "Coding/Program" screen.
Panel B: Data to populate the replacement SRS module is apparently read from one of two onboard modules: 1) immobilizer module or 2) instrument cluster. If one of these modules has been replaced, the scanner retreives data from the other. Since only the SRS module has been replaced in this case, select first option.

Panel C: Select the SRS module for coding.
Panel D: Select "Yes" to the prompt (written in "Chinese"-English) to begin coding process. Once complete, follow instructions to turn ignition OFF, wait 15 seconds, then re-start.
10) After successful coding, scan your replacement module for faults to confirm its integrity. Hopefully there will be no faults, and your airbag system should be functional once again!