How-to calibrate your odometer using OBD, GPS and a SpeedoHealer

pagrey

TJ Guru
Supporting Member
Joined
Apr 10, 2018
Messages
7,725
Location
Los Angeles, CA, USA
This is a quick way to calibrate your odometer using GPS and OBD information with a SpeedoHealer.

** This is not a replacement for the great existing guide for picking a speedometer gear or calibrating your speedometer, start there first **

How to recalibrate your speedometer after changing tire sizes or gears

I got the idea from my RB1 navigation radio. It uses GPS to calibrate itself with the speed sensor data from the Jeep. It has an internal tire correction factor that works on any compatible vehicle just like a SpeedoHealer.

rb1_screen.JPG


The basic idea is simple. Just use GPS and OBD speeds to find the correction value for your SpeedoHealer. Compare the two values at a given speed and you have numbers to put into your SpeedoHealer. For the method I used you need an Android phone, an ELM327 bluetooth adapter and the paid app InCarDoc Pro. The app costs $3 but I think it’s worth it considering how easy it makes calibration.

To calibrate the odometer you need to create a combined graph in InCarDoc that contains both the GPS speed and OBD speed data. Under “Current Data” select COMBY and create a widget selecting GPS speed (gpsd) and OBD speed, I titled mine “Speed.” At the top under RECORD select the new Speed widget you created to be sure it is recorded in the log.

setup_ss.jpg


At this point all you have to do is put the phone down and go for a drive. A loop around the block is all it takes. When you are finished disconnect from the Jeep and go to the LogBook. Find the log entry for the Speed widget you created and view the graph.

run_1.jpg


The app automatically matches the curves and labels both axis. The curves should match, the labels are the important part. It averages the whole test drive not just one or two points. Just plug those two numbers into the SpeedoHealer calculator and you have your correction number.

(45/43.25 - 1) * 100% = 4.0%

Here is my second pass using the 4.0% correction.

run_2.jpg


This method is accurate enough it revealed an interesting thing. The SpeedoHealer in my case is actually slightly off compared to the programmed value. It is very close but it required a third pass to get the last digit spot on. After a 0.3% nudge back in the other direction you can see in the last graph my Jeeps internal speedometer now reads almost exactly GPS speed.

run_3.jpg


That’s it, three drives around the block and my SpeedoHealer is calibrated down to the last 0.1%. My speedometer is slightly off but now my odometer records almost exactly the correct value driven.

Why didn't I use any the other methods?
First, switching speedometer gears for me means going from 34 to 33 tooth gears. For an odometer that is about 3% or 150 feet every mile. Not what I was going for. That’s three miles off on a trip down the Old Mojave Road. Second, I didn't want to use maps and the odometer. The odometer only reads 0.1 miles and I wasn’t going to drive down the street and then stop just as it turns over or yell out to a co-driver. Besides just picking a different left turn lane driving around the block would add up to considerable errors of driven distance vs map distance. Third, GPS distance calculations are generally not great. The distance data is unreliable because the position wanders all over the place. Modern mapping software does a pretty good job with averaging map and GPS data but at the end of the day it isn't as good.

Why use the speed to calibrate distance?
The speed data has the least error. The calculated speed from the OBD port is directly from the hall sender and all digital. The GPS speed data is rock solid, it is used to calculate position so it must be accurate well beyond the position data.

There really is no reason to calibrate within this tolerance. It will change if my tire pressure is a few psi down because the tires are cold or in a few months when the tires wear down. The main upside is that it was easier for me to do it this way compared to any of the other methods. I didn’t have to juggle anything while driving or trust maps or highway markers zooming by on the freeway. My primary concern was not the accuracy of the speedometer, close is fine. I wanted to calibrate the odometer so when I navigate and log my fuel economy I have good data. Most important, it was fun.
 
Last edited: