Jeep Wrangler Forum banner

OBDII programming tire size and pressure

20K views 40 replies 12 participants last post by  Bob Sanders  
#1 ·
I've figured out how to program the tire size and pressure settings in JK vehicle ECUs (Electronic Control Units) via OBDII without depending on a commercial programmer.

I've done this on a 2018 JK.

This is done via the OBDII DLC (Data Link Connector) by the driver's left knee.

The basic low level protocol is ISO 15765-4 CAN, 11 bit ID, 500 kbaud. There is an addition protocol layer on top of or next to that that is similar to Keyword Protocol 2000, ISO 14230-3.

For tire size it appears that the speedometer ratio is in the TIPM (Totally Integrated Power Module) in "local identifier" 0x0c. That value is also programmed in the TCM (Transmission Control Module) in local identifier 0xb1. Plus there are a couple other rather cryptic values in that same location.

The general command stream for tire size is:

01C 3E 02 to unkn2, tester present
7DF 3E 02 to general, tester present

620 10 92 to tipm, diagnostic session control

to tipm, write local ID 0x0c
620 3B 0C 0E 92 03 E8 0F A0 p1 p2 FF FF 00 03 11 1B A0 01 00 01 02

01C 3E 02 to unkn2, tester present
7DF 3E 02 to general, tester present

620 10 92 to tipm, diagnostic session control

7E1 10 92 to tcm, diagnostic session control

write tcm local ID 0xb1
7E1 3B B1 6A 64 34 72 05 01 00 0A 02 00 05 10 27 27 01 06 02 02 0C 00 00 01 00 02 00 02 00 00 4F 01 92 0E E8 03 A0 0F p2 p1 23 00 qq rr 41 56 43 2D

784 11 82 to unkn4, reset

620 11 82 to tipm, reset

784 11 82 to unkn4, reset

7E0 11 82 to ecm, reset


All of the above values are in hexidecimal. The first three digit number in each line is the CID (Controller Identifier, i.e. addresses the TIPM, TCM, ECM, etc.) The second number is the SID (Service Identifier). The third number is the PID (Parameter Identifier). On data write the PID is followed by the data bytes as above.

The variable parameters for tire diameter are p1, p2, qq, and rr above. The appropriate p1 and p2 values are easy to calculate. P1 is the most significant byte and p2 is the least significant byte of a value that I'll call 'pp'.

pp = diameter (in inches) * 80 – 8

So for 32.75 inch diameter we have:

pp = 32.75 * 80 – 8
= 2612

Converting that to hex we have 0x0a34. The most significant byte, p1 = 0x0a. The least significant byte p2 = 0x34.

Note that the diameter should be the rolling diameter and not the unloaded diameter of the tire. An unloaded 34 inch tire has a rolling diameter of 32.75 inches once you put the weight of the vehicle on it.

I was not able to find a formula for the qq and rr values. The qq value might be a signed analog value and the rr might be flags. I don't know. So I just have a table of some observed values.

Diameter (inches) qq rr (hex)
31.2875 35 29

32.0 21 9d
32.25 e3 ad
32.5 eb 3d
32.75 ee cd

33.0 f7 5d
34.0 cf 9d
35.0 d5 5d

I was able to do the above with cheap commonly available OBDII interfaces. One was a Bafx and the other was the OBDLink SX USB. The Bafx uses a knock-off of the ELM327 chip. The OBDLink uses the STN1110 chip. One difficulty is that neither of them do multiframe writes correctly. The STN is a little better than the ELM. I had to hack around using tricks like going in and out of Auto Format (caf0/caf1) and Response (r0/r1) modes. It would be possible to create a clean interface using a Raspberry Pi and CAN bus interface but I was able to get by with the ELM/STN for my purposes.

- Happy Trails
 
#4 ·
What really is desirable will be subjective and may rightfully spark a good argument.

What has happened over the last decade or two, that many manufacturers have raised coolant temperatures to meet their emission and fuel economy targets. Former Daimler-Chrysler, now FCA is one of those companies.

While this practice might have been determined to be a perfectly safe, it puts the cooling system closer to it's limits and in my opinion rightfully raises valid concerns.

As a result many people including myself may wish to see their engines running cooler, however to this day the only way to accomplish this is via expensive tuning solutions. Coughing up hundreds of dollars is difficult, especially if all someone needs is to adjust the fan engagement temperature.

So if someone could come up with a different, more economical way to adjust fan engagement temperatures, then that could be a win for everyone.

It MUST be noted, that fan engagement is generally a well MISunderstood subject. People wrongfully think that fan is effectively used only under low speed operation. However that is wrong. Fan ASSIST is very real and is used even under high speed operations and this is exactly where reprogramming the fan engagement schedule of Pentastar might bring a solution to those who believe that Pentastar should benefit from cooler running temperatures.

So I can only encourage you trying to come up with a solution. I believe it can generate some healthy sales for you.

The only danger that I see for your 'investment', that some other low budget diagnostic scan manufacturer could in future include this function in their existing platform. E.g. I'm thinking about Appcar DiagFCA, that has received amended functions since it's initial release and now features a rather broad functionality.

Further, hopefully the fan tuning part will be accessible without having to unlock the ECM. I'm sure you know our ECMs are locked for tuning from 2016- on.
 
#5 ·
What really is desirable will be subjective and may rightfully spark a good argument.

What has happened over the last decade or two, that many manufacturers have raised coolant temperatures...

......

...Further, hopefully the fan tuning part will be accessible without having to unlock the ECM. I'm sure you know our ECMs are locked for tuning from 2016- on.
Well I'm not looking for an argument. :)

How much have they raised the coolant temperature? I don't see that it is close to a system limit.

I don't know but it seems that one couldn't just change the coolant temperature without perhaps having to adjust mixture too. Maybe the ECM would automatically do that, but I don't know.

I'm not looking for sales. :) (That would be like... work. I don't need that noise.) I posted this to help other and also hoping that others would contribute, thus helping us all.

I hadn't heard of the commercial programmer you mentioned. Looks pretty good. Reasonably priced. But still VIN-locked. I suspect that with time our community could come up with an open source equivalent.
 
#8 ·
Admitting being brand new to this "tuning" thing but why is there this level of involvement to accomplish the adjustment? Isn't this ability already available in a scroll and click form on my OBD JScan?
 
#16 ·
Well, I'm a happy user of JScan. It had a bit of a rough launch, but the developer worked out all of the issues in a timely manner and has done continued work to add improvements and new features.

He has recently added a Trail View, that allows you to engage front and rear lockers independently from the screen and show some other information. I haven't gotten to use that yet, but looking forward to giving it a try.

ben
 
#18 ·
Wow, tough crowd... As if these guys wouldn't trip over themselves to get their hands on a totally free option.

Personally I think it's cool you're digging into this and sharing your findings. (OSS dev here, for what it's worth, though I lack the time to commit to anything new... and I'd be terrified of bricking my Jeep.)
 
#19 ·
;) Thanks.

There have been a couple other threads on OBDII programming:
https://www.wranglerforum.com/f202/hacking-the-can-interior-bus-466730.html
https://www.wranglerforum.com/f202/hacking-the-obd-ii-diagnostic-port-1113194.html
dcgibbons did a lot of good work. I'm certainly open to cooperating with other developers.

Part of my motivation was also to put downward pressure on the prices of the commercial programmers. Originally I bought a commercial programmer for about $180. I knew that there was little more to them than there is to the cheap ELM327 interfaces. And then they are VIN-locked to one vehicle. We can do better than that.

Jscan is probably going to put downward price pressure on the market. We'll see if some of the prices decrease.
 
#22 ·
I'm gonna double down here and put this in the 2 JScan/OBD threads I know of to cast a broad net but -



Trying to change my transfer case ratio but when ever I try the Jeep won't accept the change. This is just using the first step. I get the screen saying my change was accepted but when I check it didn't take. I'm thinking there is 1 more step where I need to temporarily open the computer(?) to allow the change to be saved?


Sound familiar to anybody? I also thinking it is like when you change your axle gear ratio. You have to temporarily open the computer to allow the change to be saved? At least this is what the 1 youtube vid says,




Anybody.....anybody....


__________________
When young people tell me about their problems I like to tell them that story about the time I survived without my cell phone and the internet for 40 years
 
#23 ·
Hoping this thread is still active. Can anybody answer why some of these changes aren't taking with the JSCAN App? RHinorear is having trouble with his transfer case ratio settings, but I'm having trouble with the TPMS Threshold settings. I enter the change, hit "go" and get a successful message, but the change doesn't take. However if I turn *off* the TPMS monitor, that change takes. Any suggestions are welcome. Thanks
 
#26 ·
I have ALWAYS had trouble setting tpms and not just with jscan, but with procal and fashcal (I own all 3 devices)



They all claim success but when it comes down to it, they all fail.


In this example I use jsacn and I set for 151kpa (22psi) and you even see the change up above. You can't see it in the pic but but the left rear wheel is flashing low at 165kpa. The alarm isn't even supposed to be going off until 151!





The only thing which has ever really worked for me on all 3 devices is just turning it off.


Now I did notice Jscan just today put out a bug fix for tpms (evic version) which I will try later.... but if it works it'll be a first.


Some people DO have real success and I'm not sure why. I belive it has something to do with the later model jk's vs the earlier models (mine is a 2017)... but that's just a guess.
 
#30 ·
Try it it might work :) I might be a simple country bumpkin but I have connections.
 
owns 2024 jeep wrangler rubicon
  • Like
Reactions: OscarMikeJK