Results 1 to 21 of 21

Thread: PA Soft / BMW Scanner & Speedometer correction

  1. #1
    Join Date
    Aug 2006
    Location
    Everett, WA, USA
    Posts
    949
    My Cars
    '01 740i, '93 300ZX TT

    PA Soft / BMW Scanner & Speedometer correction

    I tried searching this as much as possible but only came up with results of people using NCS Expert and mention of being able to use PA Soft to accomplish correcting the speedometer overage that seems to affect a lot of 3, 5, and 7 series guys. Has anyone experimented with this enough to explain what works and what doesn't? The area I'm referring to is pictured bottom right. Mileage offset 9 (if in km) would translate to 5.6 mph off which is roughly what my car reads high at 60.
    12620527_10207657270566345_32512865_o.jpg

  2. #2
    Join Date
    Apr 2009
    Location
    Vancouver Isl, BC, Canada
    Posts
    4,173
    My Cars
    98 Euro M3, 04 M3, 06 M5
    try it and see? worse case you put it back to 9.
    Current:

    - 09 335i MSport, FBO.
    - 98 Euro M3, Estoril Blue
    - 04 M3, Carbon Black, 6 Speed Coupe
    - 06 M5, Black on Black, Full Leather.
    - 73 3.0CS, Tagia Green, 5 speed M30b35 converted

    Ex's: 1984 325e, 1988 325IX, 1992 525I, 1995 540i/6, 2002 330i, 2005 330xi, 1992 850i, 2003 330i #1, 2003 330i #2, 2002 330ci, 2004 330ci, 2007 328CI, 2007 335i, 2001 M3, 2006 M5 6 speed

  3. #3
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    So, any update? My E39 speedo has always been annoyingly 6% high and I'd love to be able to use my PA Soft 1.4 to make it accurate.

    Although I'd be more tempted to play with the "Speed imp/km" figure, which I believe is impulses per km for the speedometer (and Distance would be the odometer).
    Haven't tried it myself yet.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  4. #4
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    I found on another thread that the Speed entry does affect the speedometer reading; higher numbers make the speedo read lower with respect to true speed (it's a very long thread on PA Soft 1.4 but page 9 has the relevant entry):

    http://www.m5board.com/vbulletin/e39...-review-9.html

    Since I don't have a GPS, I was using the on-board computer which allegedly indicates an accurate speed at all times. I'm not sure how to get a continuous speed reading from it, though. "Speed" function is average since the last time the Set button was pushed. Not as convenient but still doable - achieve a steady speed, hit the Set button, and read the cluster display vs. the speedo needle.

    Initial constant on my E39 was 4812. I put in 5000 which made the speedo indicate too low (several mph at 60), then 4960, then 4900, then changed the Mileage Offset from 1 to 0. That did not seem to have much effect, certainly not 1 mph.

    At this point it is still reading just a little low which is not good. Definitely want it to read high by up to 1 mph...

    I would have thought that the impulses per km would translate linearly so that a 6% high speedo should read normal if the number is about 4812 * 1.06 = 5100! But apparently that is not the case. BMW probably has a bit mask or offset somewhere. Anyway I'm going to play with it some more this afternoon.

    Going to try some more experiments once all the Sunday church-goers have gone home!

    Incidentally, the IKE scan shows an error (checksum) with the Speed value changed, but doesn't appear to cause any problems other than the flag.

    - - - Updated - - -

    Now I am not sure I'm actually changing the speedometer reading! I may have been seeing things that weren't there

    The cluster Test 08 can indicate actual speed (V in Km/h) or indicated speed (VAnz) which are 4-5 km different no matter what I do with the Speed or Distance units.
    I was just about to try changing the Mileage Offset to a larger number when the laptop battery died.

    I'm starting to think that even with PA Soft I can't recalibrate the early E39 speedo despite the post on the M5board from someone reporting success... I think his E39 was newer ('99-up).
    Last edited by DrCharles; 02-28-2016 at 02:16 PM.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  5. #5
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    I think I got it done This thread gave me the information I needed:

    http://www.bimmerforums.com/forum/sh...-Japanese-quot

    See my post at the end of that 2013 thread in the E39 forum.

    The short answer is, it appears that you cannot fix the speedo error with only PA Soft 1.4 but you can use that to change the cluster EEPROM data where the deliberate error is stored.. You need NCS Expert and a compatible cable (and NCS Dummy which makes it much simpler) to actually find the addresses to edit. Search bf.c for how to get that up and running.

    Did my E38 tonight too. Even simpler since it only has one copy of the data and complement data (4 bytes to change).
    Last edited by DrCharles; 03-14-2016 at 08:40 PM. Reason: error in link address
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  6. #6
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    Having thought about this a bit more, I would conditionally change my answer to say you can do this on E39 and E38 with only PA Soft 1.4, but you are running a risk of modifying the wrong bytes and possibly bricking the cluster unless you run YOUR car with NCS Dummy and make sure the data is in the exact same place.
    Again, I take no responsibility for anyone messing around with his/her software without knowing exactly what they are doing!

    All numbers following are hex.
    The two bytes for speedo calibration and scale length at addresses 00B8, 00B9 are 11, 33. Changed to 09, 3C to select Japanese (accurate) speedometer.
    The complemented data at addresses 00EC, 00ED are EE, CC. Changed to F6, C3.

    The E39 had two copies of its data and the second set, which also must be changed, is at addresses 0260, 0261 and the complement data at 0294, 0295.

    So far I have only my early (10/96) E39, and my early (06/97) E38 to report on. It will probably work if you simply read the EEPROM using PA Soft, verify the original data at the respective addresses, and change them to the new values. The odds are low that those pairs of bytes will show up at consecutive addresses elsewhere in the EEPROM, but that does not mean zero chance!

    Just to be clear, if the bytes 11 33 are not at addresses B8 B9 (for example), Don't change them to 09 3C until you have verified the correct address with NCS Dummy! And later model cars may well have a completely different address.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  7. #7
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    As I posted in the E39 forum, today I drove my '97 540i/6 while running a smartphone GPS. I was very pleased to see a perfect match between the GPS, speedo gauge and the cluster MID V (speed) reading at any speed up to 62.5 mph (100 km/h)

    One interesting thing though - the cluster test #8 has V in km/h displayed. But if you push the left button again it toggles to V Anz. (indicated speed) which is still 5-6% higher than the true speed! Not sure what if anything that fake figure is used for, since the speedo needle now exactly agrees with the true speed. Guess it doesn't matter.
    Last edited by DrCharles; 03-16-2016 at 03:52 PM.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  8. #8
    Join Date
    Aug 2006
    Location
    Everett, WA, USA
    Posts
    949
    My Cars
    '01 740i, '93 300ZX TT
    Okay, I just checked my e38 and if I'm reading the registers correctly (bare with my noob status) I have the same values. So all I'm needing to do is change to the values you stated above, rewrite the EEPROM and all should be well? btw. I also played with the impulses and offset and have the checksum error. Makes me wonder if under Programming > Recalculate EEPROM Checksum would resolve but anyways...
    IKE Speedo1.JPGIKE Speedo2.JPG

  9. #9
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    That should work (changing those same four bytes).

    But I would recommend that you recode the impulse and "mileage offset" settings (whatever that is) back to original first, and see if your checksum error goes away. I believe I had the same issue - I didn't get around to seeing what changed in the EEPROM if anything. I would not recommend recalculating the checksum at this point since you don't know exactly what has changed.

    Then I would re-read the EEPROM, and save the data to another file name like IKE_wr_old.bin before you start altering it. That way if anything's messed up after your write, you have an original backup to rewrite to the EEPROM.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  10. #10
    Join Date
    Aug 2006
    Location
    Everett, WA, USA
    Posts
    949
    My Cars
    '01 740i, '93 300ZX TT
    Will do and yes... when I played with it before and changed the values back to normal, the checksum went away but thanks for the reminder. Also, I have yet to play with NCS Dummy to confirm the registers you're referring to. I loaded NCSExpert but too damn scared to explore around due to the German. I always read my EEPROM values and what not to have something to back up to so will give that a shot. Will likely take it for a drive this weekend since this isn't my daily. I'll report back.

  11. #11
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    Sounds good. Hope it works for you too.
    Also make sure there isn't another set of data stored at a higher address (as there was in my E39 but not the E38). Use the hex editor search function in PA Soft (the "binoculars" icon) to look for another 11 33 and EE CC.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  12. #12
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    Update: drove the E38 today and compared its speedo reading with GPS, just as I did with the E39.
    Again, spot on at any speed up to 70 mph.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  13. #13
    Join Date
    Aug 2006
    Location
    Everett, WA, USA
    Posts
    949
    My Cars
    '01 740i, '93 300ZX TT
    Damn it.... so I searched other registers for 11,33 and EE,CC and they ARE used in other areas. So what's my next step now? I'm unfortunately unfamiliar with how to even get NCSExpert & Dummy working in terms of reading my car and knowing what type of IKE module I have. INPA didn't lead me to an answer as I thought it would.
    IKE Speedo3.JPGIKE Speedo4.JPG

    EDIT: I was able to use NCSDummer to extract the 5 IKE Daten Files from NCSExpert DATEN folder and search through them. I can see how you found the below and their corrsponding values. I can't seem to find what exists on Registers 260/261 and 294/295 (if I'm reading things correctly that is) From what I'm able to see, If I JUST change the values that you specified above, I don't believe the ones I just linked will affect anything. Can you confirm this since you're more familiar with NCS? Btw. how do I find out the model IKE I have (IKE C02, C05, KMBI_38.C10, C11, and C12)?
    TACHO_OFFSET
    TACHO_SKALA_ENDWERT
    TACHO_OFFSET_KOMPL
    TACHO_SKALA_ENDWERT_KOMPL
    Last edited by PiotrC70; 03-18-2016 at 10:27 PM.

  14. #14
    Join Date
    Oct 2010
    Location
    West Plains, MO
    Posts
    1,332
    My Cars
    '97 540i Dinan, 98 740iL
    You are on the right track. If you look at my earlier post:

    The E39 had two copies of its data and the second set, which also must be changed, is at addresses 0260, 0261 and the complement data at 0294, 0295.
    Those are indeed the correct NCS labels for the values that need to be changed.
    What you have found are the extra copies to which I referred (look at some of the bytes before and after those pairs, and you'll see they are the same).

    I don't think the higher-address copies are actually used except as a validity check, but if you change one set and not the other, PA Soft will tell you that the two respective blocks of the EEPROM don't match and not let you write it (unless you insist, and I don't recommend you do). Also you will likely get a checksum error.

    Sorry, I'm not sure how to tell which IKE you have, probably someone more knowledgeable than I am can help you. But you don't need to know that since you're writing directly into the EEPROM anyway...

    Anyhow this is what I did on my E39 and it worked. Just keep a backup copy of the original data as I recommended, then you can restore the data if your speedo doesn't work properly after the write.
    '98 740iL E38 201k, TCG at 190k, 5HP24 at 195k
    '97 540i/6 E39 Dinan blower & stage 1 suspension 114k
    '93 525i E34 "Golf Ball" (hail damaged) 334k

  15. #15
    Join Date
    Aug 2006
    Location
    Everett, WA, USA
    Posts
    949
    My Cars
    '01 740i, '93 300ZX TT
    Thanks for all the help. I read up on the other post in the e39 group and found the same second set of registers that need modifying. I THINK the way to find out which IKE rev you have is by using NCSExpert and when you select the IKE, it identify's the "rev". At least that's what it appears like looking at videos on youtube. I just wanted to be sure that I was looking at the right one. The tinker-er in me wants to explore around and potentially next modification would be to adjust the coolant gauge like Terraphantm and others did in the E46 group.
    Anyways, my battery practically died on me so it's on the charger now and will be modifying the registers tomorrow.

  16. #16
    Join Date
    Aug 2006
    Location
    Everett, WA, USA
    Posts
    949
    My Cars
    '01 740i, '93 300ZX TT
    SUCCESS!
    So after clearing the checksum error and having it come back... (I'm not sure if this is because I modified my oil service reminder via PA Soft) I decided to clear the checksum error again but rather than starting the engine and seeing if it comes back, I modified the registers as noted above along with the 2 duplicates that I posted as well and all went well. Took her for a nice long test drive and no more checksum errors and my speedo is as spot on as one could ask when compared to GPS. I know I have aftermarket wheels/tires but sized them w/in 1% speedo accuracy. Thank you for all your help! I'll make a post in the e38 group.
    20160319_112306_resized.jpg20160319_112845_resized.jpg

  17. #17
    Join Date
    Sep 2016
    Location
    Vancouver, WA
    Posts
    2
    My Cars
    2002 E39 530i
    I have a 2002 530i and looked into my EEPROM file to see if my values were as stated above and in the same locations. They were! Great, but after changing the values I did not see any real difference
    in the speedometer reading. It was ~5-6 MPH high, and now is about 3-4 MPH high. I thought that maybe the tire inflation could account for the difference, but alas, it was not to be. I can live with the
    speedo being over by 3 or 4. Going Japanese didn't seem to help me all that much. Domo arigato!

  18. #18
    Join Date
    Feb 2010
    Location
    FL
    Posts
    469
    My Cars
    '01 740IL Sport
    Quote Originally Posted by DrCharles View Post
    Having thought about this a bit more, I would conditionally change my answer to say you can do this on E39 and E38 with only PA Soft 1.4, but you are running a risk of modifying the wrong bytes and possibly bricking the cluster unless you run YOUR car with NCS Dummy and make sure the data is in the exact same place.
    Again, I take no responsibility for anyone messing around with his/her software without knowing exactly what they are doing!

    All numbers following are hex.
    The two bytes for speedo calibration and scale length at addresses 00B8, 00B9 are 11, 33. Changed to 09, 3C to select Japanese (accurate) speedometer.
    The complemented data at addresses 00EC, 00ED are EE, CC. Changed to F6, C3.

    The E39 had two copies of its data and the second set, which also must be changed, is at addresses 0260, 0261 and the complement data at 0294, 0295.

    So far I have only my early (10/96) E39, and my early (06/97) E38 to report on. It will probably work if you simply read the EEPROM using PA Soft, verify the original data at the respective addresses, and change them to the new values. The odds are low that those pairs of bytes will show up at consecutive addresses elsewhere in the EEPROM, but that does not mean zero chance!

    Just to be clear, if the bytes 11 33 are not at addresses B8 B9 (for example), Don't change them to 09 3C until you have verified the correct address with NCS Dummy! And later model cars may well have a completely different address.

    Indeed - this is it!
    Reviving this thread because of a great win (in my book).
    I have been trying to make my E38's speedo accurate for quite some time and stumbled upon this critical info.
    I cant thank you enough DrCharles and everyone else who contributed.
    I was able to make my E92's speedo accurate using a different method that only required NCS Expert, NCS Dummy, and an excel spreadsheet that someone on another board put together (I can't remember who, but thank you too).
    The E38 however was much more involved and did require PASoft and NCS Dummy. Dummy, just to verify I was editing the correct spots in the EEPROM.
    With my E38, it was exactly as you describe entirely. The addresses and hex codes were/are exactly as you list. I verified with NCS Dummy just to be sure. I did have the the second set as well, like your E39.
    Not sure why your E38 only had one set.
    Anyways, a huge than you from me to you!
    This should be made a sticky in the E38 section for sure.

    "I wish I grew up in the 50s when people could prosper." -sigtwenty

  19. #19
    Join Date
    Mar 2017
    Location
    Nowhere
    Posts
    223
    My Cars
    something
    Thanks, I have been trying to calibrate my speedometer for a couple of months using NCSExpert and NCSDummy, but could not get the the coding to take. Even the LCM only took one of the four coding changes I made before freezing. The PA Soft worked using the HEX numbers given. Mine did not have the duplicates.

  20. #20
    Join Date
    Jul 2017
    Location
    Midwest City, OK
    Posts
    2
    My Cars
    92 E36
    I just "fixed" my 2000 E39 M5 US Spec, 300km speedo
    IKE file is KMBI_E38.C12
    Addresses are the same

    00B8 00B9
    US spec 15 C1
    change to JPN spec 0E D2

    00EC 00ED
    US spec EA 3E
    change to JPN spec F1 2D

    Speedo is dead on now.
    Thanks for all the info!

  21. #21
    Join Date
    Aug 2011
    Location
    San Francisco
    Posts
    26
    My Cars
    2001 530i Sport

    Dose this different method to calib Speedo work?

    Has anyone tried the different value mod proposed at thread https://forum.e46fanatics.com/showthread.php?t=999740 to correct BMW Speedometer? They suggest modifying a ratio multiplier in the EEPROM. Does this work without additional problems?

    Synopsis ( cut and pasted )
    So here's what you do.

    1. Start up the PASoft software and load your IKE. Read off the EEPROM.
    2. Now, in the built in hex editor, look for the following hex string (pick the appropriate one for your model). In my cluster, it was located at offset 0x339

      Code:
      E46 M3: 03 00 2D C8 00 31 D6
      Non-M: 03 00 23 C8 00 25 CC
    3. Change it to the following

      Code:
      All models: 03 00 01 C8 00 01 CA
    4. 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 a 99-01 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 fanatics 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.

Similar Threads

  1. HELP! how to install the proper driver for PA Soft BMW scanner 1.4.0
    By big mike 84 in forum Diagnostic Software
    Replies: 36
    Last Post: 12-03-2015, 09:15 PM
  2. Replies: 7
    Last Post: 02-17-2014, 02:03 PM
  3. PA Soft/BMW Scanner 1.36
    By IcemanBHE in forum Diagnostic Software
    Replies: 3
    Last Post: 09-13-2012, 01:56 AM
  4. PA Soft BMW scanner
    By lawdog8234 in forum 1995 - 2001 (E38)
    Replies: 4
    Last Post: 02-26-2011, 03:12 AM
  5. Replies: 2
    Last Post: 01-05-2010, 06:42 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •