Decoding OBDII Comms


Closed Thread
Results 1 to 13 of 13

Hybrid View

  1. #1
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,605


    Did you find this post helpful? Yes | No

    Default Re: Decoding OBDII Comms

    Hi,
    No, it's really quite hard (for me at least) to "translate" something like that with just one sample as a reference. If you could get 5 samples or something like that over a range of temperatures (and what they should correspond to) it might be easier - not saying I'm the man to pull it off though....

    However, it would seems to me that this sort of stuff should be documented somewhere, I mean isn't OBDII a "standard"? Doesn't it have a protocol specification?

    /Henrik.

  2. #2


    Did you find this post helpful? Yes | No

    Default Re: Decoding OBDII Comms

    Here is another example this is reporting amps.

    The data is two bytes. How is the amps being derived from those two bytes?

    $FF $A6 = -4.5A
    $00 $5F = +4.6A
    $01 $16 = +13.6A
    $01 $61 = +17.1A

    I suspect the sign is in the first byte.

    In the bottom example I was thinking 1 x 128 + $61 = 225 then do something to get 17.1?

  3. #3
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,605


    Did you find this post helpful? Yes | No

    Default Re: Decoding OBDII Comms

    Hi,
    It looks like you have a simple scale of ~20 counts per ampere.
    $005F is 90 in the decimal, 90/4.6A=19.5 counts per Amp
    $0116 is 278 in decimal, 278/13.6A=20.4 counts per Amp
    $0161 is 353 in decimal, 353/17.1A=20.6 counts per Amp

    $FFA6 = 65546 which in two complements is -89, 89/4.5=19.8 counts per Amp

    Average that out a bit and I'd call it 20 counts per ampere.

    /Henrik.

  4. #4


    Did you find this post helpful? Yes | No

    Default Re: Decoding OBDII Comms

    Thanks Henrik that fits in with some other tinkering i have been doing. More data to follow.

  5. #5


    Did you find this post helpful? Yes | No

    Default Re: Decoding OBDII Comms

    Here is a different current sensor

    This one gives the following data and values, seems to work on a different formula?

    $7F $9E = 2A
    $7C $9C = 8A
    $78 $9B = 16A
    $83 $9F = -6A

    Looks like anything over $7F in first byte is a negative value


    And one more this is reporting voltage.

    $98 $B1 = 158V
    $9B $99 = 162V
    $9C $80 = 163V

    Seems to be just the first byte involved + 6?

  6. #6
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,605


    Did you find this post helpful? Yes | No

    Default Re: Decoding OBDII Comms

    Hi,
    Well I can only guess but here goes.

    Voltage:
    $98B1=39089=158V : 39089/158=247
    $9B99=39833=162V : 39899/162=246
    $9C80=40064=163V : 40064/163=246
    So, it looks like there's ~246 "counts" to a volt but again, that's just an educated guess.

    Or perhaps there's an offset to it making values above 32768 positive and values below negative. In that case it might look like this:
    (39089-32768)/158=40
    (39833-32768)/162=43
    (40064-32768)/163=45
    Nah, that's probably not it.

    The current is a little more tricky, here's my initial thought.
    $7F9E=32670=2A : (32768-32670) / 2 = 49
    $7C9C=31900=8A : (32768-31900) / 8 = 108
    $789B=30875=16A : (32768-30875) / 16 = 118
    $839F=33695=-6A : (32768-33695) / 6 = 154 (-154)

    Clearly the above doesn't add up at all so there's something else involved.

    So it's all about sitting down with pen, paper and a calculator and try to reverse engineer the numbers, try to find something that matches all the readings you have. Or try to find the specification of the protocol...

    /Henrik.

  7. #7
    Join Date
    Aug 2011
    Location
    Guadalajara, México
    Posts
    28


    Did you find this post helpful? Yes | No

    Default Re: Decoding OBDII Comms

    For the current, it seems that the amps are 128 reading units apart...
    33695 = -6
    33567 = -5
    33439 = -4
    33311 = -3
    33183 = -2
    33055 = -1
    32927 = 0
    32799 = 1
    32671 = 2
    32543 = 3
    32415 = 4
    32287 = 5
    32159 = 6
    32031 = 7
    31903 = 8
    31775 = 9
    31647 = 10
    31519 = 11
    31391 = 12
    31263 = 13
    31135 = 14
    31007 = 15
    30879 = 16

    Pretty close...
    My English doesn't sucks, it's just fugly...

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

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