5 ways to switch KM to Miles on a BMW e39 M5 2000

This post is to offer 5 optional approaches to help how to switch KM to Miles on a BMW e39 M5 2000 year.

Car model and year:

BMW e39 M5 2000 year



The car is in KM, not miles. It was sold to him as having 122,000 miles. Carfax is in miles, registration is in miles, maintenance history is in miles… It’s was a Canadian car and the first owner was in Canada. The second owner was in California, and it was assumed to be switched at that time. It was in too good of shape to have 122k on it. They assured him it was miles. Well, I got a chance to put a couple hundred miles on it and noticed I was racking up miles way to fast, and the trip was displaying KM so, I set the trip when I hit a mile marker as the odo was rolling to I could see. Sure enough, it was KM. The car only has 76,000 on it.


Tools to use to switch KM to Miles:

  1. Option 1: You can probably change it through one of the modules (IIRC it’s KOMBI) using NCS Dummy / Expert. The following first paragraph tells you how to do it with NCS Expert. I highly recommend NCS Dummy which has English translations for the German parameters, and lets you tick boxes to activate / de-activate various features.


  1. Option 2: For a simple change like this, I recommend BMW Scanner 1.4 (a.k.a. PA Soft). Around $17 on worldobd2.com. Last I checked, you will need a 32bit Windows computer use it because the software is old, someone say they can use it on 64 bit-Windows as well, you just need to do a few extra steps to get the cable driver working properly. I got it running perfectly on my old Windows 7 64-bit laptop.. It also allows you to change many other dealer settings like auto locking and enable/disable daytime running lights. Google BMW Scanner or PA Soft for screenshots and DiY instructions.


  1. Other approach: The following second paragraph is on how to access to the hidden OBC if u dont have 1.4 PAsoft, this also tells you that test #12 in the hidden menu will let you toggle between them (miles and km).


  1. Another good option is to find a good list person w/ good setup who’ll do it for beers. Not everybody is cut out for the fun & good times that is setting up INPA/NCSexpert etc. PASoft is far easier but can be a bit more dangerous but is also a great scanning/diagnosis tool to have around. If you find somebody around you to help it can be actual real fun times too to hook up and check out some other E39s…


  1. On the other hand, is there a red dot near the trip mileage? If so, someone tampered with the instrument cluster. But that’s unlikely given that you say the car is in fabulous shape.




 – How to use NCS Expert to switch KM to Miles?

Part 1 – Steps to read miles using NCS Expert

  1. Connect your cable (BMW INPA K+DCAN cable or BMW ICOM A2 emulator) to your vehicle’s OBD II port and to your computer. Your vehicle’s ignition should be in the ON position, but your engine does not need to be running.
  2. Launch INPA and verify that it reads Battery: ON and Ignition: ON. You should also have a program called “EDIABAS Server” running in your task bar. If everything checks out, close INPA.

Leave the server running.

  1. Open “C:\NCSEXPER\WORK” and create an empty text file named “FSW_PSW.MAN”. I just use NOTEPAD for this.
  2. Launch NCS Expert. Go to File -> Load profil and select “Revtor’s NCS Expert Profile”, click OK.
  3. Select “VIN/ZCS/FA” then “ZCS/FA f. ECU”. This will tell NCS Expert to attempt to read your VIN from your vehicle’s ECU so you don’t have to type it in.
  4. Select your chassis from the list and click OK. Then select which module you want NCS Expert to read your VIN from. Usually the first choice is fine. Click OK again to have NCS Expert read your VIN. You should see the CHASSIS, FG, and FA fields populated in the top part of the NCS Expert window.
  5. Select “Back”, then “Process ECU”. You will be prompted to select a module. Select the module you want to read values from(in this case KOMBI OR AKMB) and click OK. Click OK again on the window that appears to return to the main NCS Expert window.
  6. Select “Job” and choose “CODIERDATEN_LESSEN” from the menu. This will change the job from one that writes to one that only reads data. Many of the job names look very similar. Always read job names carefully to ensure you select the correct one.
  7. At this point NCS Expert is relatively harmless, as all it can do is read from your car. Select “Execute job” to begin reading from your selected module. When you see “Coding ended” below the module name, the process has completed.
  8. Once NCS Expert has read data from a module, it stores that data in a file called

“FSW_PSW.TRC” (called a “trace file”) in the “C:\NCSEXPER\WORK” folder. This file contains some general information about your car, as well as all the values currently stored in the module you read from.


Part 2 – write odometer from miles to km using NCS Expert

Open “FSW_PSW.TRC”(you can use NOTEPAD) and find the field you wish to modify. Trace files are formatted as:



  1. Change the field value(s) to your desired settings(this is where you look for the WEG_EINHEIT field name, and change value to “km”), then save this file as “FSW_PSW.MAN”, overwriting the empty one you created earlier.
  2. If you closed NCS Expert, follow steps 1-6 in the section above to get back to the correct screen. Otherwise, NCS Expert is ready to code your module as soon as the job is changed back to the default, “SG_CODIEREN”. Do this by selecting “Job” and then “SG_CODIEREN”, then click OK. Verify that the correct job appears in the “JOBNAME” field.
  3. Click “Execute job” to have NCS Expert write the information from FSW_PSW.MAN to your vehicle. When you see “Coding ended” below the module name, the process has completed.

Depending on what you coded, you may need to turn your car off and back on again to verify the desired feature/behavior has taken effect.

  1. Open “FSW_PSW.MAN” and delete its contents. Save and close the file.

That’s all about BMW E series odometer change, from miles to km, using NCS Expert coding software.


– Procedure how to access to the hidden OBC? 

if you have 1.4 PAsoft you can do it.


if u dont have you need to open the hidden OBC secret (cluster) with the code and then go to test number 12


how to access to the hidden OBC please find below:


To unlock the On-Board-Computer use the two Instrument Cluster buttons (L=Left, R=Right)


1) Press and hold “R” down for 5-6 seconds

2) You’ll see TEST NR 01

3) Momentarily press “L”

4) You’ll see your vin ID, for instance, mine is 08685

5) ADD THE DIGITS :: 8 + 6 + 8 + 5 = 27

6) press “R” again until you reach TEST NR 19

7) Press “L” to select

8) You’ll see “LOCK: ON”

9) Press “L” until you reach “27” (the number that was the addition result)

10) AFTER you have the correct number showing, momentarily press the “R” button

11) Display will revert to TEST NR 01


The OBC is now unlocked








FGSTNR: GM8685 (VIN serial number)

K: 7744

BMWTNR: 8387061

CI:12 DI:06 BI:09

DAT: 43/98 (week and year of manufacture)

HW:04 SW:1100/1100

ZYL:08 M:4 S:4095 (cylinders, and what else?)

CAN:02 AEND:14



(Instrument test)


Only do this test in Ignition Position I or II with the engine not running




TNK: 7.5/31.0/38.5L (current fuel levels: left, right, total)

TNKANZ: 39.4L PHASE1 (average total fuel level)





KTMP: xxx°C (engine core temperature)

N: xxxxx U/MIN (engine RPM)

ATMP: +xx.0°C (ambient temperature)




V: xxx KM/H (current velocity)



VB: xx.x V (battery voltage)


Useful for battery condition tests. Engine not running value should be above 12V….cranking voltage should not drop below 9V. When fully charged the voltage should show > 14V



LAND: 02 US (country of sale?)









VANK: xxx.x KM/H

ANK: –:–








DIAG: 1 C7 81 000

DIAG: 2 00 00 000

DIAG: 3 00 00 000

DIAG: 4 00 00 000

DIAG: 5 00 00 000




PORT A00: xxxxxxxx

PORT A01: 00000111

PORT A02: xx0x0001

PORT A03: 00000011

PORT A04: 000×0101

PORT A05: 001B1111

PORT A06: 00110101

PORT B00: xxxxxxxx

PORT B01: 00100010

PORT B02: xx0x0110

PORT B03: x0111001

PORT B04: 000×1111

PORT B05: 11100111

PORT B06: 00000000


Tests No 15 and 16 show internal register values






Oil Temperature







(No response)



LOCK: OFF (press Reset to turn the lock back on)



KVBR: 1000


KVBR is the correction factor for the fuel-consumption meters. By default it is set to ‘1000’. Adjustment of this default value will give erroneous MPG figures



RESET all values to default and LOCK the OBC


More Product information Please Search: WOBD2 (World OBD2 Auto Diagnostic Tool)



Copy Protected by Chetan's WP-Copyprotect.