5 Steps to program a BMW E46 key with AK90 key programmer

Here is the step-by-step guide on how to program a BMW E46 key with BMW AK90 key programmer.

Car model:
BMW E46 325 convertible

E46 came with 1 key (diamond shape) this worried me, i asked dealer local to me who sniggered and said it would be a “£150 custom order from Germany” to get another one. Not immediately needing one and slightly knocked back i declined and was back to square one..
I did hours of reading about it from all across the internet and now i have located the correct method for achieving a key and much cheaper.
Being a software developer/ general techie by trade i was not put off by the challenge!

Tools needed:
  • Ak90 Programmer- I got it  from here ( US$30 delivered- took about 2 weeks)
  • New unprogrammed key internals + chip (the chip is important)- I got from eBay (£20 delivered – took 1 and half weeks)
  • Key case (new)- Again eBay was my friend £3.20 delivered
  • Key cut (for the lock of car) – Local key smith £6ish
That’s all you need..

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: Software Install

Software can be downloaded free on Gm-Tech2.com webpage. 
Edit: I have had reports the software didnt open correctly so i have provided another setup..
Download and extract to a folder where you can see/use it for example your desktop
The first step is to plugin the AK90 using the provided usb cable windows should automatically detect and start drive install (im using Win 7) the unit will beep dont worry. It will fail on driver install at this stage thats only so we have the unit plugged in ready to be installed.
Run: AK90+ setup.exe hit next and install to default path.
Once finished you should see two icons appear on desktop:
At this stage you need to install the drivers and make the drive work so hit:
Follow the install to the end and make sure “Launch the CP210x VCP driver installer” is selected, hit install and ok.
Replug the AK90 windows will now say the driver is installed.
Make sure to restart your pc to confirm the drivers/software install.

Step 3: Open Software and read key

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 5: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.
Thats it! test you new key and enjoy.. take that BMW