E46 Key Programming- AK90 Guide


Back Story:

So when i first got my E46 325 convertible it 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
  • New unprogrammed key internals + chip (the chip is important)- I got from eBay from here (£20 delivered – took 1 and half weeks)
  • Key case (new)- Again eBay was my friend from here £3.20 delivered
  • Key cut (for the lock of car) – Local key smith £6ish

Thats 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

I have provided the software i used with the AK90 programmer over at my downloads page here:

Downloads Page

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!

ak90 soft

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):

key test 2

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 3: 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:

20140524_185545 20140524_185618

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 4: 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:

main screen

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

chip select

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.

ews analyse

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:

key slot

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!)

key warn

The device will make some chirping noises and beeps as it writes to EWS unit:

key write

After aprox 1-2mins you should see confirmation that the keys data is coded

key confirm

Press OK a new box will pop up:

chip ews

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:

data ok

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 😉

19 thoughts on “E46 Key Programming- AK90 Guide

  1. Thankyou so so so much for posting this, have just bought everything needed off eBay and will report back and let you know how I go, hoping that was $130 well spent on tools, however i will need to bribe a Locksmith to cut the key for me as I live in Australia, will keep you posted

  2. Hi there, it was the cheapest and best way I found 🙂 let us know how you get on.. any problems feel free to contact us

  3. I actually got it to work!, thankyou so much!!!!! your an absolute legend, only thing i had an issue was the FOB (key chip) , accidentally ordered the one in the link which is 433mhz, the one I needed runs on a 315mhz frequency, other than that though i’m stoked, you saved me a fortune, thanks again!!

  4. Will this procedure work on “newer” key fobs that have the key inserted into them? I have a ’07 E66 with comfort access (additional challenge?) that I want to make a second key for.

    1. Hi there Komita,

      this guide is only for the diamond shape keys as far as im aware.. i haven’t had any experience with the newer model key programming


      1. Just to clarify for others that will come here & read like I have today with respect to diamond shaped keys there are two systems.
        EWS & CAS
        Here using the AK90 is the EWS system where the white box is removed from car. Not possible for CAS system.

  5. hi my name is Jose and im following this wonderful guide u made on how to program a key im just running into a problem. i have ews plugged in and when i hit read ews it says pin no touch. please help me

    1. Some of these Chinese leads are not orientated correctly. I had pin to touch issue for a while & rotating the plug 90 degrees counter clockwise then fixed it. Best to then make your own mark on the lead for future reference.
      The original OP did mention about turning lead 90 degrees.

  6. Hi there Jose,
    Make sure you have the plug clipped onto the chip the correct way.. this is indicated by lining up the dot on the plug and the dot on the chip



  7. Worked like a champ. I did have to use version 3.02. I also had to push the connector down on the chip while it read and write. Had to hold the transponder with my fingers. If it says pin no touch make sure the connections are clean(i used a sharp knife) and push down on the connector.

  8. Bought a 330ci last month with one key. Bought the ak90 a blank key had it cut and programmed over the weekend. As I have never had the other keys I overwrote key 1 and locked out 2&3 kept 4 ( the key I got with the car ) and left 5 enabled ( from research this might be a factory held key or tag). This means a previous owner can’t find an old key and access the car.
    So if you loose a key you can lock it out. If you find it again I assume you unlock it. If you know its gone for good or broken then you can just overwrite with a new key.

      1. Unable to write to a used key. The member is referring to overwriting the used slot.
        When a key is in a slot it reads used. If the slot is free it reads new.

  9. will this work on a 2003 e46 320d key ?tried researching after i found this but couldnt find a compatibility list

  10. Hi, yes same system 2003 e46 (diamond shape key) should work

    Untested on win 8.1.. but basically same as windows 7 so should be ok..

  11. From my experience, you can overwrite an old lost key but you will end up with a “Toleration of changing code increased” error in the EWS module.

    When creating a key, a random rolling code is generated and stored in the transponder until the next time you start the car. The lost key obviously also had a changing code which was different and never reset in the EWS. Always better to lock/disable lost keys and use a new key slot number in my opinion.

  12. Thank you very much for this great write-up. There were a few differences with the most recent software version (driver is located in the program install directory), but my new key works.

    Some things to note:
    – This works for me on Windows 10 Professional
    – Make sure you put the transponder in the key in the right location; I put it next to the battery and it didn’t read in the AK90 until I looked on Google to find the right location to put the transponder chip
    – Even after scratching the contacts (which were covered with some reddish film from the factory), the EWS did not read until I put the unit on a flat surface and pressed down and held the connector firmly in place. I tested this a few times, and the AK90 only read when I kept pressure on the EWS the whole time. This meant I needed to be careful not to let go with writing back to the EWS!
    – After writing to my new key and back to the EWS, my key had the incorrect VIN and incorrect mileage. This worried me, but I tested by putting the EWS back into my E46 M3, and the car started with the new key.

    Thank you again!

Leave a Reply

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