1. Site Downtime Planned for Server Migration by end of October.

Programming and Coding FAQ


This is a collection of frequently asked questions about programming/coding.

Cluster Virginizing

This section is for those that want to know how to retrofit M3 cluster or replace your dash cluster when it has problems.

This process of making a cluster ready to swap is called Cluster Virginizing. Inside a cluster there is a memory chip, in this case an EEPROM. This EEPROM holds the information about mileage, the VIN number to the vehicle it is associated to, etc.

So you need to do when installing a second hand cluster from an M3/M5 or not, is to virginize it, i.e. delete the hardcoded information from EEPROM.

This hardcoded information is mileage, which is written in incremental area of the EEPROM as well as the VIN number. If the VIN number in the cluster does not match the other modules in the destination car, you will have a little dot next to mileage on the LCD screen of the cluster which means there has been some tampering.

When installing a cluster from other car, the cluster and CAS modules will check the mileage they have recorded, and they will synchronize them to whichever is highest. So for example, if the cluster you are installing in the car has 100k miles, and your car only has 50k miles, 100k miles will be copied to CAS, or vice-versa. So this is why the mileage needs to be deleted from the EEPROM. As for the VIN, some people edit the VIN number directly in EEPROM after virginizing the cluster, and some just delete it and set the VIN when the module is coded in the car when it gets reinstalled.

Dealers will not perform this service unless you buy brand new cluster. There are services, where you can mail them your used cluster, they will prepare it (Virginize it) and send it back to you and code it to your car remotely. If you need it, you can try here: https://bmw.spoolstreet.com/shop/virginize-used-cluster-for-retrofit-stock-or-m3.47/

Also, Background color of the Cluster can be changed, as on this picture:

You can read more here:


In early models, the system responsible for security in BMW cars was called EWS (Elektronische Wegfahr Sperre).
However lately, the EWS has become part of the CAS Module (Car Access System). And on latest models FEM (Front Electronic Module) module is responsible for that function.

The way these systems work is by having the same password in the EWS/CAS/FEM and DME/DDE systems. This password is called the ISN. Whenever a person tries to start the car, the DME/DDE checks the ISN stored inside it with the one stored inside the EWS/CAS/FEM.
If the passwords don't match, the injectors will not open.

So, what is needed in case your DME/DDE needs replaced or is fried? One way is to go to the dealer and pay a couple of thousand dollars to purchase brand new DME/DDE to fix the problem.

The alternative is to purchase a used DME/DDE for cheap, then find an Indy who has the special advanced tools, so the ISN can be copied from replacement DME/DDE to your EWS/CAS/FEM.

As with cluster virginization, there are services where you can mail in your modules and they mail them back, synchronized and ready to work with the replacement DME/DDE. If you need this service, you can try here:


Windows don't work,
Lights are not controllable,
Cornering lights don't work

BMW had a bug in lighting module, called FRM, which is installed on E9X cars.

Fairly often, when changing the battery or doing diagnostics on the car, they can just fail arbitrarily.
Fortunately BMW offers replacement for them, so it would be good idea to ask Dealer first.

If you can't get a replacement from BMW, there are Indies who can fix the fried FRMs for relatively cheap price.
In 99.9% of all cases it will be recovered and then mailed back in working condition. You only have to install it, no additional steps are necessary.
If you need this service, you can try here: