So I'm the type of person who will NOT take my car to the dealer. All DIY maintenance and if I don't have the equipment for it I will buy or borrow it and watch youtube videos and do it myself. I have come to the conclusion it's better to go to the dealership to get keys rather than ebay and a locksmith or DIY. I will roughly explain the process of how the key making/programming is.
I just bought a 2012 528i and it came with one key. I wanted another one but I HATE HATE HATE going to dealers for anything. It's always at least 50% more expensive and I leave feeling like a chump being taken advantage of. I searched high and low for people in the LA area that can program a virgin key fob from ebay and cut the slide out key. Cutting it is not a big deal but programming it is.
So BMW has a pretty interesting system for authorizing keys. There's a module under the instrument cluster called the CAS4 module. I don't know what it stands for but the two functions that I know about it are keeping the mileage of the car and authorizing key fobs to work. It comes from the factory with 10 pre-authorized key fobs setup on it. The car is also has two fobs with it when it leaves the factory. Those take up slot 1 and slot 2. The other 8 fobs are not made yet but the car knows when it sees those keys that it's authorized to start and unlock with them. It requires the key to be synced but other than that they keys are ready to go as soon as you sync them using the process of holding it against the steering column like in the many other threads on this website. BMW is the only place that knows what keys are authorized. When you go to the dealer and buy another key they send an order to some BMW place in NJ that can look up that highly secretive information and make a key. They go down the list until you get to 10 keys then you need a new CAS4 module (about $900). You then have to get it programmed including transferring the mileage over from your old module. You probably have to get the driver door and center console lock cylinder rekeyed too. I'm not sure if the old keys get deactivated when new keys are activated. Maybe someone else knows.
The 2nd method bypasses all the pre-authorized system that BMW has in place. You can get a virgin key fob off of ebay or at a locksmith and they can reprogram the CAS4 module. It is quite the ordeal because you have to override the memory on it with programming tools. If you have a hiccup in the transfer or transfer the wrong file you can brick it. I'm not sure if the dealer can fix it after. Maybe but maybe you have to get a new one. They have several different hardware/software setups that can do this. They each cost several thousand dollars and have a very steep learning curve. I've seen BMW Explorer, VVDI2
, FVDI2, or a R270 programmer. They can also be used to change the mileage. https://youtu.be/6i4M7Q_hhmg
VVDI2 being used with Xhorse. It involves soldering hires directly to the CAS4 module. Not for the faint of heart. Apparently there's a way to do it through the OBDII port but I don't have any more info on that.
That's the only way I know of for getting new keys to work with your BMW. I could not get anyone in the Los Angeles area to offer to program the key for less than $500. Why not get it from a dealer and do it the right way for that kind of money?
I called several dealers and they all wanted from $300-$500 to order a fob and cut the metal key even though it all comes from the same place in NJ and they don't have to do anything except put in the order. I actually had a dealer give me a number for BMW USA to call or order the key from and it will be delivered to the dealership so they can verify the registration and my ID when I pick it up. BMW USA wanted $150 for it and they said I could probably sync it myself but I should not be charged anything by the dealer unless I have them do the syncing.
I hope this can help someone. I spend half a day doing this research and calling many locksmiths and dealers. I understand that I don't know exactly how this system works but I wrote this post up to the best of my knowledge. In your situation it still might be better to go to a locksmith and have them program your key. It might be cheaper elsewhere in the country to do that since there is not much demand for method 2 in California because of the BMW USA key hotline. If I was in NYC or so I would probably send my CAS4 module to the same guy who sells the keys on ebay since he offers the service for $250. It does not make economical sense for me to have a key made outside of the proper channels here in CA. If you find any mistakes please let me know and I will be happy to fix the post.
If you do decide to try and DIY, here
's a website that will probably help.