How to Add a Key / Perform AKL on BMW E46
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)
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.
This content is for members only.
Supported vehicles
| Vehicle |
|---|
| 3-series-e46 |
Technical overview
| Item | Details |
|---|---|
| Vehicle | BMW E46 (3 Series) |
| Year | 2005 |
| System | EWS3 immobilizer |
| Procedure type | Key programming / AKL |
| Difficulty | Advanced |
| Time required | ~60 min |
| Prerequisites | EWS3-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

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

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

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.
5. 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.
6. 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:
- Insert the new key into the ignition and turn to position ON.
- Turn the ignition OFF.
- Remove the key from the ignition.
- Press and hold the LOCK button on the remote.
- While still holding LOCK, press the UNLOCK button 3 times in quick succession.
- 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
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