Is it possible to use the GPS via CAN BUS?

Is it possible to use the CAN Bus with the OBDlink as a GPS receiver?
The GPS in the car is much better than the one in my phone.


  • edited July 2022
    RaceChrono doesn't support this in the live recording mode. It's quite interesting, but would require big changes to support this. But, for example Tesla Track Mode data can be imported afterwards, and then the vehicle's own GPS will be used. If your car has data output like that, send me some samples :) Tesla's output is just a CSV file on a memory stick.
  • OK
    Unfortunately I have only a model 3 with long range and the Boost option.

    Tomorrow I'm going to the circuit of Pau Arnos (FR)
    A phone with RaceChrono for CANBus acquisitions
    Another lighter phone with RaceChrono for movie recording,
    and the final rendering with RaceRender3

    I finally found how to get the GPS data on the CANBus of the car PID 0x4F or 79
    To calculate the latitude for example I apply the formula :
    I multiply by 6, because the display in degree divided by 6000000 which is not intuitive :)
  • Hmm? Is that 6M RaceChrono oddity? Or Tesla?
  • edited July 2022
    @Marcus54 Yep, looks like a bug, it's revealing an internal implementation for some reason. If you convert to floating point values, it should not do that. With float() function or do an arithmetic operation with a floating point value.
  • edited July 2022
    As it works relatively well, I'll keep it as is?

    I checked on RaceChrono, the GPS data of the phone and the GPS of the Tesla have approximately the same values, the quality of the Tesla GPS is much better, there is less jerkiness in the curves.

    I know it's not your software, however, with RaceRender 3 there is a quirk.
    After importing the race in .vbo, I have the track drawing which is correct (the picture on the left).
    I have indicated in RaceRender3 that the GPS data comes from the CANBus, I have the same track drawing, more precise, finer, but reversed (the right picture). This is not a problem, it can be easily corrected in RaceRender.

    I found
    lat long velocity heading height
    +2606.761763 +00031.845642 000.000 000.00 +00250.12

    height-canbus lat-canbus long-canbus
    +00208.00 +2606.761860 +00031.845540

    Strangely there is a factor of 60 between the real and the recorded values
    2606/60=43.43° 😊
  • edited July 2022
    @Marcus54 If I fix the bug, I think your integer based equations will stop working unfortunately. Ones that give out floating point will continue working.
  • @aol_of_RaceChrono
    It's better if it's corrected.
    That's okay, I'll correct my equations.
Sign In or Register to comment.