Program BMW 3 Series Key (E90/F30/G20) with LAUNCH X431 + X-PROG3

Step-by-step guide to program a BMW 3 Series key using LAUNCH X431 and X-PROG3. Covers E90, F30, G20 models with tips on ISN, DFLASH, and common errors.

Published: May 28, 2026

Quick Answer: Can You Program a BMW 3 Series Key with LAUNCH X431 + X-PROG3?

Yes, you can. For BMW 3 Series models (E90, F30, G20), the LAUNCH X431 tablet combined with the X-PROG3 programmer allows you to program a new key without a trip to the dealer. You will need the X-PROG3 for E90 models (EWS/CAS data reading) and the X431 for OBD-II programming of F30 and G20 models. Success depends on having the correct files, a stable power supply, and accessing your car’s specific security data (ISN/FRM) before the key is lost.


Introduction: Why You Need a Dedicated Programmer

Losing your only BMW key or needing a spare is frustrating. Dealers charge $250–$400 per key, and they often require weeks of waiting. But here’s the real problem: modern BMWs use sophisticated rolling-code security systems. Generic OBD2 scanners cannot handle the encryption behind CAS, EWS, and BDC modules.

That’s where the LAUNCH ecosystem shines. The X431 tablet is a full diagnostic powerhouse, but for key programming it works best as a team. The X-PROG3 handles the low-level chip reading and writing that the X431 alone cannot do. Together, they bypass BMW’s dealer-only lockdown.

Model differences matter. The E90 (2005–2011) uses an EWS module or early CAS3 with a separate transponder. The F30 (2012–2018) relies on CAS4 or CAS4+ with a more complex encryption. The G20 (2019+) uses a Body Domain Controller (BDC) that ties keys to the car’s VIN via rolling codes. Each generation requires a slightly different workflow, but the LAUNCH X431 + X-PROG3 setup covers all three.


What You Need Before Starting (Tools & Data)

Before you touch the car, gather everything. Missing a single piece will abort the job and could leave you with a bricked module.

Hardware Checklist

  • LAUNCH X431 tablet – PAD VII, PAD V, or any model that supports BMW specialty functions. Ensure the “BMW” software pack is installed and up to date.
  • X-PROG3 programmer – with the full cable set, including CAS adapters, BDC adapter, and key-fob holder.
  • Stable 12V battery maintainer – set to at least 13.8V. I cannot stress this enough: voltage drops during read/write cycles will corrupt the CAS or BDC module. Use a quality maintainer, not a trickle charger.
  • Blank key fobs – one per new key. For E90 you need a 3-button remote with a separate glass transponder (standard 4D chip). For F30, use a diamond-shaped smart key with 4D6x chip. For G20, a digital key compatible with your region.
  • USB flash drive – to back up DFLASH files.

Critical Data You Must Extract

  • VIN of your BMW 3 Series.
  • Existing working key (if you have one) – you can clone its transponder data.
  • ISN (Individual Security Number) – a 4-digit code unique to each CAS/EWS module. Without it, you cannot marry a new key.
  • Original DFLASH file – a complete dump of the CAS/BDC memory. This is your parachute if something goes wrong.

Warning: Never attempt key programming without a full backup of the module data. If you write corrupted data, the car may not start even with the original key. Always save the DFLASH file to a USB stick before writing anything new.


Detailed Step-by-Step Guide: BMW 3 Series Key Programming with LAUNCH X431 and X-PROG3

I’ll break this into three phases. Expect the first attempt to take 45–90 minutes. Once you’ve done it a few times, you can finish in under 20 minutes per key.

Phase 1: Data Extraction & Backup (Most Critical Step)

This is where most beginners fail. You must read the immobilizer data before you disconnect the module or attempt to write a new key.

Step 1: Connect X-PROG3 to the CAS/BDC Module

  • E90: Remove the CAS3 module – it is located behind the glovebox, typically clipped into a bracket. Unplug the connectors, then remove the module. Connect the X-PROG3 using the dedicated CAS adapter cable. Make sure pin alignment matches the module’s pinout.
  • F30: The CAS4 module is behind the dashboard, near the steering column or behind the glovebox. You may need to remove the under-dash panel. Use the CAS4 adapter that comes with X-PROG3.
  • G20: The BDC module is behind the glovebox on the passenger side. It is larger than CAS modules. Use the BDC adapter cable. Be gentle – BDC connectors are fragile.

Step 2: Read the ISN and DFLASH (Security Data)

  • Power the X-PROG3 via USB to the X431 tablet, or use a standalone 12V power supply.
  • Navigate the X-PROG3 menu: BMW > CAS (or BDC) > Read DFLASH.
  • Wait while the programmer reads the module’s flash memory. This can take 2–5 minutes.
  • Save the DFLASH file to your USB stick. Name it with the VIN and date (e.g., WBA12345_DFLASH_20260528.bin).
  • Also select Read ISN if the option exists. The ISN is often embedded in the DFLASH file, but some software updates require you to enter it manually.

Step 3: Save Original Key Data (If You Have a Working Key)

  • Place your existing working key into the X-PROG3 key-fob holder.
  • Select Read Transponder for E90/F30, or Read Key Data for G20.
  • Save the transponder dump. This is useful if you later need to clone the chip instead of programming a blank.

Phase 2: Programming the New Key (OBD or Bench)

Now you move from the bench to the car. The X431 handles the OBD communication; the X-PROG3 may still write the transponder chip.

Step 4: Connect LAUNCH X431 to the Car

  • Turn the ignition ON (do not start the engine).
  • Connect the X431 to the OBD-II port under the dashboard.
  • Launch the BMW diagnostic application.
  • Navigate to Diagnostic > Special Functions (sometimes labeled as Online Programming or Key Programming depending on your software version).

Step 5: Select “Key Programming”

  • E90: Choose EWS > Initialize > Program New Key. The X431 will prompt you to read the EWS data. If you already have the DFLASH, you can upload it. Otherwise, let the tool read the module OBD.
  • F30: Choose CAS > Program New Key (ISN Required). You will be asked to enter the 4-digit ISN or upload the DFLASH file.
  • G20: Choose BDC > Add Key. The BDC workflow often requires internet connection for security authentication. Ensure the X431 has Wi-Fi or cellular data.

Step 6: Input the ISN (If Required)

  • For E90 and F30, the tool will ask for the 4-digit ISN extracted earlier. Enter it carefully – one wrong digit and the process fails.
  • Alternatively, upload the DFLASH file from your USB stick. The software extracts the ISN automatically.

Step 7: Write Key Data via X-PROG3 (For New Blank Keys)

  • Insert the new blank key fob into the X-PROG3 key adapter (for F30/G20 smart keys) or the transponder coil (for E90 glass chips).
  • On the X-PROG3, select Write Key Data and load the ISN/DFLASH file.
  • For F30 keys with 4D6x chips, the tool writes the rolling code sequence. This takes about 30 seconds.
  • Important: F30 and G20 keys often require a two-step process: the X431 marries the key to the car via OBD first, then the X-PROG3 writes the transponder data on the bench. Follow the on-screen prompts carefully.

Phase 3: Verification & Finalization

Step 8: Test the New Key

  • Remove the key from the X-PROG3.
  • Insert it into the ignition of your BMW 3 Series. Turn to ACC (Position 1). The dashboard should light up, and the key symbol should go out.
  • Attempt to start the engine. If it cranks and runs, the immobilizer chip is correctly programmed.

Step 9: Sync Remote Functions (If Applicable)

  • E90/F30: Lock/unlock buttons often need a separate synchronization step.
  • In the X431, go to Central Locking > Initialize Remote.
  • Follow the prompts: typically turn the ignition on, press the lock button on the new key, wait 3 seconds, turn ignition off.
  • Test lock/unlock on all doors. For F30, rattle-free key fob operation indicates success.

Top 3 Common Errors & Troubleshooting for BMW 3 Series Key Programming

Even with the right tools, things can go wrong. Here are the most frequent issues I have seen (and fixed).

1. “Component Protection Active” (F30/G20)

  • Cause: The new key’s transponder is not fully synced with the CAS/BDC module. This usually happens when you used a generic DFLASH file instead of the car’s original.
  • Fix: Re-read the CAS/BDC module data with X-PROG3 and write the key again using the exact original DFLASH. If the module is locked, you may need a soldered connection to unlock it – or send it to a specialist.

2. “EWS Communication Error” (E90)

  • Cause: Loose wiring on the X-PROG3, or the ignition was turned off during the read.
  • Fix: Disconnect the car battery for 5 minutes to reset the EWS module. Reconnect the X-PROG3 pins, ensuring each pin makes firm contact. Re-read the EWS data. If you still get errors, check the adapter cable for bent pins.

3. Key Fob Works but Engine Won’t Start

  • Cause: The ISN was not written to the transponder chip, or the chip is damaged. For E90, the remote fob and the immobilizer chip are separate – you must program both. For F30, the smart key contains the transponder inside the key housing; if it’s a cheap aftermarket blank, the chip may be defective.
  • Fix: Use X-PROG3 to clone the transponder ID from your original key. Write that ID to the new blank. Then run the OBD programming again. For E90, ensure the blank has a genuine EWS chip, not just a remote board.

FAQ: Programming BMW 3 Series Keys with LAUNCH X431

Can I program a used BMW key from another car?

No. Used keys are locked to the original car’s CAS/BDC. You must first erase the data using X-PROG3’s Erase Key function, then write your car’s ISN and DFLASH. Even then, some modules reject used keys – a brand-new blank is always safer.

Do I need to remove the CAS module for the F30?

Yes, usually. While some LAUNCH updates allow OBD-only reading of CAS4, the X-PROG3 method is far more reliable. You must remove the CAS4 module from the dashboard to read the DFLASH file. It’s a 15-minute job.

What type of key blank do I need?

  • E90: Standard BMW 3-button key with separate immobilizer chip (48 or 4D transponder). The remote board and glass chip are separate – you need both.
  • F30: Diamond-shaped smart key with 4D6x transponder chip. Avoid cheap clones – they often have unreliable chips.
  • G20: Digital key (Display Key or credit-card key). Requires LAUNCH X431 with full BDC support. Some G20 keys use NFC pairing.

Does the X-PROG3 work on G20 BMWs?

Yes, but with limitations. The G20 uses a BDC (Body Domain Controller). You need X-PROG3 version 2.0 or higher, integrated with the X431. The software must support BDC Key Learning – check for a “G20” submenu. The process is more volatile; never disconnect power during writing.

How long does the process take?

For a first-timer, plan 45–90 minutes. That includes removing the module, reading data, writing the key, and reinstalling. An expert can finish in 15–20 minutes per key.

What if I lose all keys? Can I still program a new one?

Yes, but it is harder. You must read the CAS/BDC eeprom directly with X-PROG3 to extract the ISN and Key Counter. If the ISN is corrupted, you may need to unlock the module – that requires a vendor-supplied unlock code. Always keep a backup of the DFLASH file stored safely.


Conclusion: Is It Worth It?

Let’s do the math. A dealer charges $250–$400 per key plus a $150 diagnostic fee. The LAUNCH X431 + X-PROG3 combo costs around $800–$1,200. If you program three keys (say, for a family with multiple BMWs), you break even. For a shop, it pays off within a few jobs.

Final tip for DIY enthusiasts: Always back up the original flash file before doing anything else. If you brick the CAS module, that backup is your only recovery path. I have seen too many people skip this step and end up with a non-starting car.

Next steps: Practice on an E90 first – it is the easiest and most forgiving BMW to learn on with the LAUNCH system. The CAS3 module is simpler, and errors are less catastrophic than on a G20.


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 practical training solutions.

For inquiries and equipment purchases, please visit https://carlifterph.com/


Related Posts