How to Program a BMW CAS1 Key with LAUNCH X431 IMMO Elite on Bench

Step-by-step guide to program a BMW CAS1 key on the bench using LAUNCH X431 IMMO Elite. Includes wiring diagram, EEPROM backup, key learning, and troubleshooting tips.

Published/Last Updated: May 28, 2026

Quick Answer: How to Program a BMW CAS1 Key with LAUNCH X431 IMMO Elite on Bench

Programming a BMW CAS1 key on the bench with a LAUNCH X431 IMMO Elite requires three main steps: (1) wiring 12V power, ground, and K-Line to the CAS1 module on a bench supply, (2) using the IMMO Elite to read the EEPROM (typically a 93C46 or 93C56) and extract the ISN, and (3) writing a virgin transponder (PCF7935 or PCF7936) to the module. The entire process takes about 5–10 minutes per key once the wiring is set up.

Understanding the BMW CAS1 Module and Why Bench Programming Works

What Exactly Is a BMW CAS1 Module?

The Car Access System (CAS1) is the first-generation immobilizer and access control unit used in early-2000s BMW models like the E46 (3 Series), E39 (5 Series), E53 (X5), and Z4 (E85). Unlike later CAS2 and CAS3 modules, the CAS1 uses a separate EEPROM chip — usually a 93C46 or 93C56 — to store key data, VIN, and the immobilizer security number (ISN). This makes it relatively straightforward to read and write data without needing to desolder the chip.

The module handles three main jobs: authenticating the key's transponder, controlling the starter relay, and managing power distribution to various vehicle systems. When a key is inserted and turned, the CAS1 checks the transponder code against its stored data. If it matches, the immobilizer releases the starter circuit.

Why Program a BMW CAS1 Key on the Bench?

Working on a bench instead of inside the car offers several real-world advantages:

  • Battery safety: No risk of draining the car’s battery during prolonged diagnostic sessions. A bench power supply handles everything.
  • Direct access: You can connect to the CAS1 module directly without fighting for space under the dashboard or dealing with a fussy OBD port.
  • Full control: You can test the key repeatedly without worrying about the vehicle’s electrical system interfering. If something goes wrong, you’re not stranded with a dead car.
  • Faster workflow: For a locksmith or technician handling multiple jobs, bench programming is simply quicker — you don’t need to move the vehicle or even have the car present once the module is removed.

One common mistake beginners make is assuming they can do everything through the OBD port while the module is still in the car. With CAS1, the bench method gives you the most reliable connection for reading and writing.

Tools and Equipment Checklist

Before you start, gather these items:

  • LAUNCH X431 IMMO Elite – Make sure it has an active subscription and the latest BMW software installed.
  • CAS1 module – Removed from the vehicle. Label the connectors if you haven’t already.
  • Bench power supply – 12V DC, at least 5A output, with a variable voltage display (set it to 12.0–12.5V).
  • Wiring harness – Pin connectors, jumper wires, a 1A inline fuse, and a multimeter for testing.
  • Transponder – PCF7935, PCF7936, or TI-DST+ depending on your key type. Must be virgin (unused).
  • Key shell and blade – Compatible with the specific BMW model you’re working on.
  • Antenna coil (CRIK) – The LAUNCH IMMO Elite kit usually includes one. You need it to write the transponder.

Bench Wiring Diagram for BMW CAS1

Identifying the CAS1 Connector Pins

The CAS1 module has two connectors: a smaller C1 connector (typically white or gray) and a larger C2 connector (usually black). For bench operation, you only need a few pins, but you must get them right. Use a multimeter to confirm continuity before powering up.

Here are the critical pin assignments based on standard CAS1 documentation:

Connector Pin Function Wire Color (Typical)
C1 Pin 1 Constant 12V+ (Terminal 30) Red/Yellow
C1 Pin 13 Ground (Terminal 31) Brown
C1 Pin 5 Ignition 12V+ (Terminal 15) Green
C2 Pin 7 K-Line (Diagnostics) White/Black
C1 Pin 17 Alternate K-Line (rare) White

Important: Some early CAS1 modules use Pin 17 on the C1 connector instead of Pin 7 on C2. If you get no communication, try the alternate K-Line.

Step-by-Step Wiring Process

Follow these steps in order to avoid shorting the module:

  1. Connect constant power. Attach the 12V+ from your bench supply to Pin 1 on the C1 connector. Insert the 1A fuse in-line on the positive wire — this protects the module if you miswire something later.
  2. Connect ground. Attach the ground wire to Pin 13 on C1.
  3. Simulate ignition. Jumper Pin 5 on C1 to 12V+. This tells the CAS1 that the ignition switch is in the "on" position, which is required for the module to wake up and communicate.
  4. Connect K-Line. Wire Pin 7 on C2 (or Pin 17 on C1 if needed) to the K-Line terminal on your LAUNCH IMMO Elite’s VCI (vehicle communication interface) adapter.
  5. Double-check everything. Use your multimeter to verify continuity and ensure no wires are crossed. Also check that the bench power supply is set to 12.0–12.5V — anything above 14V can fry the CAS1 module.
  6. Power up. Turn on the bench supply. You should see an LED light up on the CAS1 module. If not, re-check power and ground.

Programming the BMW CAS1 Key with LAUNCH X431 IMMO Elite

Step 1: Power Up and Connect the LAUNCH

With the bench supply running and the CAS1 module powered, turn on the LAUNCH X431 tablet. Connect the VCI (the main communication box) to the tablet via USB or Bluetooth, then plug the diagnostic cable into the VCI. The other end connects to your wired bench setup at the K-Line terminal.

Launch the diagnostic software. On the LAUNCH home screen, select BMW > IMMO > IMMO Programming > CAS1.

Step 2: Vehicle and System Identification

The LAUNCH will prompt you to choose the vehicle model and year. Select the entry that matches the original car — for example, "BMW E46 2002 318i." The tool will then attempt to read the VIN from the CAS1 module. Verify the VIN displayed matches the one you recorded before removing the module.

If the VIN comes back garbled or all zeros, stop and check your wiring. A bad ground or loose K-Line connection is the most common cause.

Step 3: Read and Back Up the EEPROM Data

This is the most critical step — never skip it. Select Read EEPROM or Read CAS Data from the menu. The LAUNCH will communicate directly with the 93C46/56 chip through the K-Line. After a few seconds, you’ll see the data displayed on screen.

Save this data immediately. Tap the Save icon and give the file a descriptive name like BMW_E46_2002_CAS1_Backup.bin. Store it both on the tablet and on a separate USB drive if possible. This backup is your only recovery path if the programming fails or you corrupt the module.

Also note the ISN (Immobilizer Security Number) displayed on screen. You may need to enter it manually later if the automatic key learning doesn’t complete.

Step 4: Prepare the New Key

Take a virgin transponder chip and insert it into your key shell. If you’re using a universal remote key, make sure the transponder is placed correctly in the chip holder. Attach the antenna coil (CRIK) to the LAUNCH IMMO Elite’s transponder programming port.

Important: Keep the key and the antenna coil at least 30 centimeters away from the CAS1 module during programming. Placing them too close can cause interference and corrupt the write process.

On the LAUNCH, select Key Learning > Add New Key. The tool will ask you to place the key in the antenna coil. Do so now.

Step 5: Program the Transponder

The LAUNCH will prompt you to choose a key slot — typically Key 2 or Key 3 (slot 1 is your original key). Select the next available slot.

Tap Start Programming. The tool will write the ISN and other immobilizer data to the transponder. This usually takes 30–60 seconds. You should see a success message: "Key Programming Successful" or "Key Learned."

If you have a second key to program, repeat steps 4 and 5 immediately. The CAS1 system requires at least two keys to be learned in one session before the first key is fully validated.

Step 6: Test the Key

With the bench power supply still on, turn the key in the ignition barrel (if you have it wired up) or use the LAUNCH’s Key Test function. Watch the immobilizer LED on the CAS1 module — it should turn off or flash in a specific pattern indicating the key is accepted.

If you can’t physically turn the key, use the LAUNCH to select Key Status Check. The tool will read back the number of learned keys and confirm their slot positions.

Troubleshooting Common Errors

Even with careful preparation, things can go wrong. Here are the most common issues and how to fix them.

"Communication Failure with Module"

Cause: Incorrect wiring, a loose K-Line connection, or the module isn’t waking up because the ignition line (Pin 5) isn’t powered.

Solution: Re-check your wiring against the diagram. Measure the K-Line voltage with a multimeter — it should read 7–9V when the module is active. If voltage is present but communication still fails, try using Pin 17 on C1 instead of Pin 7 on C2. Many early CAS1 modules use that alternate pin.

"EEPROM Read Error - Invalid Data"

Cause: Corrupted or tampered data on the chip, or the LAUNCH is using the wrong protocol for the EEPROM.

Solution: Make sure the bench supply is stable and not dropping voltage during the read. If the error persists, use the Forced Read function on the LAUNCH (if available). As a last resort, you may need to desolder the 93C46 chip and read it with a dedicated EEPROM programmer. Then write the clean data back using the LAUNCH’s chip programming mode.

"Transponder Not Recognized"

Cause: The chip is not virgin (it still contains data from a previous vehicle), or you’re using the wrong transponder type (e.g., a PCF7935 when the CAS1 expects a PCF7936).

Solution: Try to clear the transponder using the LAUNCH’s Transponder Reset function. If that fails, replace it with a known virgin chip from a trusted supplier. Cheap clones often cause intermittent problems.

"Key Programmed but Not Starting"

Cause: ISN mismatch between the key and the module, incomplete key learning sequence, or a faulty starter relay inside the CAS1.

Solution: Re-read the ISN from the EEPROM backup and verify it matches the data you entered during programming. Then perform a Reset All Keys function on the LAUNCH and start the learning process from scratch. If the key still doesn’t work, suspect the CAS1 relay — bench-test the module by checking for 12V at the starter output pin when the key is turned.

Frequently Asked Questions (FAQ)

Q: Can I program a BMW CAS1 key with the LAUNCH X431 IMMO Elite without removing the EEPROM? A: Yes, for CAS1 modules, the LAUNCH can typically read and write the 93C46/56 EEPROM directly through the K-Line on the bench. Only remove the chip if communication fails repeatedly.

Q: Do I need a separate transponder programmer? A: No. The LAUNCH X431 IMMO Elite has a built-in transponder programmer. You just need the antenna coil (CRIK) that comes in the kit to write to PCF7935, PCF7936, and TI-DST+ chips.

Q: What voltage should my bench power supply be set to? A: Set it between 12.0V and 12.5V. Never exceed 14V — that can damage the CAS1 module permanently.

Q: Can I program a secondhand key from another BMW? A: No. The transponder must be virgin — completely unused. Used keys from other cars still contain the old ISN. Some transponder types can be reset with the LAUNCH, but it’s not always reliable. Always start with a fresh virgin chip.

Q: What is the difference between CAS1 and CAS2 programming on the bench? A: CAS1 uses a simple separate EEPROM that is easily read via K-Line. CAS2 uses an integrated Motorola MCU with embedded flash memory, requiring a different protocol and often direct MCU read/write. The bench wiring is also different — CAS2 needs additional wake-up signals.

Q: Why does the LAUNCH say "Key programming failed"? A: Common causes: voltage drop during the write cycle (bench supply too weak), a non-virgin transponder, a damaged antenna coil, or the key being too close to the CAS1 module during programming. Try swapping the coil or using a different power supply.

Conclusion and Pro Tips

  • Always back up the EEPROM before making any changes. That backup is your only way to recover the module if something goes wrong. Save it in two places.
  • Use quality virgin transponders. Cheap clones can fail weeks or months later, leaving your customer stranded. Spend the extra dollar for a reputable brand.
  • Test the key immediately while everything is still on the bench. It’s much easier to troubleshoot a dead key right now than after you’ve reinstalled the module in the car.
  • Keep your LAUNCH updated. BMW software sees frequent updates, and newer versions often fix bugs that cause intermittent failures during key programming. For detailed update instructions, check out our guide on [link to related guide on updating LAUNCH X431 software].
  • If you accidentally lock yourself out of the module (e.g., by programming an incorrect number of keys), you can use the EEPROM backup you saved to restore the original data. For more on recovering bricked modules, see [link to related article on recovering BMW CAS modules].

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


Related Posts