# Fault at Odometer reading since last apk update

**URL:** <https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474>\
**Category:** General\
**Created:** [December 6, 2025, 10:12am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474 "2025-12-06T10:12:23Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![TorGTC76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/34f0e0/32.png) [@TorGTC76](https://forum.realdash.net/u/TorGTC76)\
**Post date:** [December 6, 2025, 10:12am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/1 "2025-12-06T10:12:23Z")

</div>

Hello Realdash Support/Moderators,  
I apologize using Gemini for a clear enough question about an issue I faced up when I was trying to map the signals of my car. So I am not a technician neither a programmer and it was the best way of reporting my problem. Below starts the gemini’s text:  
I am reporting a reproducible bug in the **CAN bus data parsing** that affects the Odometer reading on my Opel Astra H (Z16LET, 2008).

The issue causes the Odometer value to **roll over or freeze** immediately upon reaching a specific distance, indicating a **24-bit integer overflow error** within the Realdash parsing logic.

### 1. The Problem Details

- **Vehicle:** Opel Astra H (Z16LET, 2008)
- **Bus:** SW-CAN (33.3 Kbps)
- **Signal:** Odometer (Located in CAN ID 0x190, Bytes 4-7, 32-bit field).
- **Failure Point:** The Odometer value stops counting or resets exactly at **262,144 km**.

### 2. Technical Evidence of 24-Bit Overflow

The raw signal value associated with 262,144 km provides definitive proof of a 24-bit interpretation error:

- The signal uses a division factor of 64 (i.e., Odometer=64Raw Value​) for conversion.
- The raw value corresponding to 262,144 km is:

262,144 km×64=16,777,216

- The number **16,777,216** is precisely **224**.

**Conclusion:** When the raw 32-bit field reaches the value 224, your parser is interpreting the signal as a **24-bit unsigned integer** , causing a catastrophic overflow/rollover at this specific point. The parser is only reading the first three bytes of the 32-bit field.

### 3. What to Ask (Required Fix)

The requested fix is on the Realdash application side:

**Please modify the CAN bus parsing logic for this 32-bit Odometer signal to ensure the entire 32-bit field is read as an Unsigned Integer BEFORE the division factor (scaling) of 64 is applied.**

This will prevent the overflow at 224 and allow the Odometer to correctly read up to its maximum 32-bit limit.

Thank you for looking into this critical bug.

---

<div class="post-metadata">

**Author:** ![realdashdev](https://forum.realdash.net/user_avatar/forum.realdash.net/realdashdev/32/6_2.png) [@realdashdev](https://forum.realdash.net/u/realdashdev)\
**Post date:** [December 9, 2025, 8:47am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/2 "2025-12-09T08:47:18Z")

</div>

32bits are read if you specify length=“4” at your CAN XML file.

---

<div class="post-metadata">

**Author:** ![TorGTC76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/34f0e0/32.png) [@TorGTC76](https://forum.realdash.net/u/TorGTC76)\
**Post date:** [December 9, 2025, 7:01pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/3 "2025-12-09T19:01:00Z")

</div>

Yes I Know cause I ve already bitcount=32 as you see in the xml value form. Before the last update was perfeclty working... At first I was blaming myself that I did sthing wrong, since I dont have the experiece in those things....that's why I "asked" gemini! The gemini replied that " Based on the provided frame definition and the issue you're experiencing (odometer stuck at 262144 km), the \*\*problem lies in the arithmetic conversion formula\*\* and the resulting \*\*integer overflow\*\* when the value is interpreted as a 32-bit unsigned integer before the final division."

---

<div class="post-metadata">

**Author:** ![realdashdev](https://forum.realdash.net/user_avatar/forum.realdash.net/realdashdev/32/6_2.png) [@realdashdev](https://forum.realdash.net/u/realdashdev)\
**Post date:** [December 10, 2025, 7:50am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/4 "2025-12-10T07:50:15Z")

</div>

Try to use length=“4” instead of bitcount=“32”

---

<div class="post-metadata">

**Author:** ![TorGTC76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/34f0e0/32.png) [@TorGTC76](https://forum.realdash.net/u/TorGTC76)\
**Post date:** [December 11, 2025, 10:41am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/5 "2025-12-11T10:41:07Z")

</div>

It worked! Thanks for your help!

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [December 13, 2025, 5:15pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/6 "2025-12-13T17:15:37Z")

</div>

Hello, your XML file is not working.

I am using OBD Link MX+ at 33.3kbps.

In the XML you sent, the speed and RPM are:

frame id=264 (my frame id=x108)

steering wheel buttons frame id=373 (my frame id=x175)

It seems we are using different connections; the file is completely different. What I’m reading is 33.3kbps:

x108-x110-x115-x11a-x130-x145-x155-x170-x175----------------last x631

---

<div class="post-metadata">

**Author:** ![TorGTC76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/34f0e0/32.png) [@TorGTC76](https://forum.realdash.net/u/TorGTC76)\
**Post date:** [December 13, 2025, 8:10pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/7 "2025-12-13T20:10:45Z")

</div>

It s still in experimental stage. I am still confirming the signals. Imagine I have v9 of my this draft. You can have it …it’s nice helping each other  
[CAN\_TEST\_SBv9\_SBGTC\_Gemini.xml](https://forum.realdash.net/uploads/short-url/brf9PM6rsXwYTznM1XF44cnho4P.xml) (23.5 KB)

PS: I am quit sure that opel astra’s models are using different protocols and structure from 2007… Also the fuel linear (dont know the exact term in English) is different That’s why I keep change the conversions to xml. Keep in mind that from 2007 Opel uses SW-CAN (33.3 Kbps), MS-CAN (96.5Kbps) and HS-CAN (11/500) as well

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [December 14, 2025, 6:44pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/8 "2025-12-14T18:44:55Z")

</div>

Hello, your XML file is not working.

I am using OBD Link MX+ at 33.3kbps.

In the XML you sent, the speed and RPM are:

frame id=264 (my frame id=x108)

steering wheel buttons frame id=373 (my frame id=x175)

It seems we are using different connections; the file is completely different. What I’m reading is 33.3kbps:

x108-x110-x115-x11a-x130-x145-x155-x170-x175----------------last x631

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [December 14, 2025, 7:05pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/9 "2025-12-14T19:05:19Z")

</div>

Above

Signal: Odometer (CAN ID 0x190, 4-7 bytes, located in the 32-bit field).

The file you sent is different

0x375 1 byte

fuel level 94-(V/2)

I wrote 180-V for now and it gives the same result

In the file you sent, can id=885  
fuel level 94-(V/2)

---

<div class="post-metadata">

**Author:** ![Tor76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/43a26b/32.png) [@Tor76](https://forum.realdash.net/u/Tor76)\
**Post date:** [December 14, 2025, 9:15pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/10 "2025-12-14T21:15:06Z")

</div>

I used decimal code for easier recognition of the realdash apk. The hex id s you found are right.

---

<div class="post-metadata">

**Author:** ![Tor76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/43a26b/32.png) [@Tor76](https://forum.realdash.net/u/Tor76)\
**Post date:** [December 14, 2025, 9:18pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/11 "2025-12-14T21:18:00Z")

</div>

That’s my problem so far … can id 0 x375 00 xx supposed to be fuel level with the conversion tag 94 - (v /2)… but i am still searching.

---

<div class="post-metadata">

**Author:** ![Tor76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/43a26b/32.png) [@Tor76](https://forum.realdash.net/u/Tor76)\
**Post date:** [December 14, 2025, 10:23pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/12 "2025-12-14T22:23:24Z")

</div>

I told you the xml file is experimental. You need to find the right signal in it. Is all there. You gonna need triggering option as well. Some signal are reading as bit unit but some as raw. Eg i had an issuue with sport mode indicator. The signal is appearing to 0x145 and to 0x305 4th and 5th byte (values are 3a and 51, normal mode 10 50)I had to change the xml command structure to raw and apply trigger optrions as for turning on the indicator of sport mode. I abandoned the id 145 cause it didnt work at all as an indicator. 3 weeks i was torturing myself with that. Some other signals are shown up with a click but they values return back to the initial state. So avoid using those signals since you can find them in another id (in which values are on and stay on with) another puzzle is when a particular byte of an id contains 2 or 3 or more signals and different values. You have to deep analyze the bits… when i finish the job i will abstact any xml command in my file that is not fiited or working with real dash.

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [December 14, 2025, 11:18pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/13 "2025-12-14T23:18:20Z")

</div>

OBDLink MX+ 33.3 kbps  
Speed  
RPM  
Handbrake  
Reverse (R)  
Parking Lights  
Low Beam  
High Beam  
Front Fog  
Rear Fog  
Temperature Checker  
Manual Gear Shifting 1-2-3-4-5-6 R  
Oil Pressure  
Engine Coolant Level  
Windshield Washer Fluid Level  
Cruise Control  
Air Conditioning  
Window Resistor  
Brake Pedal  
Clutch Pedal  
Right Turn Signal  
Left Turn Signal  
Hazard Lights  
Fuel Level  
Steering Wheel Buttons  
These all work flawlessly.

---

<div class="post-metadata">

**Author:** ![TorGTC76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/34f0e0/32.png) [@TorGTC76](https://forum.realdash.net/u/TorGTC76)\
**Post date:** [December 15, 2025, 6:48am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/14 "2025-12-15T06:48:06Z")

</div>

WOW! Good job! Hope I helped! Though I preferred HS-CAN for Speed and RPM, it s more accurate and direct! How did you check and confirm oil pressure (red indicator)?  
A help for 1. Reverse (R) 2. Parking Lights and 3.Fuel Level would be precious and welcome

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [December 15, 2025, 9:25am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/15 "2025-12-15T09:25:15Z")

</div>

\<?xml version="1.0" encoding="utf-8"?\> 

```
   <frame id="0x108" endianess="big">
  <value targetId="81" offset="4" length="2" conversion="V*0.0082882"/> <!-- VSS1 -->
  <value targetId="37" units="RPM" offset="1" length="2" conversion="V*0.25"/> <!-- RPM -->
</frame> 
    

    <frame id="0x145" endianess="big">
  <value targetId="165" units="bit" offset="2" startbit="2" bitcount="1"></value> <!-- Horn -->
  <value targetId="169" units="bit" offset="5" startbit="1" bitcount="1"></value> <!-- Cruise Control Active -->           
  <value targetId="14" offset="3" length="1" units="C" conversion="V-40"></value> <!-- Coolant Temperature -->
</frame> 

     <frame id="0x175" endianess="big">
  <value targetId="188" offset="5" length="1" units="bit" conversion="V==1"></value>  
  <value targetId="189" offset="5" length="1" units="bit" conversion="V==2"></value>        
  <value targetId="190" offset="5" length="1" units="bit" conversion="V==4"></value> 
  <value targetId="191" offset="5" length="1" units="bit" conversion="V==5"></value> 
  <value targetId="192" offset="5" length="1" units="bit" conversion="V==16"></value>
  <value targetId="193" offset="5" length="1" units="bit" conversion="V==32"></value>    
  <value targetId="199" offset="5" length="1" units="bit" conversion="V==48"></value>       
  <value targetId="197" offset="5" length="1" units="bit" conversion="V==64"></value>   
  <value targetId="194" offset="5" length="1" units="bit" conversion="V==80"></value>            
</frame> 

    <frame id="0x230" endianess="big">
  <value targetId="163" units="bit" offset="2" startbit="2" bitcount="1"></value> <!-- Trunk Ajar -->
  <value targetId="162" units="bit" offset="2" startbit="6" bitcount="1"></value> <!-- Door Ajar -->
  <value targetId="481" units="bit" offset="2" startbit="4" bitcount="1"></value> <!-- Door 1 Open -->
</frame>
   
    <frame id="0x235" endianess="big">
  <value targetId="274" offset="1" length="1" conversion="V/2.55"></value> <!-- Instrument Panel Lights-->
</frame> 

   <frame id="0x305" endianess="big">
  <value targetId="155" units="bit" offset="2" startbit="6" bitcount="1"></value> <!-- Parking Lights -->
  <value targetId="168" units="bit" offset="5" startbit="6" bitcount="1"></value> <!-- Seat Belt Warning -->
  <value targetId="156" units="bit" offset="2" startbit="7" bitcount="1"></value> <!-- Low Beam -->
</frame>   
  
<frame id="0x350" endianess="big">
  <value targetId="159" units="bit" offset="0" startbit="4" bitcount="1"></value> <!-- Reverse Lights -->
  <value targetId="157" units="bit" offset="0" startbit="6" bitcount="1"></value> <!-- High Beam -->
  <value targetId="392" units="bit" offset="0" startbit="5" bitcount="1"></value> <!-- Front Fog Lights -->
  <value targetId="176" units="bit" offset="0" startbit="7" bitcount="1"></value> <!-- Washer Fluid Level -->
  <value targetId="272" units="bit" offset="1" startbit="3" bitcount="1"></value> <!-- Coolant Level -->
  <value targetId="180" units="bit" offset="1" startbit="5" bitcount="1"></value> <!-- Engine Oil Level -->
</frame>                                                        
           
    <frame id="0x360" endianess="big">
  <value targetId="486" units="bit" offset="2" startbit="6" bitcount="1"></value> <!-- Door 6 Open -->
</frame>       
                              
<frame id="0x370" endianess="big">
  <value targetId="158" units="bit" offset="1" startbit="7" bitcount="1"></value> <!-- Rear Fog Lights -->
  <value targetId="164" units="bit" offset="1" startbit="0" bitcount="1"></value> <!-- Parking Brake -->
  <value targetId="482" units="bit" offset="1" startbit="1" bitcount="1"></value> <!-- Door 2 Open -->
  <value targetId="172" units="bit" offset="1" startbit="6" bitcount="1"></value> <!-- Heater Motor Level -->
</frame>                                                                   
                                                                                  
<frame id="0x500" endianess="big">
  <value targetId="12" units="V" offset="1" length="1" conversion="V/8"/> <!-- Battery Voltage -->
</frame>                           
     
   <frame id="0x260" endianess="big">
  <value targetId="160" units="ms" offset="0" length="1" conversion="V>>2"></value> <!-- Turn Signal Left -->
  <value targetId="161" units="ms" offset="0" length="1" conversion="V>>3"></value> <!-- Turn Signal Right -->
  <value targetId="166" units="ms" offset="0" length="1" conversion="V>>5"></value> <!-- Hazard Switch -->
</frame>  
   
                                  
  <frame id="0x375" endianess="big">
 <value targetId="170" offset="1" length="1" conversion="180-V"></value> <!-- Fuel Level --> 
</frame> 

```

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [December 15, 2025, 9:32am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/16 "2025-12-15T09:32:58Z")

</div>

The file I sent has 1-2 minor errors, but everything else works perfectly.

The speedometer shows a bit too high, around 100-105 km/h.

That’s why the odometer shows less; only the ratio needs to be adjusted correctly.

Oil pressure is fine.

Oil level might not be accurate.

Fuel level…

My formula is simpler and shows more accurately, but the vehicle deviates while driving due to the momentary value caused by the tank shaking. If you want, you can upload the XML file and check it.

If you provide the data in the format I wrote, I can write it correctly. I think there are some missing parts.

Is there a file for 500kbps?

---

<div class="post-metadata">

**Author:** ![TorGTC76](https://forum.realdash.net/letter_avatar_proxy/v4/letter/t/34f0e0/32.png) [@TorGTC76](https://forum.realdash.net/u/TorGTC76)\
**Post date:** [December 15, 2025, 7:52pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/17 "2025-12-15T19:52:18Z")

</div>

It’s far more tidy than mine. I am impressed you used innovated targetids. I hesitated go through this, cause I came up with the mess when I was re-constructing over and over again my xml, till i found the right format or syntax… So I preferred the ECU SPECIFIC section! Anyway I will try it out. My little knowledge doesnt allow me to have an opinion, but some ids contain different or slightly different signals than mine (discovered by reverse engineering) especially can ids 0x305, 0x350 & 0x360. Also you left out the warning signals coming out from UEC or REC. I also didnt touch them yet…but I have the xml form of them in my xml file, till I found the courage to get involved with.Surprisingly you suggest another conversion for fuel level (as you mentioned above) …it’s the first thing I will test!  
AS for HS-CAN ids you asked … unfortunately there is nothing across forums mainly for our type of vehicle. Though GM has some docs indicating the structure of the PIDs, but it’s totally out of my -even the restricted- knowledge and I cant or I dont have the time or the age to study them as tutorial!  
I will send you back my results! Thanks

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [December 15, 2025, 9:03pm UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/18 "2025-12-15T21:03:25Z")

</div>

The XML works, you’ll see when you try it, but you’ll need to make some settings on the display and add some things for it to work.

Example: The left and right turn signals will stay on constantly. You can do this on the display (edit-view-custom-edit level-critical-set the blinking speed to 350ms).

You can add icons for the missing ones, and you’ll edit the coding there again - you’ll code the icon corresponding to the input values. That’s it.

If I remember correctly, in the file I sent, the seatbelt warning should be coded for the climate control; the seatbelt icon will light up when you turn on the climate control.

You also need to enter data from the vehicle such as tire sizes, engine, transmission, fuel tank capacity, and mileage.

If you have any CANID data that you’ve analyzed in the XML format I sent, I can add those as well.

I didn’t work with some data (like remote control, ignition).

Missing icons:

Engine fault icon  
Exhaust fault icon  
ABS icon  
Airbag icon  
oil level icon

---

<div class="post-metadata">

**Author:** ![Halil1](https://forum.realdash.net/letter_avatar_proxy/v4/letter/h/d9b06d/32.png) [@Halil1](https://forum.realdash.net/u/Halil1)\
**Post date:** [November 4, 2026, 7:19am UTC](https://forum.realdash.net/t/fault-at-odometer-reading-since-last-apk-update/9474/19 "2026-11-04T07:19:55Z")

</div>

```auto
Hello. I currently use an OBDLink MX+ via Bluetooth, connecting at 33.3 kbps, and it works without any issues. I would like to set up a similar system using an Arduino with a serial connection, but I haven't been able to get it working. It seems you are using a serial-based system; could you help me out? What hardware/components should I be using?

I tried using an Arduino Uno with an MCP2515, but I couldn't get it to work.

```
