Quick update — I’ve managed to resolve this.
The miles/km setting is controlled in the internal EEPROM manufacturer data block, not through NCS Expert coding. I identified the relevant bytes and checksum logic and was able to toggle the display successfully.
I’ve documented the full process in a separate thread here:https://nam3forum.com/forums/forum/e36-1992-1999/e36-coding-tuning/351103-changing-odometer-display-miles-↔-km-on-bmw-e36-vdo-cluster-hw-7-1-sw-24
Thanks everyone for the input — it helped point me in the right direction.
Announcement
Collapse
No announcement yet.
DIY: Z3 Non-M gauge cluster to Z3M S54 Conversion
Collapse
X
-
Hi Joel,
Thanks, that makes a lot of sense regarding the mileage being stored as a unit-less value. I had originally thought switching units would recalculate the mileage to km, but your explanation clears that up.
I’ll have another go with NCS Expert — I might’ve been using the wrong profile or missed something there, so I’ll report back once I’ve tried again.
I’ll also send over the modified dump that’s displaying KM (it’s only the internal EEPROM), but it’ll probably be in a couple of days as I don’t have immediate access to my workshop.
Leave a comment:
-
Hi JackCob,
Send me (or post) your modified dump that’s displaying in KM. Also, the NCS Expert method should work. You’re possibly just using a profile that doesn’t support writing. But regardless, it won’t actually convert your mileage to KM. The EEPROMs store the mileage as basically a unit-less number. So when you change the units, the number does not change to match the new units. I’ll send you new dumps with your mileage updated to the correct value in KM.
Thanks,
Joel
- Likes 1
Leave a comment:
-
Hello everyone,
I’m trying to convert the odometer display from miles to kilometers on a US-spec M3 cluster (HW7.1, SW24).
I’m fairly new to EEPROM work, but I’ve managed to read the cluster and successfully extract both EEPROM dumps. I’ve been working with a hex editor for about a week now, comparing my dumps against several EU cluster dumps.
I also attempted to change the unit using NCS Expert, but it didn’t seem to have any effect on the cluster.
So far, I’ve noticed that if I copy the first 64 byte pairs from an EU dump into my own, the cluster will display mileage in kilometers and the tamper dot disappears. However, it still retains and displays the original mileage in miles, with the kilometer value shown separately in the corner.
Any further modifications I’ve tried result in an “EEP-2” error on the cluster, so I’ve backed off from changing anything else blindly.
One concern I have is that the EU dumps I’m comparing against are not from M3 clusters. I’m worried that differences in configuration (such as speedometer scaling and RPM scaling) may be outside of the correct range for my cluster if I try to apply those values directly.
At this point, I’m not fully sure how the mileage, unit conversion, and checksum/data structure are tied together in this EEPROM. I’m looking for guidance on how to properly approach this conversion, or what I may be missing in terms of the correct bytes/structure that need to be modified.
If anyone has experience with this cluster or can point me in the right direction (even just concepts or what to look for in the dump), I’d really appreciate the help.
Thanks in advance.Last edited by JackCob; 04-06-2026, 10:32 AM.
Leave a comment:
-
Hey everyone, the forum has failed to notify me of a few DM's via email recently. Since I don't sign in here very often, I've missed a few messages recently. I think I'm caught up on DM's at the moment. If you've sent me a DM recently, and I haven't responded, please send me another message. Life has been busy recently, so I may have totally forgotten to respond to someone. I check my social media a lot more regularly, so if you're having trouble contacting me here, try one of my social media accounts. My instagram is: @joelbanzhaf. I still commonly build these clusters for people, and am also happy to assist any of you attempting it yourself.
Thanks,
Joel
- Likes 1
Leave a comment:
-
Hey Joel yea it seems thats correct, I have since looked into it for the firmware and it wasn't included in the winkfp software package. I have briefly tried .bin flashing an 09.99 canbus cluster with the 50k km cluster dumps I have, and it gave an eeprom error code. I think the internal eeprom didn't take. I always desolder, using TL866 II, straight forward. I haven't tried re-doing it or investigating as no time in that moment, but I will do and try to verify what went wrong.Originally posted by JBanzhaf View PostUnfortunately, as far as I’m aware, Z3 clusters don’t use a flashable firmware. These clusters are coded instead. So WINKFP doesn’t have any functionality for them. I have tried coding it with NCS expert, but so far I haven’t found a way to make the necessary changes with NCS expert. If you feel like sending it to me, I’d be interested in seeing the dump from the uncoded cluster.
Thanks,
Joel
Once I get 10 posts here, I'll be able to message you. I might just upload to a fileshare and paste it here though.
Leave a comment:
-
Unfortunately, as far as I’m aware, Z3 clusters don’t use a flashable firmware. These clusters are coded instead. So WINKFP doesn’t have any functionality for them. I have tried coding it with NCS expert, but so far I haven’t found a way to make the necessary changes with NCS expert. If you feel like sending it to me, I’d be interested in seeing the dump from the uncoded cluster.
Thanks,
Joel
Leave a comment:
-
I have a 2001 50k KM cluster I can share the bin dumps from, as well as a brand new uncoded cluster that is virgin to share bin files from. The uncoded cluster isnt of much use though.
is there not a way to code the nonM canbus cluster via winkfp to flash z3m firmware into it?
Leave a comment:
-
Hi Joel
Thanks for your prompt reply, really appreciate.
So I will try, there are two option to copy dump from coding plug and internal eeprom : remove eeprom by hot air gun or to use special plug to get contact with pin
Leave a comment:
-
JMH083,
Welcome! If I understand what you’re saying, that should work. You need to read the dump from both the internal EEPROM and the coding plug EEPROM from your original cluster. Then write both of those onto your new one. As long as you have successful reads and writes, you’ll have a clone of your original cluster, with mileage and vin transferred.
Thanks,
Joel
Leave a comment:
-
Hi.
I am new on this forum I am wondering if I can get you support.
As I had a pb with my old odometer of my Z3, so I have bought a New one.
My idea will be to copy dump of my old odometer then to copy on internal eeprom if new odometer, my objective will be to recover my mileage and my vin number.
As I know this internal eeprom is protected so I would like to get your opinion
Thanks
Leave a comment:
-
Apparently, the 2001 model doesn't have any coding for the lighting. So I have to modify the wiring and install a new relay.
Leave a comment:
-
NCS Expert and NCS Dummy are the programs used for coding E36’s. There are some decent guides online that will teach you how to use them. They are relatively difficult programs to get started with. You’ll also need some type of interface to connect the car to a computer (K+Dcan cable or ICom).Originally posted by AnthoZ3 View PostHi JBanzhaf, Thank you for your message. With what tools (diagnostic case) can I see this?
Leave a comment:
-
Hi JBanzhaf, Thank you for your message. With what tools (diagnostic case) can I see this?
Leave a comment:

Leave a comment: