How to Program All Keys Lost on a BMW F and G Chassis with the LAUNCH X431 XPROG3
Last Updated: May 24, 2026
Quick Answer
To program "All Keys Lost" on a BMW F or G chassis using the LAUNCH X431 XPROG3, you must bypass the immobilizer electronically by reading the EEPROM or flash memory of the CAS (F‑chassis) or BDC (G‑chassis) module. For F‑chassis, remove the CAS module, read the EEPROM (e.g., 95128 or 95256), extract the ISN, and write a dealer key to a 48‑chip transponder. For G‑chassis, remove the BDC module, read the flash (e.g., ST32F or SPC56), use the XPROG3 to decode the data, generate a key file, and program an 868 MHz (or 315 MHz) transponder. This direct‑to‑EEPROM method is the only reliable way when zero keys are present.
Why You Need the XPROG3 for "All Keys Lost"
The OBD2 Limitation
Standard diagnostic tools plug into the OBD2 port and communicate with the vehicle’s systems through the CAN bus. That works fine when you have at least one working key – the tool can authenticate itself using the key’s rolling code. But when all keys are lost, the immobilizer system locks out any OBD2 communication. The ECU simply won’t respond to “add key” commands because it can’t verify the request comes from an authorized source.
The Forced Immobilizer Bypass
The XPROG3 programmer solves this by going directly to the source: the memory chip that stores the immobilizer data. By reading the EEPROM or flash memory of the CAS (Car Access System) or BDC (Body Domain Controller), you gain full access to the vehicle’s security codes. This is often called the “direct‑to‑EEPROM” method. No OBD2 handshake is needed – you’re essentially acting as the vehicle’s brain and telling it which keys to accept.
Target Vehicles
The process covers a wide range of BMW models from around 2012 onward:
- F‑Chassis (CAS3+/CAS4): F20 (1 Series), F30 (3 Series), F10 (5 Series), F25 (X3), F15 (X5), F06 (6 Series Gran Coupe), and others.
- G‑Chassis (BDC/FEM): G01 (X3), G05 (X5), G20 (3 Series), G11 (7 Series), G30 (5 Series), G02 (X4), and newer models up to about 2022.
Prerequisites: Tools and Safety
Before you start, gather the right hardware and software. Rushing into the job without proper preparation is the fastest way to brick a module.
Hardware List
- LAUNCH X431 tablet – models like X431 V+, PAD VII, Euro Link, or any unit that supports the XPROG3 add‑on.
- XPROG3 programmer – the dedicated hardware module that connects to the tablet via USB.
- XPROG3 adapter cables – CAS3+ adapter, BDC adapter, BDM clips, pogo pins, and a socket for SOIC‑8/SOIC‑16 chips.
- Soldering station – a temperature‑controlled iron with fine tip and hot air rework station for G‑chassis flash chip removal.
- EEPROM programmer (optional but helpful) – for verifying data or reading chips offline.
- Blank keys – BMW 48‑chip transponder for F‑chassis, or 868 MHz (EU) / 315 MHz (US) high‑security transponder for G‑chassis.
- Stable 12V power supply – the vehicle battery must be fully charged, and a dedicated power supply for the XPROG3 helps prevent disconnects.
- ESD strap – electrostatic discharge can damage sensitive chips; wear one when handling modules.
Software Check
- Update the X431 tablet to the latest firmware and BMW software pack.
- Install the “XPROG3” app from the LAUNCH app store.
- Ensure you have active credits or tokens if your subscription requires them (some advanced functions like “All Keys Lost” need a token). As of 2026, many LAUNCH packages include a certain number of tokens per year.
Safety Warnings
- Never interrupt power during a read or write – this can corrupt the module’s memory and brick it. If the vehicle battery is weak, connect a charger.
- Back up all original data before writing anything. Save the .bin files to the tablet and to an external drive.
- Work in a clean, static‑free area – avoid carpeted floors while handling circuit boards.
Step-by-Step Guide: BMW F-Chassis (CAS3+/CAS4)
Step 1: Locate and Remove the CAS Module
The CAS module on F‑chassis BMWs is usually located behind the glovebox or under the steering column. On most models, you can access it by removing a few trim panels.
- For behind the glovebox: Remove the glovebox (usually 4–6 screws), then look for a metal box about the size of a deck of cards.
- For under the steering wheel: Remove the lower dash panel, and you’ll see the CAS module mounted vertically.
Disconnect the battery negative terminal first. Then unplug the two large connectors from the CAS module – press the locking tabs and pull straight out. Remove the module from its bracket. Identify whether you have CAS3+ (has a removable daughterboard with the EEPROM) or CAS4 (the EEPROM is soldered directly to the main board). CAS3+ uses a 95128 EEPROM (16Kb), CAS4 uses a 95256 (32Kb).
Step 2: Connect to XPROG3 & Read EEPROM
- If using a CAS3+: Remove the daughterboard and place it in the XPROG3 socket adapter provided. If using a CAS4: Desolder the 95256 chip (or use pogo pins if you have a suitable adapter).
- Open the XPROG3 app on the X431 tablet.
- Navigate: BMW > CAS > CAS3+ / CAS4 > Read EEPROM.
- The app will detect the chip and start reading. The process takes about 20–30 seconds.
- Save the resulting .bin file – name it with the VIN and date for reference (e.g.,
WBA3A5C50DF123456_EEPROM.bin).
Step 3: Calculate Key Data (ISN & Dealer Key)
With the .bin file loaded, the XPROG3 software will automatically decode the immobilizer data.
- Go to Decode or Calculate Key in the app.
- The software extracts the ISN (Individual Security Number) – a unique code tied to the vehicle’s CAS.
- Next, choose Generate Dealer Key or Add Key. The app will ask which key slot you want to program (Key 1, 2, 3, etc.). For a complete “all keys lost” scenario, you’ll typically overwrite slot 1.
- The software creates a “dealer key” data file that contains the rolling code seed for that slot.
Step 4: Prepare the Blank Key
Your blank key must be a genuine BMW 48‑chip transponder (compatible with PCF7935 or similar). Aftermarket blanks sometimes work, but OEM blanks are more reliable.
- Insert the blank key into the XPROG3 programming coil (the slot on top of the programmer).
- In the app, select Write Key. The programmer sends the dealer key data to the transponder chip.
- If the key also has a remote fob (for central locking), program the remote separately using the X431’s OBD2 function – but that requires a working key to start the car first. For now, the mechanical cut and transponder are enough to start the engine.
Step 5: Write Data to Key & Test
Once the transponder is written:
- Reassemble the CAS module (reinstall the daughterboard or solder the EEPROM back if you removed it).
- Plug the CAS back into the vehicle and reconnect the battery.
- Insert the newly programmed key into the ignition slot (or press the start button with the key fob nearby).
- The steering column should unlock, the dashboard should light up, and the engine should crank and start.
If it doesn’t start, double‑check the key slot selection – you may have written to slot 2 while the car is looking for slot 1. Repeat the process, this time choosing slot 1 explicitly.
Step-by-Step Guide: BMW G-Chassis (BDC/FEM)
Step 1: Remove the BDC/FEM Module
The BDC (Body Domain Controller) or FEM (Front Electronics Module) on G‑chassis BMWs is located in the front passenger footwell. You’ll need to remove the trim and lift the carpet.
- Disconnect the battery negative.
- Remove the plastic trim panel under the glovebox.
- Pull back the soundproofing/carpet – you’ll see a large silver module with several multi‑pin connectors.
- Release the locking levers on the connectors and unplug them.
- Remove the module from its bracket (usually one or two bolts).
Older G‑chassis models (2015–2019) use the FEM module; newer ones (2020+) use the BDC. The process is nearly identical, but the chip sets differ.
Step 2: Read the BDC Flash Memory
This is the most critical step. G‑chassis modules store immobilizer data in the main microcontroller’s flash, not a separate EEPROM. Two main methods exist:
Soldering Method (for newer BDCs with SPC560P/SPC56 series)
- Use a hot air station at around 350°C to desolder the MCU or the external flash chip (often an S25FL series).
- Place the chip in the XPROG3 socket adapter.
- In the app, select BMW > BDC > Read Flash.
- The tool reads the full 32MB+ dump. This takes 5–10 minutes. Save the .bin file.
Probe Method (for older BDCs with ST32F series)
- Some early G‑chassis modules have an STM32F microcontroller with accessible test points.
- Connect the XPROG3 BDC adapter harness to the module’s pogo pin header (or use a BDM clip).
- Select Read Flash – the tool communicates via SWD to extract the data.
- This method is faster (3–5 minutes) but requires careful alignment of the pins.
Step 3: Decode the Data & Generate Key
Once you have the flash dump:
- Select Decode Flash in the XPROG3 app.
- The software calculates the ISN and rolling code algorithm.
- Choose All Keys Lost mode – the app will ask if you want to generate a new dealer key or add a key to the existing list.
- The app may show “Missing Key Data” – that’s normal. It means the tool successfully recovered the ISN.
Step 4: Program the Key Transponder
G‑chassis keys use a high‑security transponder (HITAG3 or similar) combined with an RF remote that operates at 868 MHz (Europe) or 315 MHz (North America). Make sure you have the correct frequency blank.
- Insert the blank key into the XPROG3 coil.
- In the app, select Write Key and choose the correct frequency.
- The tool writes the transponder data. After that, you’ll also need to program the remote buttons using the OBD2 diagnostic function (again, do that after the engine starts).
Step 5: Reassemble and Synchronize
- If you desoldered the chip, reattach it using fresh flux and a hot air station. Ensure no bridges.
- Reinstall the BDC module back into the vehicle and plug in all connectors.
- Reconnect the battery.
- Insert the programmed key and turn to ignition (or press start with the fob).
- Wait 30–60 seconds – the car needs to sync the rolling code.
- Press the brake and start button. The engine should run.
If the engine cranks but doesn’t start, the key data may not be fully synchronized. Remove the key, wait 10 seconds, and try again.
Troubleshooting Common Errors
Error: "Key Not Recognized"
Cause: Wrong transponder type – you used a 46‑chip instead of a 48‑chip on an F‑chassis, or a 433 MHz remote instead of 868 MHz on a G‑chassis.
Fix: Verify the chip type using a transponder reader (e.g., T5, T6, or XPROG3’s own read function). Use OEM or verified compatible blanks.
Error: "Data Verification Failed"
Cause: Poor contact between the XPROG3 adapter pins and the chip leads. Also possible damaged solder joints.
Fix: Clean the chip pins with isopropyl alcohol. Re‑read the chip and compare checksums. If the checksum changes each read, you have a bad connection – resolder or use a better adapter.
Error: "Vehicle Not In Immobilizer Mode"
Cause: The BDC module’s flash was corrupted during a previous failed write, or the module is locked.
Fix: You’ll need to load a known‑good BDC dump from a similar vehicle (same part number) to restore the bootloader. This is an advanced recovery procedure that may require a dedicated tool like CGDI Prog or VVDI Prog.
Tool Crashes During Flash Read
Cause: USB cable disconnection or insufficient power to the XPROG3.
Fix: Use the dedicated 12V power adapter for the XPROG3 – do not rely on USB power alone. Also check that the tablet’s USB port is secure. If the crash happens repeatedly, try a different USB cable.
Frequently Asked Questions
Q1: Can I program a used key from eBay using the XPROG3?
Yes, but only if you erase the old data first. A used key retains the previous vehicle’s lock codes. Insert the used key into the XPROG3 coil, select Reset Transponder (or “Erase All Keys”), then write the new dealer key data. If the key has a remote fob, you’ll also need to re‑learn the remote via OBD2.
Q2: Will this process work on a 2020+ BMW G20?
It can, but the BDC module on 2020+ models uses newer chips like SPC560P or Renesas RH850, which require desoldering the main MCU or the external flash. The XPROG3 software supports these chips, but you may need a separate adapter board. Check the LAUNCH website for model‑specific adapter kits.
Q3: What if I lose connection halfway through writing the key?
Stop immediately. Do not turn off the ignition or disconnect the module. Close the app, reconnect the USB, and restart the write process. If the BDC flash is corrupted during write, the module will be bricked and require full recovery using a specialized programmer (CGDI Prog or VVDI Prog). Always back up the original flash before writing.
Q4: Do I need to pay for credits or tokens to use this function?
Some LAUNCH X431 subscriptions require a token for advanced functions like “All Keys Lost.” Check your subscription level – “SmartLink” or “EuroLink” plans may include a limited number of tokens per year. You can usually purchase additional tokens from the LAUNCH store.
Q5: Can I program a key for a BMW F90 M5 without removing the BDC?
No. For “All Keys Lost,” the OBD2 port is locked. You must physically access and read the BDC or CAS module using the XPROG3 bypass method. There is no OBD2 workaround when zero keys are present.
About the Author: Erwin Salarda is an Automotive Service Equipment Technician based in the Philippines, specializing in computerized automotive diagnostic equipment such as OBD scanners and wheel alignment systems. Since 2012, he has been actively providing technical support, equipment installation, troubleshooting, after-sales service, and hands-on training for automotive service equipment used by workshops and automotive professionals.
He has received specialized training from international suppliers and manufacturers, including Launch X431 in Shenzhen, China, Lawrence Engineering Company in Guangzhou, China, and 3Excel Wheel Alignment Company in Shenzhen, China. Through these trainings, he developed advanced expertise in automotive diagnostics, calibration, wheel alignment systems, and computerized automotive service technologies.
Erwin Salarda provides professional after-sales support and technical training for automotive diagnostic and wheel alignment equipment, helping clients maximize the performance and proper use of their tools and systems. His experience covers equipment setup, software updates, calibration procedures, troubleshooting, and operational guidance for automotive workshops and service centers.
With more than a decade of experience in the automotive equipment industry, Erwin Salarda continues to support automotive businesses by delivering reliable technical expertise and
Related Posts
- BMW CAS4/CAS4+ Module Replacement Guide Using LAUNCH X431 XPROG3
- How to Read and Write On-Board MCU Chips with LAUNCH X431 XPROG3
- How to Update LAUNCH X431 XPROG3 Firmware: Step-by-Step Guide (2026)
- How to Pair LAUNCH X431 XPROG3 with X431 V/V+ Tablet | Step-by-Step Guide
- Clone ECU Without Opening Shell | LAUNCH X431 XPROG3 Guide (2026)