Here is a step-by-step guide on how to use AK90+ programmer to add new key for BMW E46.This guide shared on a BMW forum,i re-edit it here.Thanks for original poster.
What You Need?
AK90+ II Key Programmer or AK90+ Programmer
BMW E46 Key
Step 1: Remove the EWS Module (or immobilizer module from the car)
This is located here under the steering wheel of the car behind all the plastic trim:
What you need to do is remove 2 screws (possibly 3) mine might have been missing 1 so check all along the trim:
Once undone the trim panel should pull down.. like this:
If you stick your head up inside there you should see a white box this is your EWS or immobilizer unit for the car:
this is what we need to take out of the car.. it is held in by 2 plastic 10mm nuts on a clever but very fiddly to get at bracket. Once both bolts are undone the unit should just hang down.
The is a black plug on one side of the unit you need to push down on the tab and it should slide out.. here is the plug so you can see how that works:
Thats it.. you should now have the EWS unit out of the car this is all you need:
Step 2:Download and Install AK90+ Software on Your PC
BMW AK90+ V3.19 Software Free Download
How to Install BMW AK90+ V3.19 Programmer Software
Step 3:Read Key Information
Double click the AK90 icon on your desktop, the software should launch and you should hear it beep and click a few times.
This is good it means the computer has found the device on the com port and we are ready to go!
Lets test your key, place this in the slot in the AK90 programmer like this:
In my case this is the garage key/valet key im programming just to show everyone how to do it, i originally did this with the diamond key i purchased the process is the same.
Go back to the software and select “test key” this will read the data from the key and a box like this will pop up:
So as you can see the device has worked out its a key for EWS3/4 and doesnt currently have a VIN or any mileage data.. this is good it proves its a blank virgin key.
Here is my current diamond key tested(with my vin cut out):
So we have proved the device works and is talking to our computer now what? its time to program our blank key to the module we took out earlier.
Step 4: Connecting the EWS module to programmer
Take your EWS unit and open the top, this folds open like this:
The circuit board is held on the far side by the black plug the is 4 bits you have to push in and slide the unit out:
Now we take the connector wire for the programmer and carefully attach this onto the circuit board, in this case the wire has a big red dot on it. We need to line this up with the dot on the chip:
What i did was made sure that the connection between the chip and the connector was at its best is to make sure that every pin on the circuit board is bare metal. I scratched gently with a small blade/screw driver to make the connection good.
Make sure you note down the chip type in my case it is: OD46J (this is important)
And then connected the wire
Connect the other end to the AK90..
Step 5: the actual programming
Open up the AK90 software which should still be open from earlier and close the test key box you should just have a software screen that looks like:
With the blank key out of the slot and the EWS unit connected:
Select your chip type from the drop down that you noted down earlier mine was: OD46J
Hit read EWS a warning message will appear double check you have everything connected and hit ok
Once donea save dialogue will appear just save this file to your desktop, basically this is a backup of the data from the chip
You should see a screen of random letters and numbers:
This is the EWS data we have collected from the module..
If you hit EWS analyse this reads the data and tells you what keys are being used, mileage and the VIN number.
This is the screen where you can disable and enable current keys (handy if you lost one)
Press exit and lets program a new key!
You should be at the main screen with all the numbers and letters on, place your virgin/new key into the slot on the AK90 and select write key a screen should pop up:
This is where you select the key slot you wish to write this in my case that would be key slot 7 (no idea where the other 4 keys are! i only have 3)
Select the slot and select write key you will get a warning making sure that you have placed key in slot just select yes (obviously making sure the key is in the slot first!)
The device will make some chirping noises and beeps as it writes to EWS unit:
After aprox 1-2mins you should see confirmation that the keys data is coded
Press OK a new box will pop up:
Select the chip type from earlier (see the warning i told you this was important!)
AK90 is now coding the key back into the EWS!
Wait for aprox 1-2mins and you should see:
Press ok, thats it you have coded your ews data to the key and then back to the ews unit.
Id recommend testing the key now again (hit test key)
Step 6:Put EWS unit back into car
Same process as before but in reverse.. can be a bit fiddly but stick at it..
What i did was place the EWS unit back in place and with my other hand put each nut on finger tight and then fully tightened up with a small socket