BMW M5 Forum and M6 Forums banner

DIY: How to reprogram a used cluster to match your car's mileage, VIN and coding

133K views 51 replies 27 participants last post by  Black Lightning  
#1 · (Edited by Moderator)
Hey guys, I know several people have been asking me if I can help them to reset the mileage on a used cluster in order to allow it to match their car's actual VIN, mileage, and coding, just like buying a brand-new uncoded cluster from the dealer or other parts websites, so I have decided to provide the instructions on how to do it. Keep in mind that this information is to make your cluster download the correct information from your LCM and EWS modules and not to set the mileage to something it isn't. I realize that some people could possibly use this information in that way, but unless they change other modules and the key, there will always be a record of the original miles to compare the cluster too.

So, let's move on to the actual information. In order to do this properly, you will need PA Soft 1.4.0 and the associated cable and preferably an INPA cable as well in order to use NCS Expert in case you are planning on installing an M5 cluster into a non-M5 or an e39 cluster into an e38 or vice versa. This is because some options are unavailable to PA Soft (e.g. setting the fuel tank size so the fuel gauge reads correctly when switching between e39 and e38 cluster), while some options are much easier to set in PA Soft, including restoring from a backup of your EEPROM, which is discussed below. If you don't have these, the cables are fairly cheap and can be found on eBay or other such sites. I have no affiliation, but www.bimmersoftware.com sells an FTDI 232-RL-based cable (INPA type) for about $40 that ships from the US (gets to you much quicker) and has been tested before shipping. I do know that most if not all will need pins 7 and 8 soldered together inside the cable for it to see all modules, but that's discussed in other DIYs.

First, make a backup using PA Soft of the cluster's EEPROM since you'll need to restore it after setting the VIN and mileage. After you have made your backup, use INPA and go to the "Activate" and then "Activate Analog" menu under the cluster section. This will let you set an angle or speed manually. Then you record the needle position for a given angle or speed. I set the angle to specific marks on the gauges so I can easily see where to set the needles when recalibrating them later, for example setting the angle of the tach so that it lines up with 2500 RPM. Using the speed value instead of the angle for the speedo will let you decide how much additional mph it reads over what you actually are going (5% correction that is built-in to the cluster). After recording the angles of each needle, make sure you get a very good hold on the motor shafts with the pliers. The best way to tell when you have a good grip on the shaft is by twisting the needle and listening for a creaking sound. If you don't hear the creaking, you're turning the shaft and will likely damage the motor by trying to remove the needle. If you do hear the creaking, just lightly pull while twisting back and forth a little (really just a little bit) and they will come off pretty easily. As for the MPG/Oil Temp gauge needle, to remove it, just use a small salad fork to pry it up. The reason that one is different is that the shaft that it is on doesn't go into the motor. Instead, it connects to the motor's shaft through a couple of gears. Anyways, once you have the needles off, carefully pull the faces off, but you will encounter some resistance on the left side of the cluster when pulling due to the electrical connector that goes to the warm-up led board on the back of the faces. After that's been removed, you should see the 93S66 chip in pretty much the same location the m35080 chip would be on the newer clusters (refer to pictures on the web of where that is). To remove the red epoxy, I use my heated-up soldering iron tip and lightly scrape it off. You'll see that as the epoxy heats up, it crumbles and you can scrape it away. Keep the soldering tip clean by using a wet sponge while you're working. After the epoxy is out of the way, add a bit of solder to the legs on the chip and then add some solder flux. Then use some solder wick to pull up as much of the solder as you can. There might be just a little bit, so try to quickly apply heat to all the legs of the chip while prying it up with a small flat screwdriver on the chip. There is also a bit of epoxy under the chip, so this might be a little difficult. You really don't want to pull up the pads under the chip, so be careful.

Ok, so now you've got the old chip off and a new one ready to go on. Make sure the orientation is the same as the chip you took off. Mine was the opposite of the M35080 chips I'd taken off, which meant the writing was upside down when looking at the board. The M35080 chips were right-side up. There are no indicators telling you where pin 1 is, so that's why I recommend this method. Go ahead and clean the solder pads and solder the new chip in place of the old one.

Now, I made a test bench setup so that I can power the cluster and connect my obd2 cables without being in the car (it's cold in my garage), but you should be able to do this in the car as well. Power on the cluster and make sure that all the lights come on (they might be on a lot brighter than normal) and the mileage reads 26x,xxx miles (don't worry, this is effectively 0). You might also have a blinking tamper dot, which means that there is a problem with the EEPROM (obviously, it's blank). If nothing lights up except for a red or yellow light on the right side of the board, you have the 93S66 installed upside down. Open up PA Soft 1.4.0. You'll probably get an error either talking to the EWS or IKE, but this is fine. After it identifies the IKE, you should see all xxxxx in the VIN and ZCS area and I can't remember what's in the mileage, but I think it's 441xxx km. Anyways, close the identify window and double-click on IKE. It again will give you some kind of error and take a bit longer to read the data but should show xxxxxxx in the FGSTNR window, and show FF in all the HW, SW, Date, etc. windows. The first thing you'll notice is that the algorithm will be misdetected. This is fine. Click the Read EEPROM command. You should see the hex values being pretty much all FFs.

THIS PART IS VERY IMPORTANT!!!

Do not set the mileage first. If you do, you will not be able to change the VIN. Click change algorithm and set it to 93S66 - sw13. Then go to Reprogramming and set the FGSTNR to the last 7 of your VIN. After doing this, I think you could turn the key to position 2 and it would download the mileage, but as I said before, mine was on a bench, so I manually set the mileage. If your mileage is set to the car by the first method, then restore from the original backup you made before beginning this whole thing. If not, change the algorithm to 93s56 - Tacho, then go to Reprogramming, then Write Odometer. You should then be able to set the mileage to whatever your correct mileage is on your LCM or EWS. Make sure you input it in kms, not miles. Now restored from the backup you made previously.

After setting the mileage either by the LCM method or manual method, make sure you change the algorithm back to 93S66 - sw13 before restoring from your previous backup. Since the mileage and VIN have already been set and can't be changed, it should only restore everything but them. That means that the cluster will act exactly as it did when you first put it in the car, except the VIN and mileage will match the car. You shouldn't need to code it to the car unless you bought the cluster used and didn't copy the ZCS information from the EWS before, but that doesn't mean you can't do it after.

After you've tested to make sure everything is working, it's time to reinstall the gauge faces and the needles. The first should be self-explanatory, but reinstalling the needles shouldn't be too complicated. After you have the gauge faces on, plug it back into the car, load up INPA, and go to the same menu you were on before. Set the angles that you recorded before and while it's at that angle, carefully hold the tip of the needle over the value you recorded and press down on the base of the needle just a bit. I usually set the angle to 10*, then go back to the angle I recorded to make sure it keeps going back to where it should. If you're a bit off, don't yank the needle off, just turn it as far as it will go until it hits the stop, then nudge it just a bit in the direction you need to adjust. Rotate it back and let the motor try to go back to its set point. If you nudged it too far, do the same in the opposite direction. Once you have it in the right spot, hold the tip of the needle where you want it again, and press down on the base of the needle until it's just above the gauge face. I think it's somewhere around 1 mm or so above the face. Check the angles again to make sure you got it still in the right spot and if not, do the same adjustment technique as mentioned above. I recommend doing the Tach needle before doing the Oil Temp since it's much more difficult to adjust the tach needle with the Oil temp needle in the way.

Reassemble the cluster and you should be back in business.

I should also mention that everything in my above post applies to the M35080 clusters as well, except of course that the chip is different and that the algorithm will be detected as 0 by default instead of M35080-1 like you would expect. The other issue with the M35080 cluster is that you will not be able to manually set the mileage without having the LCM connected to the cluster unless you program the mileage using an M35080 programmer before soldering the chip onto the board. This is because PA Soft cannot write mileage to the M35080, even if it is zeroed out. That being said, I think you can use tool32 to program the freshly installed blank M35080, but I haven't tested that method, and I still think you need it in the car for it to download the correct mileage from the LCM.

One more tidbit of information that I've discovered in testing multiple clusters lately, If you have two clusters that use the same hardware and software numbers, but are non-m and M5 clusters, you can desolder the green connector from the back of the M5 cluster (the one that the gauge face circuit board plugs into) and solder it to the open spot on the non-m cluster and put the M5 gauge faces on the non-m cluster. Then load the EEPROM backup made by PA Soft of the M5 cluster onto the non-M cluster. Now you can install the M5 gauge faces on the formerly non-M cluster.

Why would you want to do this you say? Well, there are a couple of reasons you might want to. Most of the replacement clusters that BMW installed as part of the Goodwill replacement had a brand new ribbon cable for the LCD. This new ribbon cable uses an actual connector on the board instead of the crappy glue that the old ribbon used, so you should pretty much never need to repair them for bad pixels. That means that if you find a 2004+ E39 or E38 cluster for cheap and you have an M5 cluster with bad pixels, you can swap them over for a bit of an upgrade.

The other reason that someone might want to do this is that the non-m clusters had the orange/amber colored LEDs for the needles and numbers as opposed to the yellow that the m5 clusters got. Some prefer the orange/amber, just like some prefer the black face gauges over the gray, so doing this is an easy way of getting orange LEDs with an M5 cluster. I've tested this with both black faces and gray and I have to say the black faces look better with orange than the gray.

Now, keep in mind, I have two clusters that are both the new ribbon type (the m5 cluster was made in 2005, and the 740i cluster was made in 2007) and they swapped over properly. If you don't have a copy of an M5 cluster's EEPROM from your hardware and software version, PM me, and I'll see if I have one that will work. I also have a cluster made in 2002 (non-m) that I am going to try on to make sure it works with it as well. Basically, the EEPROM backup should adjust the stepper motors to the correct settings for the M5 (higher speedo and tach). There is a possibility that you can adjust these settings using NCS Expert, but I haven't tried it yet to confirm.

I will add some pictures to this DIY soon since I'm going to be working on another cluster soon and can document it as I go to make sure I get everything you all will need.

If anyone feels uncomfortable doing this themselves, please feel free to PM me for any additional help
 
#3 ·
Awesome! So glad I could help. Thanks for the update too.
 
#6 ·
Thanks Brian!
 
#7 ·
Great informative post.
 
#8 ·
Thanks!
 
#9 ·
Awesome post my man. Awesome post!
 
  • Like
Reactions: blackknight530i
#10 ·
I appreciate that!
 
#11 ·
Great info.
 
  • Like
Reactions: blackknight530i
#12 ·
need help for my 94 740IL cluster!!!

Hi there, ran across your post on re coding clusters. I have a big problem on my 94 740 IL and don't know what to do. i have sent it out twice to places that supposedly rebuild them but they tell me its too old or un fixable.
The problem started when a capacitor in the cluster leaked. this is a common problem with the E32's I guess. The symptoms are: fuel gauge pinned to the left, temp gauge pinned to right, warning messages in German, rpm not accurate, and the biggest issue is the mileage! My mileage went from about 98k to 163k!
I have fixed the capacitor problem yet the cluster is still screwed up with the same problems.
I obtained a used cluster and plugged it up and it works perfect except that its coded to another vehicle (E34) and reflects that mileage. Here is the weird part, i took the eeprom off of my original cluster and put it into the used cluster in hopes of transferring all my vehicle info to that cluster but, the used cluster now inherited all the problems from my orginal cluster! Then i took the eeprom from the used cluster and put it into my original cluster and my cluster worked perfect! However, it has all the info from the used cluster and car. So, i figure my original eeprom is corrupt!!! Is there any way of recovering my original miles and vehicle info and recoding the eeprom so my cluster works and reflects the original miles to my car? i have proven that the cluster actually works perfect just not with the original eeprom. PLEASE HELP!!!! I noticed some members sent you their clusters and you reprogrammed them. Any info or help would be appreciated. I would send it to you as well if that is something you do. Thanks a bunch. Btw i cant send you a PM because i have to have 45 posts or more and i just joined this board when i saw your post. please help!!! Thanks again. NG
 
#13 ·
Hi there, ran across your post on re coding clusters. I have a big problem on my 94 740 IL and don't know what to do. i have sent it out twice to places that supposedly rebuild them but they tell me its too old or un fixable.
The problem started when a capacitor in the cluster leaked. this is a common problem with the E32's I guess. The symptoms are: fuel gauge pinned to the left, temp gauge pinned to right, warning messages in German, rpm not accurate, and the biggest issue is the mileage! My mileage went from about 98k to 163k!
I have fixed the capacitor problem yet the cluster is still screwed up with the same problems.
I obtained a used cluster and plugged it up and it works perfect except that its coded to another vehicle (E34) and reflects that mileage. Here is the weird part, i took the eeprom off of my original cluster and put it into the used cluster in hopes of transferring all my vehicle info to that cluster but, the used cluster now inherited all the problems from my orginal cluster! Then i took the eeprom from the used cluster and put it into my original cluster and my cluster worked perfect! However, it has all the info from the used cluster and car. So, i figure my original eeprom is corrupt!!! Is there any way of recovering my original miles and vehicle info and recoding the eeprom so my cluster works and reflects the original miles to my car? i have proven that the cluster actually works perfect just not with the original eeprom. PLEASE HELP!!!! I noticed some members sent you their clusters and you reprogrammed them. Any info or help would be appreciated. I would send it to you as well if that is something you do. Thanks a bunch. Btw i cant send you a PM because i have to have 45 posts or more and i just joined this board when i saw your post. please help!!! Thanks again. NG
Hi,

I don't really have any experience with the older clusters, but I did find this site: http://www.exx.se/maintenance/instrument_cluster_e34/index.shtml that seems to have some interesting information about the clusters you're talking about. What it doesn't say is whether or not the cluster can be coded to match and have the mileage match. I don't see why it couldn't, and possibly using PA Soft could have the mileage corrected. I would probably need both clusters, and ideally a set of connectors to plug into the cluster with wires so I can make a harness to work with them. If the car is not a daily driver, I could take a look at it and see what I can do.

Also, you can email me at blackknighti30 at gmail dot com if you have more questions.
 
#15 ·
Hey Sailor,

No, I don't really deal with anything but BMW, though I am considering doing some of the same kind of work with Mercedes and Audi as I hear they have some similar issues.
 
#16 ·
Audi could use your help. My RS4 was hard. Mine was over tuned(600 -700 hp) and had some issues that seemed to have no resolution. One thing that always got me was the speedo stopped at 210 Km/hr even though the speed limiter was removed and the car clearly was accelerating.
Love my Dad but I don't do modern Mopars, although I would shove a modern hemi in a 70s car and make it work.
 
#17 ·
Paul, thank you for a very informative post!

I have (I hope) an easier task in front of me and seeing how you understand very well our clusters, I thought I'd ask you here:

My cluster was removed for a new ribbon installation (dead pixels) and I drove the car in the meantime. It only took one night for the fix, but I managed to do 40 km in the meantime.

Now the cluster shows 40 km less then INPA, Rheingold or ISTA-P shows. There is no tampering dot, no issues, just me seeing this discrepancy every time I connect my car to the computer.

I know it sounds strange for someone to actually want to increase their mileage, but I am keeping my car immaculate and that includes these little details too.

Is there an easy way (without constructing a specialized bench or taking apart my cluster) to harmonize those 2 readings please?

I am walking through NCS Expert, INPA and ISTA with some guidance, but I am nowhere near being an expert.

Thank you very much!

Andy
 
#18 ·
Have you driven more than 40km yet? The IKE only syncs the LCM and EWS every 60km traveled, so it will likely show it being off for a while anyways, then resync once you've traveled over I think 60 or 120 km. If it doesn't and the LCM and EWS keep increasing higher than the IKE, you can use PA Soft to set the LCM to match the IKE, then the EWS will stay where it is until the LCM syncs with it after you've driven it a while.

All that said, you might just drive for 120 km and check it again, but usually, the IKE will advance past the LCM and EWS and those will always lag behind a bit. That's completely normal.
 
  • Like
Reactions: apetrov1x5
#21 ·
Are you 100% sure it wasn't off by 40km before the ribbon fix?

I'm thinking perhaps the cluster offset is set to 40km. The offset can be anywhere from 0 - 255km; this is set if the cluster's mileage is ever reset back to 0 when below 255km (likely to happen for example if the car was tested a bit at the factory before being delivered). Can you check what 0xA6 corresponds to in your EEPROM?
 
#22 ·
To be completely honest - NO, I am not sure. The cluster repair was done when I was only beginning to read this forum and started connecting the laptop to the car much later. It was then when I noticed the difference and I assumed that it was due to the cluster removal and driving without it for a while. And the distance traveled - I never clocked it exactly, but seems realistic to the difference I have now.

I just didn't assume there could another explanaition, but here we are with another (much more) plausible cause for the difference in readings!

Thank you very much for that!.

And I have no idea how to read EEPROMs
 
#24 · (Edited)
Hey Paul, still can't send PMs.
I just bought a 2000 M5 up in Connecticut and I'm from Charlotte (currently doing an internship up here).
I posted about my tribulations with the car a little while back. Well the cluster stopped working since I fiddled with it and put it back in (already checked connections): speedo and water temp are done, tach is jumpy.
When I'm back in Charlotte, anytime after next week, would you be willing to reprogram the one I just bought from Adam (Clemster)?
 
#25 ·
Hey guys, I know several people have been asking me if I can help them to reset the mileage on a used cluster in order to allow it to match their cars actual VIN, mileage, and coding, just like buying a brand new uncoded cluster from the dealer or other parts websites, so I have decided to provide the instructions on how to do it. Keep in mind that this information is to make your cluster download the correct information from your LCM and EWS modules and not to set the mileage to something it isn't. I realize that some people could possibly use this information in that way, but unless they change other modules and the key, there will always be a record of the original miles to compare the cluster to.

So, lets move onto the actual information. In order to do this properly, you will need PA Soft 1.4.0 and the associated cable and preferably an INPA cable as well in order to use NCS Expert in case you are planning on installing a M5 cluster into a non-M5 or an e39 cluster into an e38 or vice versa. This is because some options are unavailable to PA Soft (e.g. setting the fuel tank size so the fuel gauge reads correct when switching between e39 and e38 cluster), while some options are much easier to set in PA Soft, including restoring from a backup of your EEPROM, which is discussed below. If you don't have these, the cables are fairly cheap and can be found on ebay or other such sites. I have no affiliation, but www.bimmersoftware.com sells a FTDI 232-RL based cable (INPA type) for about $40 that ships from the US (gets to you much quicker) and has been tested before shipping. I do know that most if not all will need pins 7 and 8 soldered together inside the cable for it to see all modules, but that's discussed in other DIY's.

First, make a backup using PA Soft of the cluster's EEPROM since you'll need to restore it after setting the VIN and mileage. After you have made your backup, use INPA and go to the "Activate" then "Activate Analog" menu under the cluster section. This will let you set an angle or speed manually. Then you record the needle position for a given angle or speed. I set the angle to specific marks on the gauges so I can easily see where to set the needles when recalibrating them later, for example setting the angle of the tach so that it lines up with 2500 RPM. Using the speed value instead of the angle for the speedo will let you decide how much additional mph it reads over what you actually are going (5% correction that is built-in to the cluster). After recording the angles of each needle, make sure you get a very good hold on the motor shafts with the pliers. The best way to tell when you have a good grip on the shaft is by twisting the needle and listening for a creaking sound. If you don't hear the creaking, you're turning the shaft and will likely damage the motor by trying to remove the needle. If you do hear the creaking, just lightly pull while twisting back and forth a little (really just a little bit) and they will come off pretty easily. As for the MPG/Oil Temp gauge needle, to remove it, just use a small salad fork to pry it up. The reason that one is different is that the shaft that it is on doesn't go into the motor. Instead, it connects to the motor's shaft through a couple gears. Anyways, once you have the needles off, carefully pull the faces off, but you will encounter some resistance on the left side of the cluster when pulling due to the electrical connector that goes to the warm-up led board on the back of the faces. After that's been removed, you should see the 93S66 chip in pretty much the same location the m35080 chip would be on the newer clusters (refer to pictures on the web of where that is). To remove the red epoxy, I use my heated up soldering iron tip and lightly scrape it off. You'll see that as the epoxy heats up, it crumbles and you can scrape it away. Keep the soldering tip clean by using a wet sponge while you're working. After the epoxy is out of the way, add a bit of solder to the legs on the chip and then add some solder flux. Then use some solder wick to pull up as much of the solder as you can. There might be just a little bit, so try to quickly apply heat to all the legs of the chip while prying it up with a small flat screwdriver on the chip. There is also a bit of epoxy under the chip, so this might be a little difficult. You really don't want to pull up the pads under the chip, so be careful.

Ok, so now you've got the old chip off and a new one ready to go on. Make sure the orientation is the same as the chip you took off. Mine was the opposite of the M35080 chips I've taken off, which meant the writing was upside down when looking at the board. The M35080 chips were right side up. There are no indicators telling you where pin 1 is, so that's why I recommend this method. Go ahead and clean the solder pads and solder the new chip in place of the old one.

Now, I made a test bench setup so that I can power the cluster and connect my obd2 cables without being in the car (it's cold in my garage), but you should be able to do this in the car as well. Power on the cluster and make sure that all the lights come on (they might be on a lot brighter than normal) and the mileage reads 26x,xxx miles (don't worry, this is effectively 0). You might also have a blinking tamper dot, which means that there is a problem with the EEPROM (obviously, it's blank). If nothing lights up except for a red or yellow light on the right side of the board, you have the 93S66 installed upside down. Open up PA Soft 1.4.0. You'll probably get an error either talking to the EWS or IKE, but this is fine. After it identifies the IKE, you should see all xxxxx in the VIN and ZCS area and I can't remember what's in the mileage, but I think it's 441xxx km. Anyways, close the identify window and double click on IKE. It again will give you some kind of error and take a bit longer reading the data, but should show xxxxxxx in the FGSTNR window, show FF in all the HW, SW, Date, etc. windows. First thing you'll notice is that the algorithm will be misdetected. This is fine. Click the Read EEPROM command. You should see the hex values being pretty much all FF's.

THIS PART IS VERY IMPORTANT!!!

Do not set the mileage first. If you do, you will not be able to change the VIN. Click change algorithm and set it to 93S66 - sw13. Then go to Reprogramming and set the FGSTNR to the last 7 of your VIN. After doing this, I think you could turn the key to position 2 and it would download the mileage, but like I said before, mine was on a bench, so I manually set the mileage. If your mileage is set to the car by the first method, then restore from the original backup you made before beginning this whole thing. If not, change the algorithm to 93s56 - Tacho, then go to Reprogramming, then Write Odometer. You should then be able to set the mileage to whatever your correct mileage is on your LCM or EWS. Make sure you input it in kms, not miles. Now restore from your backup you made previously.

After setting the mileage either by the LCM method or manual method, make sure you change the algorithm back to 93S66 - sw13 before restoring from your previous backup.Since the mileage and VIN have already been set and can't be changed, it should only restore everything but them. That means that the cluster will act exactly as it did when you first put it in the car, except the VIN and mileage will match the car. You shouldn't need to code it to the car, unless you bought the cluster used and didn't copy the ZCS information from the EWS before, but that doesn't mean you can't do it after.

After you've tested to make sure everything is working, it's time to reinstall the gauge faces and the needles. The first should be self explanatory, but reinstalling the needles shouldn't be too complicated. After you have the gauge faces on, plug it back into the car, load up INPA, and go to the same menu you were before. Set the angles that you recorded before and while it's at that angle, carefully hold the tip of the needle over the value you recorded and press down on the base of the needle just a bit. I usually set the angle to 10*, then go back to the angle I recorded to make sure it keeps going back to where it should. If you're a bit off, don't yank the needle off, just turn it as far as it will go until it hits the stop, then nudge it just a bit in the direction you need to adjust. Rotate it back and let the motor try to go back to it's set point. If you nudged it too far, do the same in the opposite direction. Once you have it in the right spot, hold the tip of the needle where you want it again, and press down on the base of the needle until it's just above the gauge face. I think it's somewhere around 1 mm or so above the face. Check the angles again to make sure you got it still in the right spot and if not, do the same adjustment technique as mentioned above. I recommend doing the Tach needle before doing the Oil Temp, since it's much more difficult to adjust the tach needle with the Oil temp needle in the way.

Reassemble the cluster and you should be back in business.

I should also mention that everything in my above post applies to the M35080 clusters as well, except of course that the chip is different and that the algorithm will be detected as 0 by default instead of M35080-1 like you would expect. The other issue with the M35080 cluster is that you will not be able to manually set the mileage without having the LCM connected to the cluster unless you program the mileage using a M35080 programmer before soldering the chip onto the board. This is because PA Soft cannot write mileage to the M35080, even if it is zeroed out. That being said, I think you can use tool32 to program the freshly installed blank M35080, but I haven't tested that method, and I still think you need it in the car for it to download the correct mileage from the LCM.

One more tidbit of information that I've discovered in testing multiple clusters lately, If you have two clusters that use the same hardware and software numbers, but are non-m and M5 clusters, you can desolder the green connector from the back of the M5 cluster (the one that the gauge face circuit board plugs into) and solder it to the open spot on the non-m cluster and put the M5 gauge faces on the non-m cluster. Then load the EEPROM backup made by PA Soft of the M5 cluster onto the non-M cluster. Now you can install the M5 gauge faces on the formerly non-M cluster.

Why would you want to do this you say? Well, there are a couple reasons you might want to. Most of the replacement clusters that BMW installed as part of the Goodwill replacement had a brand new ribbon cable for the LCD. This new ribbon cable uses an actual connector on the board instead of the crappy glue that the old ribbon used, so you should pretty much never need to repair them for bad pixels. That means that if you find a 2004+ E39 or E38 cluster for cheap and you have a M5 cluster with bad pixels, you can swap them over for a bit of an upgrade.

The other reason that someone might want to do this is because the non-m clusters had the orange/amber colored leds for the needles and numbers as opposed to the yellow that the m5 clusters got. Some prefer the orange/amber, just like some prefer the black face gauges over the gray, so doing this is an easy way of getting orange leds with an M5 cluster. I've tested this with both black faces and gray and I have to say the black faces look better with orange than the gray.

Now, keep in mind, I have two clusters that are both the new ribbon type (the m5 cluster was made in 2005 and the 740i cluster made in 2007) and they swapped over properly. If you don't have a copy of an M5 cluster's EEPROM from your hardware and software version, PM me and I'll see if I have one that will work. I also have a cluster made in 2002 (non-m) that I am going to try this on to make sure it works with it as well. Basically, the EEPROM backup should adjust the stepper motors to the correct settings for the M5 (higher speedo and tach). There is a possibility that you can adjust these settings using NCS Expert, but I haven't tried it yet to confirm.

I will add some pictures to this DIY soon since I'm going to be working on another cluster soon and can document it as I go to make sure I get everything you all will need.

If anyone feels uncomfortable doing this themselves, please feel free to PM me for any additional help
Do you do this on e60 clusters?
 
#26 ·
Not yet as I don't have the equipment to hook them up on the bench. I plan to in the future though.

Sent from my SM-N910V using Tapatalk
 
#27 ·
Hey guys, I know several people have been asking me if I can help them to reset the mileage on a used cluster in order to allow it to match their cars actual VIN, mileage, and coding, just like buying a brand new uncoded cluster from the dealer or other parts websites, so I have decided to provide the instructions on how to do it. Keep in mind that this information is to make your cluster download the correct information from your LCM and EWS modules and not to set the mileage to something it isn't. I realize that some people could possibly use this information in that way, but unless they change other modules and the key, there will always be a record of the original miles to compare the cluster to.

So, lets move onto the actual information. In order to do this properly, you will need PA Soft 1.4.0 and the associated cable and preferably an INPA cable as well in order to use NCS Expert in case you are planning on installing a M5 cluster into a non-M5 or an e39 cluster into an e38 or vice versa. This is because some options are unavailable to PA Soft (e.g. setting the fuel tank size so the fuel gauge reads correct when switching between e39 and e38 cluster), while some options are much easier to set in PA Soft, including restoring from a backup of your EEPROM, which is discussed below. If you don't have these, the cables are fairly cheap and can be found on ebay or other such sites. I have no affiliation, but www.bimmersoftware.com sells a FTDI 232-RL based cable (INPA type) for about $40 that ships from the US (gets to you much quicker) and has been tested before shipping. I do know that most if not all will need pins 7 and 8 soldered together inside the cable for it to see all modules, but that's discussed in other DIY's.

First, make a backup using PA Soft of the cluster's EEPROM since you'll need to restore it after setting the VIN and mileage. After you have made your backup, use INPA and go to the "Activate" then "Activate Analog" menu under the cluster section. This will let you set an angle or speed manually. Then you record the needle position for a given angle or speed. I set the angle to specific marks on the gauges so I can easily see where to set the needles when recalibrating them later, for example setting the angle of the tach so that it lines up with 2500 RPM. Using the speed value instead of the angle for the speedo will let you decide how much additional mph it reads over what you actually are going (5% correction that is built-in to the cluster). After recording the angles of each needle, make sure you get a very good hold on the motor shafts with the pliers. The best way to tell when you have a good grip on the shaft is by twisting the needle and listening for a creaking sound. If you don't hear the creaking, you're turning the shaft and will likely damage the motor by trying to remove the needle. If you do hear the creaking, just lightly pull while twisting back and forth a little (really just a little bit) and they will come off pretty easily. As for the MPG/Oil Temp gauge needle, to remove it, just use a small salad fork to pry it up. The reason that one is different is that the shaft that it is on doesn't go into the motor. Instead, it connects to the motor's shaft through a couple gears. Anyways, once you have the needles off, carefully pull the faces off, but you will encounter some resistance on the left side of the cluster when pulling due to the electrical connector that goes to the warm-up led board on the back of the faces. After that's been removed, you should see the 93S66 chip in pretty much the same location the m35080 chip would be on the newer clusters (refer to pictures on the web of where that is). To remove the red epoxy, I use my heated up soldering iron tip and lightly scrape it off. You'll see that as the epoxy heats up, it crumbles and you can scrape it away. Keep the soldering tip clean by using a wet sponge while you're working. After the epoxy is out of the way, add a bit of solder to the legs on the chip and then add some solder flux. Then use some solder wick to pull up as much of the solder as you can. There might be just a little bit, so try to quickly apply heat to all the legs of the chip while prying it up with a small flat screwdriver on the chip. There is also a bit of epoxy under the chip, so this might be a little difficult. You really don't want to pull up the pads under the chip, so be careful.

Ok, so now you've got the old chip off and a new one ready to go on. Make sure the orientation is the same as the chip you took off. Mine was the opposite of the M35080 chips I've taken off, which meant the writing was upside down when looking at the board. The M35080 chips were right side up. There are no indicators telling you where pin 1 is, so that's why I recommend this method. Go ahead and clean the solder pads and solder the new chip in place of the old one.

Now, I made a test bench setup so that I can power the cluster and connect my obd2 cables without being in the car (it's cold in my garage), but you should be able to do this in the car as well. Power on the cluster and make sure that all the lights come on (they might be on a lot brighter than normal) and the mileage reads 26x,xxx miles (don't worry, this is effectively 0). You might also have a blinking tamper dot, which means that there is a problem with the EEPROM (obviously, it's blank). If nothing lights up except for a red or yellow light on the right side of the board, you have the 93S66 installed upside down. Open up PA Soft 1.4.0. You'll probably get an error either talking to the EWS or IKE, but this is fine. After it identifies the IKE, you should see all xxxxx in the VIN and ZCS area and I can't remember what's in the mileage, but I think it's 441xxx km. Anyways, close the identify window and double click on IKE. It again will give you some kind of error and take a bit longer reading the data, but should show xxxxxxx in the FGSTNR window, show FF in all the HW, SW, Date, etc. windows. First thing you'll notice is that the algorithm will be misdetected. This is fine. Click the Read EEPROM command. You should see the hex values being pretty much all FF's.

THIS PART IS VERY IMPORTANT!!!

Do not set the mileage first. If you do, you will not be able to change the VIN. Click change algorithm and set it to 93S66 - sw13. Then go to Reprogramming and set the FGSTNR to the last 7 of your VIN. After doing this, I think you could turn the key to position 2 and it would download the mileage, but like I said before, mine was on a bench, so I manually set the mileage. If your mileage is set to the car by the first method, then restore from the original backup you made before beginning this whole thing. If not, change the algorithm to 93s56 - Tacho, then go to Reprogramming, then Write Odometer. You should then be able to set the mileage to whatever your correct mileage is on your LCM or EWS. Make sure you input it in kms, not miles. Now restore from your backup you made previously.

After setting the mileage either by the LCM method or manual method, make sure you change the algorithm back to 93S66 - sw13 before restoring from your previous backup.Since the mileage and VIN have already been set and can't be changed, it should only restore everything but them. That means that the cluster will act exactly as it did when you first put it in the car, except the VIN and mileage will match the car. You shouldn't need to code it to the car, unless you bought the cluster used and didn't copy the ZCS information from the EWS before, but that doesn't mean you can't do it after.

After you've tested to make sure everything is working, it's time to reinstall the gauge faces and the needles. The first should be self explanatory, but reinstalling the needles shouldn't be too complicated. After you have the gauge faces on, plug it back into the car, load up INPA, and go to the same menu you were before. Set the angles that you recorded before and while it's at that angle, carefully hold the tip of the needle over the value you recorded and press down on the base of the needle just a bit. I usually set the angle to 10*, then go back to the angle I recorded to make sure it keeps going back to where it should. If you're a bit off, don't yank the needle off, just turn it as far as it will go until it hits the stop, then nudge it just a bit in the direction you need to adjust. Rotate it back and let the motor try to go back to it's set point. If you nudged it too far, do the same in the opposite direction. Once you have it in the right spot, hold the tip of the needle where you want it again, and press down on the base of the needle until it's just above the gauge face. I think it's somewhere around 1 mm or so above the face. Check the angles again to make sure you got it still in the right spot and if not, do the same adjustment technique as mentioned above. I recommend doing the Tach needle before doing the Oil Temp, since it's much more difficult to adjust the tach needle with the Oil temp needle in the way.

Reassemble the cluster and you should be back in business.

I should also mention that everything in my above post applies to the M35080 clusters as well, except of course that the chip is different and that the algorithm will be detected as 0 by default instead of M35080-1 like you would expect. The other issue with the M35080 cluster is that you will not be able to manually set the mileage without having the LCM connected to the cluster unless you program the mileage using a M35080 programmer before soldering the chip onto the board. This is because PA Soft cannot write mileage to the M35080, even if it is zeroed out. That being said, I think you can use tool32 to program the freshly installed blank M35080, but I haven't tested that method, and I still think you need it in the car for it to download the correct mileage from the LCM.

One more tidbit of information that I've discovered in testing multiple clusters lately, If you have two clusters that use the same hardware and software numbers, but are non-m and M5 clusters, you can desolder the green connector from the back of the M5 cluster (the one that the gauge face circuit board plugs into) and solder it to the open spot on the non-m cluster and put the M5 gauge faces on the non-m cluster. Then load the EEPROM backup made by PA Soft of the M5 cluster onto the non-M cluster. Now you can install the M5 gauge faces on the formerly non-M cluster.

Why would you want to do this you say? Well, there are a couple reasons you might want to. Most of the replacement clusters that BMW installed as part of the Goodwill replacement had a brand new ribbon cable for the LCD. This new ribbon cable uses an actual connector on the board instead of the crappy glue that the old ribbon used, so you should pretty much never need to repair them for bad pixels. That means that if you find a 2004+ E39 or E38 cluster for cheap and you have a M5 cluster with bad pixels, you can swap them over for a bit of an upgrade.

The other reason that someone might want to do this is because the non-m clusters had the orange/amber colored leds for the needles and numbers as opposed to the yellow that the m5 clusters got. Some prefer the orange/amber, just like some prefer the black face gauges over the gray, so doing this is an easy way of getting orange leds with an M5 cluster. I've tested this with both black faces and gray and I have to say the black faces look better with orange than the gray.

Now, keep in mind, I have two clusters that are both the new ribbon type (the m5 cluster was made in 2005 and the 740i cluster made in 2007) and they swapped over properly. If you don't have a copy of an M5 cluster's EEPROM from your hardware and software version, PM me and I'll see if I have one that will work. I also have a cluster made in 2002 (non-m) that I am going to try this on to make sure it works with it as well. Basically, the EEPROM backup should adjust the stepper motors to the correct settings for the M5 (higher speedo and tach). There is a possibility that you can adjust these settings using NCS Expert, but I haven't tried it yet to confirm.

I will add some pictures to this DIY soon since I'm going to be working on another cluster soon and can document it as I go to make sure I get everything you all will need.

If anyone feels uncomfortable doing this themselves, please feel free to PM me for any additional help
--------------------------------------------------------

Not sure if I'm replying properly to you, Paul, but this seems to be the only place I can type. Where are you located since I need help with reprogramming in DC.
 
#29 ·
No, not in the DC area, but you can send it to me to do it. PM me for more info.

Sent from my SM-N910V using Tapatalk
 
#32 ·
Thanks! I actually have a slightly updated version on bimmerforums, but M5board wouldn't let me edit the first post of this one, so it's kind of stuck the same way as it has been. I might get ARD to modify it for me, now that I've got it better figured out in the other thread.

No youtube videos though. This process isn't for the feint of heart, so I figure if you can follow it, you'll be able to figure it out. Since I offer to do this for people, I figure the instructions are more than enough without showing every step in a video (plus I'm not very good with making videos anyways, LOL).
 
#35 ·
I do it still. Check out my Facebook page here: www.facebook.com/Fixels/Shop/ for more info. Turnaround time is usually the next business day.
 
#39 ·
Not in Texas, but I can do it for you. I charge $150 for mileage correction/coding used clusters.
 
#40 ·
Paul, first off thank you for sharing all the info.

I have a 2004 bmw 325i wagon i bought that someone previously swapped the cluster and so that caused a lot of trouble from me. After researching and doing my HW i realized that i wont be able to reprogram the old cluster without a new m35080 chip.
Therefore i bough a new chip soldered it back in, Did everything as you stated. And the cluster works. Ive programmed the correct VIN, However, im having trouble programming the correct mileage back in. My cluster is stuck at 1 mile. You've mentions about that there is a way it will automatically sync from the other modules in the car. How exactly do i go about doing that with M35080 chip? Youve also mention that it could be dome with tool32... How?
After hours of rererch i think your the only one that can help me out with thins one.
I used Pasoft 1.4 to program the VIN.
Greatly appreciate your help! Thanks
 
#41 ·
My guide didn't say what to do on e46 cluster, so I'm not sure what you did exactly. If you used the hex locations I mentioned in the guide, then you likely didn't do it right. If you want, send me your backup from your original cluster you made with PA Soft and I'll clear the mileage and VIN so you can do the rest. Keep in mind that you will have a FA, not ZCS like E39s. You will need to use NCS Expert with an expert mode profile to read the FA from the LSZ module, then code to defaults for your car. Those steps should be pretty similar to the steps in my guide for e39s, but you'll be reading the info from the LSZ, not EWS.

If you want to send the file to me, just email me at mail@fixels.repair.