This DIY will guide you on how to reset the mileage of a BMW FXX FEM with affordable tools.
Opening notes:
As with any clone product, there is always a risk of something going wrong or corruption. Make sure to create a backup of everything before performing any write operations! At the very least, back up the 95128/95256 EEPROM of the FEM and the ISN and SK (secret key).
Tools required:
1. T48 TL866-3G Programmer
2. FEM Test Platform (You need your own power supply. The maximum current draw I saw was 1.8 amps so use a 12V 2A or stronger power supply. I attached a picture of the power supply I used for this and everything else done on the bench.)
3. 2018.12 E/F Scanner Full Version
4. ENET cable and working install of ESYS and ISTA in case something goes wrong.
If you buy FEM test platform from ebay (black one), it came pinned incorrectly for the OBD port. CON8 had pins in the wrong location. Pin 6 of the OBD port was supposed to go to pin 46 on CON8 but instead it was at 47. Additionally, Pin 8 of the OBD port was supposed to go to pin 53 on CON8 but instead it was at 46.
Benefits of this DIY:
1. Low cost
2. Reset mileage without desoldering EEPROM (eliminates the risk of killing the EEPROM from the heat!)
Steps:
*Any time you’re going to plug in E/F Scanner into your computer, make sure to disable internet, otherwise you will brick it.
1. Connect the FEM on the bench and make sure BMW Explorer communicates with it.
*Make sure to disconnect power from the FEM when doing the reads and writes to the EEPROM
2. Open up the FEM and using the adapters below, read the EEPROM using Xgpro (the software used with the T48). You will need to set the over current protection to the highest value (350mA). It is called “Vcc current Imax” in the software. After the read finishes successfully, always hit the verify button then save the file. The very first time I read the EEPROM, there were FFs in a lot of places that didn’t reappear during the other attempts. Note the orientation of the FEM in the picture. The red line on the wire indicates pin 1.
3. In BMW explorer, press quick test, wait until the FEM shows up, stop the test, double click on the FEM, then select “Mileage reset”
*Refer to Other information if you’re on an unsupported version
4. Once it’s done preprocessing, a pop up will tell you to read the EEPROM and upload the file to be modified. It will save a new file with “(Calc)” in the name. Disconnect power from the FEM and write the new file using the T48. Once done, make sure to hit the verify button to ensure the data was written appropriately.
5. If done right, the next step will be to update/program the FEM using BMW Explorer. It will take about 5-10 minutes. I had mine fail on the very first attempt and I assume it’s because of the power disconnection and reconnection during the EEPROM writes so communication may have been disturbed. Therefore, what I recommend is once you’ve written the new EEPROM file and powered up the FEM, close and reopen BMW Explorer then repeat step 3. It should automatically detect that the EEPROM is now unlocked and it will ask you to do the update. Once it’s done, a pop up should say “Reset mileage OK.” If all was done right, BMW Explorer should read “Km in ECU” in the top left corner as 0. You can ignore the value in “Save mileage.”
6. Disconnect power from the FEM and rewrite the original EEPROM file.
7. Rescan the FEM with BMW Explorer and ensure it communicates.
*As I had mentioned in step 5, the first flash attempt failed. Nothing went corrupt but when I read the FEM with ISTA, it showed there was a programming abort. I reflashed the FEM using ESYS and that resolved the issue.
Other information:
Although the change VIN option is greyed out, you can still change the VIN! It will be done under Extra options – Renew FEM/BDC – A window will pop up once it’s done loading to back up the data – Type in the new VIN then select “Change VIN only” – If successful, you should see Ok. You will need to have the EEPROM unlocked for this step.
After any flashing operations on the FEM, the EEPROM gets relocked and will need to be unlocked again for any other operations.
If the Renew FEM/BDC option is greyed out, it means the FEM is on an unsupported/too new SW version and needs to be downgraded. You can do that by selecting Extra Options – Programm ECU – From the list, select any of the supported SWFL versions from the attached image.
It’s important to note BMW Explorer fails to backup the CAFD if the FEM is on an unsupported/too new SW version so you will need to use ESYS to reinject the CAFD after downgrading. You’ll see at the end of the downgrading process when it asks to restore coding, the folder will come up blank. Just close it and hit ok then restore with ESYS.
I noticed a lot of operations that were performed seemed to always result in the FEM being placed in an program abort state. It’s not a big deal but I’d recommend updating/reflashing the FEM with ESYS once you are done with everything in BMW Explorer.
You can add keys using BMW Explorer. It requires the same process for unlocking the EEPROM so you can skip step 6 and jump to the key section. Then, go back to step 6 once successful. Exta options – Key learning – Select the slot you want to write to – Read SK – Insert functional key – Once read successfully and the pop up showing the security info shows, press ok – Write – Insert new key – Done
I did all of this on a test FEM. I haven’t actually connected it to the car so I cannot guarantee whether everything is functional.
Once the mileage is set to 0 in the FEM, it should pull the mileage from the cluster but only if the VIN matches between the cluster and FEM.