PDA

View Full Version : DIY: Eliminate Speedometer Error doityourself



terraphantm
08-05-2013, 09:16 PM
Requirements

BMW Scanner 1.4 (or any other means for editing the Cluster EEPROM). DIS, NCS Expert, SSS, etc. are not sufficient for this one.
CI06 or newer cluster for non-M, and CI23 or newer for M (I think this corresponds to 2002 or 2003 and newer for both groups)

It is possible to do this on early clusters too, but the software is quite different. I can research if a few of you send me a dump of your cluster EEPROM. Also tell me the amount of error you've measured (between the needle and digital test)

Some common sense



As most of you know, E46 clusters tend to be optimistic. What you may not have known is that the DME and Cluster know the exact speed; the error is deliberate on BMW's part. There have been a few ways to correct this in the past; one way is to just trick the cluster into thinking you have smaller tires, but this can screw up things like MPG and average MPH calculations. Another way was to rescale the cluster curve itself, but this required a decent bit of trial and error and it was just fooling the cluster into thinking the scale was larger.

After studying M and non-M EEPROM files, here's what I found -- there is a function deliberately designed to increase the speed by a certain ratio. In the non-M, the displayed speed is the real speed + 5.7%. In the M3, the error is a massive 8.9% -- completely unacceptable IMO.

So here's what you do.


Start up the PASoft software and load your IKE. Read off the EEPROM.

Now, in the built in hex editor, look for the following hex string (pick the appropriate one for your model).


E46 M3: 03 00 2D C8 00 31 D6
Non-M: 03 00 23 C8 00 25 CC

Change it to the following


All models: 03 00 01 C8 00 01 CA

Save the file, and flash the EEPROM back to your cluster.


Done. If you have stock diameter tires, your speedometer should be almost 100% accurate

If you're curious as to how the change works, the bytes I change are used as a ratio. 0x25 = 37; 0x23 = 35. 37/35 = 1.057, or a 5.7% error. I am not sure what the 0xC8 (200) value represents; I think it might be an upper limit to the allowed error (5.7% until the error reaches 20 km/h). That last byte is simply a checksum (XOR all the values together, and then XOR with 1)

If you have an old cluster, please send me your EEPROM. I can't promise I'll figure out how to do the change there, but I'll try. Also, if there are any Japanese members here, please send me a dump of your cluster. In the E39, the Japanese values for the cluster are 100% accurate; I suspect the same holds true for the E46. It would be interesting to see how BMW configured the cluster.

Give me feedback; so far in my testing it agrees with GPS, but it's always nice to have others confirm too

Oh and I should thank geargrinder -- he got me interested in looking at this stuff again, and helped fix a few of my earlier mistakes

derbo
08-05-2013, 09:59 PM
Thanks for being open-minded and sharing your findings Terra. I noticed almost all US cars have a percentage error that is always higher on the cluster than actual speed.

terraphantm
08-05-2013, 10:56 PM
Thanks for being open-minded and sharing your findings Terra. I noticed almost all US cars have a percentage error that is always higher on the cluster than actual speed.

Not a problem! I always figured these forums are about sharing info. Anything I figure out will end up here (or any of the other forums). Giving back to the community is the least I can do

Wish I still had my ZHP so I can test a few more things and post them

derbo
08-05-2013, 10:58 PM
Not a problem! I always figured these forums are about sharing info. Anything I figure out will end up here (or any of the other forums). Giving back to the community is the least I can do

Wish I still had my ZHP so I can test a few more things and post them

Shame you arent close by, I would've lend my car for some testing. I want an M3 cluster + working oil temp gauge and correct offset water temp and fixed speedo. haha. If only the warmup lights could set it to 6800rpm too for redline.

Crickett
08-05-2013, 11:18 PM
Terra, what do you know about setting BC_V_KORREKTUR to "nicht_aktiv" via NCSExpert? I did that & my speedo error went from ~3.5 mph (probably exactly the 5.7% you mention) to only 1 – 2 mph. It didn't completely remove the error, but greatly reduced it. Any idea on what your method would do in my case?

derbo
08-05-2013, 11:53 PM
Terra just found your thread with geargrinder on bimmerforums. Very good information you guys have there with the XOR logic and figuring out the byte information. :)


I will have to invest in a PA Soft soon.

az3579
08-06-2013, 04:23 AM
I'll be testing this out when I get out of work today. Thanks for the info!



Sent from my DROID RAZR MAXX HD

BimmerWill
08-06-2013, 04:26 AM
I have PA soft but build date of 12/2000 so I'm assuming this will not work for me?

Sent from S4

johnrando
08-06-2013, 08:15 AM
Good info. You mention stock tire sizes, as the ZHP uses staggered, how do that play into the speed calculation and what if you go square?

derbo
08-06-2013, 08:21 AM
Good info. You mention stock tire sizes, as the ZHP uses staggered, how do that play into the speed calculation and what if you go square?

The overall diameter of the factory staggered tires sizes are the same so it would not be affected.

Hermes
08-06-2013, 08:39 AM
you would laugh at how optimistic my E21 speedo is, easily 10%... but that can be adjusted with the springs inside the cluster. Easy old school technology

terraphantm
08-06-2013, 09:11 AM
Terra, what do you know about setting BC_V_KORREKTUR to "nicht_aktiv" via NCSExpert? I did that & my speedo error went from ~3.5 mph (probably exactly the 5.7% you mention) to only 1 – 2 mph. It didn't completely remove the error, but greatly reduced it. Any idea on what your method would do in my case?

Good question. I was under the impression that only affected things like the average mph calculation. I would think setting the correction factor to "1.000" would effectively eliminate the difference between the two settings

az3579
08-06-2013, 04:33 PM
I have verified that this works on a ZHP with stock tire diameters.
It is dead on, or at the very least within 0.5mph. It's tough to keep eyes on the road when looking at the speedo AND the phone... :)


Thanks so much for the info, man! Now I don't have to question myself when I pass a cop!

derbo
08-06-2013, 05:07 PM
Terra, B,

where is a good place to get a PA Soft?

trancenation
08-06-2013, 05:50 PM
I got my pa soft BMW scanner 1.4 from xcar360 s website. It shipped from china and took about a week and half. Didn't have to solder anything and works perfectly.

cakM3
08-06-2013, 06:12 PM
terra, good stuff here!!! :thumbsup

Thanks for taking the time to research this and posting the results for everyone to benefit from
:chuck


Sent from my DROID RAZR MAXX HD using Tapatalk 2

derbo
08-06-2013, 06:23 PM
I got my pa soft BMW scanner 1.4 from xcar360 s website. It shipped from china and took about a week and half. Didn't have to solder anything and works perfectly.

Thanks jay.

terraphantm
08-06-2013, 08:01 PM
I use this one: http://www.newegg.com/Product/Product.aspx?Item=9SIA1GK0TS4738

Took a 5 days to get here from China

az3579
08-10-2013, 11:52 AM
I use this one: http://www.newegg.com/Product/Product.aspx?Item=9SIA1GK0TS4738

Took a 5 days to get here from China

My mind has been blown; Newegg carries this. Wow.

alexandre
08-10-2013, 03:33 PM
My mind has been blown; Newegg carries this. Wow.

Through their marketplace, not themselves directly.

BimmerWill
08-10-2013, 06:50 PM
Any word on if there is a way to fix this on pre-face vehicles?

Sent from S4

az3579
08-11-2013, 04:20 PM
If it's a 2001 then I'm sure it would work. The 01's seem to have the later-style software and electronics...

330i ZHP
08-11-2013, 06:34 PM
interesting - I have been meaning to see how inaccurate the x5 is

BimmerWill
08-12-2013, 03:31 AM
If it's a 2001 then I'm sure it would work. The 01's seem to have the later-style software and electronics...

Awesome. I'll hook mine up after work today hopefully and see if my values are the same as listed.

Sent from S4

derbo
02-09-2014, 11:37 AM
Bump, since there is renewed interest in PA Soft editing for the coolant temp :)

alexandre
02-09-2014, 11:48 AM
I've had that on my to-do list for a while. As a data point, I measured my speed on the highway at 108 km/h (GPS) while the cluster (reset avg speed and set the cruise on, so avg = current speed) was saying 114 km/h. 5.55%, which is pretty much exactly what terra said. Excellent research!

EDIT: I just thought this could be because of my 225/45/17 winter tires. Will report back in the summer with 255/35/18 data. :thumbsup

wsmeyer
02-09-2014, 11:52 AM
Kevin (RitMusic) and I attempted this but couldn't get past step 1; determining how far off the speedo is.

Armed with his iPhone and my Android running various GPS apps and Torque on mine through OBDII we cruised along at different speeds holding the needle steady but were never able to come to a consensus on the various devices as to exactly what speed we were traveling. At least on his car we concluded that even if it was off, it was accurate to within the width of the needle itself so we didn't mess with it.

Obviously results may vary by specific vehicle.

terraphantm
02-09-2014, 08:03 PM
Kevin (RitMusic) and I attempted this but couldn't get past step 1; determining how far off the speedo is.

Armed with his iPhone and my Android running various GPS apps and Torque on mine through OBDII we cruised along at different speeds holding the needle steady but were never able to come to a consensus on the various devices as to exactly what speed we were traveling. At least on his car we concluded that even if it was off, it was accurate to within the width of the needle itself so we didn't mess with it.

Obviously results may vary by specific vehicle.

At normal speeds, the error is pretty small on non-Ms. I never really noticed on my own ZHP until 90ish. On the M3, it was much more noticeable. It might be worth doing the change and seeing if it goes too low -- easy enough to reverse the change.

NorCalZman
02-18-2014, 06:27 PM
ah I have been looking for this thread. If I plug my iPhone based OBDII reader into the car and read the MPH that way will it tell me the true MPH or will it match the speedo and its (potentially) incorrect actual speed? If so great, I have everything I need. If not...I am not sure how to determine actual speed.

gmurphy
02-18-2014, 06:36 PM
ah I have been looking for this thread. If I plug my iPhone based OBDII reader into the car and read the MPH that way will it tell me the true MPH or will it match the speedo and its (potentially) incorrect actual speed? If so great, I have everything I need. If not...I am not sure how to determine actual speed.

Use a GPS to determine your actual speed then go from there.


Sent from my iPhone using Tapatalk

NorCalZman
02-18-2014, 06:45 PM
Use a GPS to determine your actual speed then go from there.


Haha, who still owns one of those now that we have smartphones?

gmurphy
02-18-2014, 06:47 PM
Haha, who still owns one of those now that we have smartphones?

Seriously though who does? haha :)


Sent from my iPhone using Tapatalk

ELCID86
02-19-2014, 11:04 AM
Seriously though who does? haha :)


Sent from my iPhone using Tapatalk
I just saw one in the storage unit of my van the other day. I also just bought one for Christmas for my in-laws who use Trac phones--much to my chagrin.

gmurphy
02-19-2014, 11:18 AM
I just saw one in the storage unit of my van the other day. I also just bought one for Christmas for my in-laws who use Trac phones--much to my chagrin.

Isn't it crazy though how we went from using maps, to GPS devices, and now to just using our phones.


Sent from my iPhone using Tapatalk

derbo
02-19-2014, 11:46 AM
The only problem with phones is that they are AGPS and require a data connection at all times (at least google/waze/apple). It sure doesn't work out when you are stuck in the middlle of nowhere with no cell signal with GPS to tell you where to go.. At least the paid GPS apps with huge downloads do not have this problem but who honestly buys them?



back on topic, I did the PA Soft settings and confirm it's working out great! It's nice to see I am going 75mph and know I am actually going 75 not 70...

NorCalZman
02-19-2014, 11:49 AM
Well I found a few FREE speedo apps for the iPhone so I will use those when I am ready to do this change.

Derbo, just curious, what version of PA Soft are you using "1.4.0.?" You can see it on the banner when you are on the main Screen in PA Soft or when you are exporting a report.

Lanister
02-19-2014, 12:51 PM
Torque has a pretty cool data point where it tells you the speed difference between ECU and GPS. I've been checking mine and, around town, it's about 1-2mph

NorCalZman
02-19-2014, 12:57 PM
Don't think Torque is out on the iPhone right?

Lanister
02-19-2014, 12:59 PM
I don't believe so :(

derbo
02-20-2014, 04:31 PM
Well I found a few FREE speedo apps for the iPhone so I will use those when I am ready to do this change.

Derbo, just curious, what version of PA Soft are you using "1.4.0.?" You can see it on the banner when you are on the main Screen in PA Soft or when you are exporting a report.

1.4.0.7 if that matters.

NorCalZman
03-10-2014, 01:26 PM
Well I tested my speedo last night up to 80mph and it matched up with what my GPS app was showing too so I guess I dont need to do this mod.

derbo
03-10-2014, 01:44 PM
Maybe it was already done.


Sent from my iPad

CarbonZHP
08-28-2014, 09:35 AM
Anyone use this to correct tire size error? Im at a 255/35/19 up from stock 255/35/18. Calculator says that when my speedo shows 100, Ill be doing 104. Any fix?

derbo
08-28-2014, 12:56 PM
Anyone use this to correct tire size error? Im at a 255/35/19 up from stock 255/35/18. Calculator says that when my speedo shows 100, Ill be doing 104. Any fix?

you can adjust the hex in the first post to adjust your ratio.. or you might be able to use the stock M3 as they are one up size from non-M.

Vas
06-22-2015, 09:47 AM
Followed the DIY on the first page and flashed the cluster on my zhp to the following string

BEFORE:
Code: 03 00 23 C8 00 25 CC

AFTER:
Code: 03 00 01 C8 00 01 CA


Thanks Terra for sharing this info.