How to Add a Key / Perform AKL on BMW E46

bmw e46 key programming add key akl
69b559ae27539 bpthumb
By Juraj · Last updated: April 24, 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.

Affiliate Disclosure: iamcarhacker.com is an Amazon and other affiliate programs Associate. As an Amazon Associate, I earn from qualifying purchases. Full Affiliate disclosure. // some of tested products I got sent for free but it never affects any scoring parameter. Full sponsor policy.

Used tools in this guide (AKL 90+ is enough to do full procedure)

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

ORDER BLANK KEY: https://s.click.aliexpress.com/e/_c36NWkdl

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.

ews prepare for read with autel

Watch full diagnostic video

How to add a key / AKL on BMW E46

6 min video
  • Reading the EWS3 EEPROM with Autel
  • Writing the new PCF7925 ID44 transponder with AK90+

This content is for members only.

Supported vehicles

Vehicle
3-series-e46

Technical overview

ItemDetails
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

1. 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.

2. Access the EWS3 immobilizer module

ews location e46

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.

3. Disassemble the EWS3 module

ews disassembly

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.

4. Read and save the EEPROM

ews prepare for read with autel

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 eeprom from ews with autel

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.

5. Program the new transponder

write e46 key with ak90

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.

6. Code the remote (lock/unlock buttons)

e46 remote programming

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.

Additional Information & Compatibility Notes

Before using or purchasing any diagnostic tool for this procedure, always verify compatibility with your exact vehicle model, year and system configuration. Supported functions may vary depending on software version, hardware revision and regional limitations.

Alternative tools

Related guides & background information

Legal & safety notice

This procedure modifies vehicle system settings through the control module. Incorrect use may cause faults or warning lights. Always ensure the vehicle is secured and follow proper safety procedures.

More procedures like this

Procedures tested with this scanner

Most popular OBD2 guides

69b559ae27539 bpthumb
Juraj

Hi, I am Juraj Lukacko. I got frustrated by unhelpful and scammy mechanics, so I decided to learn everything about car diagnostics myself. I test dozens of new car diagnostic tools every month along with learning new strategies to fix and customize cars. 

Responses

Your email address will not be published. Required fields are marked *