Announcement

Collapse
No announcement yet.

Gauge Gluster Mileage Query

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Gauge Gluster Mileage Query

    Howdy folks,

    This morning I finally decided to fix the clock functionality in the binnacle so that I could set and display the time (it stopped working around five years ago or so after the tabs breaking).

    Took the binnacle out, opened it up, removed the half broken tabs, filed the surface down, inserted the 3D printed adjuster hack, put it back together, reinserted the binnacle into the car and set the time.

    The needle works properly now - the time can be set (going both forwards and backwards) and it can be interchanged between AM/PM and 24-hour.

    However, after doing this the mileage changed from 132,823 to 132,822. Not a big deal but any ideas as to why this may have occurred? I.e. why the mileage decided to clock itself back one mile?

    Click image for larger version

Name:	IMG_7941.jpg
Views:	128
Size:	57.4 KB
ID:	359166 Click image for larger version

Name:	IMG_7957.jpg
Views:	127
Size:	60.3 KB
ID:	359167


    I followed the steps in this video and noticed that the same thing occurred on the demonstrator’s binnacle.
    2002 BMW E46 M3 Coupe
    2005 Porsche 911 (997.1) Carrera S

    #2
    I’m gonna try this 122k times 😅 congrats on the free mile
    02 ///M3 Alpine White / Cinnamon
    Slicktop | 6MT | Karbonius | Öhlins | BBS
    📸 @alpinem3

    Comment


      #3
      My guess is that it's to do with the conversion between km and miles. AFAIK behind the scenes the cluster stores mileage in whole km, and then converts to miles to display to the user if that's the UoM that are configured. The mileage itself (what is stored in EEPROM) is stored in integer units. The finer-grained "how-far-through-the-current-km-are-we?" measurement is in volatile memory. So prior to the procedure you've got:

      (whole_kilometers + current_partial_kilometer) * 0.621371 = odometer_in_miles

      After the procedure you have:

      (whole_kilometers + 0) * 0.621371 = odometer_in_miles
      Last edited by karter16; 06-23-2026, 12:21 PM.
      2005 ///M3 SMG Coupe Silbergrau Metallic/CSL bucket seats/CSL airbox/CSL console/6 point RACP brace/Apex ARC-8s
      Build Thread | Community Patch | MSS54 DS2 Tool

      Comment


        #4
        At least there is no tamper dot on the cluster.

        Comment


          #5
          Originally posted by AWE46M3 View Post
          I’m gonna try this 122k times 😅 congrats on the free mile
          Lol you’re not the first person to say this.

          Originally posted by tr3flip View Post
          At least there is no tamper dot on the cluster.
          Rightly so, the mileage hasn’t been tampered with. The purpose of removing the cluster was to fix the clock functionality.

          Originally posted by karter16 View Post
          My guess is that it's to do with the conversion between km and miles. AFAIK behind the scenes the cluster stores mileage in whole km, and then converts to miles to display to the user if that's the UoM that are configured. The mileage itself (what is stored in EEPROM) is stored in integer units. The finer-grained "how-far-through-the-current-km-are-we?" measurement is in volatile memory. So prior to the procedure you've got:

          (whole_kilometers + current_partial_kilometer) * 0.621371 = odometer_in_miles

          After the procedure you have:

          (whole_kilometers + 0) * 0.621371 = odometer_in_miles
          Sounds plausible, thanks for sharing.

          Although may I ask how you know this?
          2002 BMW E46 M3 Coupe
          2005 Porsche 911 (997.1) Carrera S

          Comment


            #6
            Originally posted by karter16 View Post
            My guess is that it's to do with the conversion between km and miles. AFAIK behind the scenes the cluster stores mileage in whole km, and then converts to miles to display to the user if that's the UoM that are configured. The mileage itself (what is stored in EEPROM) is stored in integer units. The finer-grained "how-far-through-the-current-km-are-we?" measurement is in volatile memory. So prior to the procedure you've got:

            (whole_kilometers + current_partial_kilometer) * 0.621371 = odometer_in_miles

            After the procedure you have:

            (whole_kilometers + 0) * 0.621371 = odometer_in_miles
            I've had KM / euro clusters do the -1 on power off as well.

            I think it's just that your "current_partial_kilometer" is rounded up and stored in volatile memory or something.
            E46 ///M3 • 12/2002 • phönix-gelb • 6MT
            E39 ///M5 • 12/1998 • avus-blau • 6MT
            E60 ///M5 • 11/2006 • saphir-schwarz • 6MT

            Contact e-mail -> jasper (at) dentmparts.nl
            D&T M Parts -> dentmparts.com -> used euro parts for M vehicles

            Comment


              #7
              Yes the mileage in kilometers is stored in whole kilometers. Theres a special section EEPROM that can increment and there are sixteen locations so it only writes each location every 16 kilometers.

              I don't know for sure about the part kilometrebut I suspect it is as noted above and only saved with battery power. So it rounds down with a power fail. You wouldn't ever see the issue on a km car.

              Comment


                #8
                Originally posted by R60BBA View Post

                Although may I ask how you know this?
                Which bit in particular? I've done a lot of work on the DME side disassembling the software, which includes the way in which mileage is communicated to the cluster and lighting control module so I understand it well from the DME side. I haven't disassembled the cluster, which is why I noted it was an educated guess rather than certainty. Note that bmwfnatic mentioned as well that he's seen this on clusters configured for metric as well, so probably then just simply that the current km is stored in volatile memory and lost.
                2005 ///M3 SMG Coupe Silbergrau Metallic/CSL bucket seats/CSL airbox/CSL console/6 point RACP brace/Apex ARC-8s
                Build Thread | Community Patch | MSS54 DS2 Tool

                Comment

                Working...
                X