How to Add a Key / Perform AKL on BMW E46

By Juraj · Last updated August 15, 2026

This guide shows how to program a new key for a BMW E46 (3 Series, 2005) covering both adding a spare key and All Keys Lost (AKL) scenarios. The procedure is based on reading the EWS3 immobilizer EEPROM, writing a new transponder, and coding the remote lock/unlock buttons.

I earn from qualifying purchases and sometimes get tools for free (full disclosure). It never affects my scoring.

Used tools in this guide

BMW AK90+
BMW AK90+
simple to use tool for key programming of bmw ews system
Autel IM608 PRO 2
Autel IM608 PRO 2
professional key programming and diagnostics tool considered one of the best IMMO tools for workshops. Great choice as one-for-all scanenr in car shops.

Video: How to Add a Key / Perform AKL on BMW E46

This video shows how to access the EWS3 immobilizer, read its EEPROM, program a new PCF7925 ID44 transponder, and code the remote on a BMW E46.

Supported vehicles

Vehicle
3-series-e46

Technical overview

VehicleBMW E46 (3 Series)
Year2005
SystemEWS3 immobilizer
Procedure typeKey programming / AKL
DifficultyAdvanced
Time required~60 min
PrerequisitesEWS3-capable key programmer ( AK90+ recommended), new BMW diamond key shell with blank PCF7925 ID44 chip, screwdrivers, basic soldering skills (only for some reader setups)

Step-by-step procedure

Source a compatible key

Order a new BMW diamond-style remote key shell with a blank PCF7925 ID44 transponder chip. These are widely available on AliExpress and similar marketplaces at a low price. Many sellers also offer a key-cutting service — send them a clear photo of your existing key (or the cut code stamped on the lock) and they will ship it pre-cut, ready to use.

Access the EWS3 immobilizer module

The EWS3 module is a small grey plastic box located under the steering column, above the pedals. Remove the lower steering column trim cover (a few screws and clips) to expose the unit.

Alternative (no disassembly): If you own a BMW Scanner 1.4 cable, you can read the EWS3 EEPROM directly through the OBD2 port without removing the module. This is the fastest route for straightforward add-key jobs, though OBD reading is not reliable on every EWS3 revision — bench reading remains the fallback.

Disassemble the EWS3 module

Open the flip-top lid on the EWS3 housing. Inside, press the internal connector clip to release the PCB, then slide the board out of the case. The EEPROM chip is now exposed and ready for reading.

Read and save the EEPROM

Connect your reader to the EWS3 PCB:

  • AK90+: Plug-and-play. The kit ships with the correct clip/adapter for EWS3 — no soldering needed.
  • Autel IM608 with adapter 114: Works, but you must solder one wire between the adapter and the PCB to complete the connection.

Read the EEPROM and save the dump to your computer. Always keep an untouched backup of the original file before making any changes — if anything goes wrong during writing, this is the only way to recover the original state of the immobilizer.

Program the new transponder

Use your key programmer to prepare a new key slot in the EEPROM dump, and write the corresponding data to the new PCF7925 ID44 chip.

Note from experience: I first tried to program the key directly with the Autel IM608, but the process repeatedly failed with "key writing failed". Switching to the AK90+ completed the programming on the first attempt without any error. If you hit the same wall on the IM608, the AK90+ is the reliable fallback for EWS3 and it's inexpensive enough to keep permanently in the toolbox.

Once the chip is programmed, insert it into the diamond key shell. At this point the key will crank and start the engine.

Code the remote (lock/unlock buttons)

The transponder is now recognized by the immobilizer and the car will start — but the remote buttons will not yet operate the central locking. To teach the car the new remote:

  1. Insert the new key into the ignition and turn to position ON.
  2. Turn the ignition OFF.
  3. Remove the key from the ignition.
  4. Press and hold the LOCK button on the remote.
  5. While still holding LOCK, press the UNLOCK button 3 times in quick succession.
  6. Release the LOCK button.

The doors should briefly cycle to confirm the remote has been learned. I have full guide on how to program E46 remote on the website as well.

Most popular OBD2 guides

Juraj

I'm Juraj Lukacko and I work as an auto electrician. On this site I share what I learn from real work on real cars, to help you pick the right tools for diagnostics, programming and tuning and get the job done.

More about me →

Leave a Comment