OBDII ECU Programming: Tire Size and Pressure Settings in JK Vehicles

Programming tire size and pressure settings in a Jeep JK’s Electronic Control Unit (ECU) is achievable through the OBDII port without specialized equipment. This article outlines the process, leveraging the OBDII Data Link Connector (DLC) located by the driver’s left knee. This method has been successfully implemented on a 2018 JK.

Understanding the Communication Protocol

The fundamental communication protocol utilizes ISO 15765-4 CAN, with an 11-bit ID and a 500 kbaud rate. An additional layer, akin to Keyword Protocol 2000 (ISO 14230-3), operates in conjunction with this.

Tire size information, specifically the speedometer ratio, resides within the Totally Integrated Power Module (TIPM) under local identifier 0x0c. This value is also present in the Transmission Control Module (TCM) at local identifier 0xb1, accompanied by other less readily interpretable values.

Command Sequence for Tire Size Programming

The general command sequence for adjusting tire size is as follows:

  • Tester Present Signals:

    • 01C 3E 02 (to unknown module 2)
    • 7DF 3E 02 (to general modules)
  • Initiating Diagnostic Sessions:

    • 620 10 92 (to TIPM)
    • 7E1 10 92 (to TCM)
  • Writing to TIPM: 620 3B 0C 0E 92 03 E8 0F A0 p1 p2 FF FF 00 03 11 1B A0 01 00 01 02 (writes to local ID 0x0c)

  • Writing to TCM: 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 (writes to local ID 0xb1)

  • ECU Resets:

    • 784 11 82 (to unknown module 4)
    • 620 11 82 (to TIPM)
    • 784 11 82 (to unknown module 4)
    • 7E0 11 82 (to Engine Control Module – ECM)

Note: All values are represented in hexadecimal. Each command line follows a structure: CID (Controller Identifier), SID (Service Identifier), and PID (Parameter Identifier). Data write commands include data bytes after the PID.

Calculating Parameters for Tire Diameter

The variables p1 and p2 in the write commands correspond to the tire diameter. p1 represents the most significant byte, and p2 the least significant byte of a calculated value ‘pp’:

*pp = diameter (inches) 80 – 8**

For a 32.75-inch diameter tire:

pp = 32.75 * 80 – 8 = 2612 = 0x0a34 (hexadecimal)

Therefore, p1 = 0x0a and p2 = 0x34. Important: Use the tire’s rolling diameter (under load) not the unloaded diameter.

Parameters ‘qq’ and ‘rr’

Determining the values for qq and rr remains empirical. qq potentially represents a signed analog value, while rr could indicate flags. A table of observed values is provided below:

Diameter (inches) qq (hex) 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

OBDII Interface Considerations

Affordable OBDII interfaces like the Bafx (using an ELM327 chip variant) and the OBDLink SX USB (using the STN1110 chip) can be employed for this process. However, multiframe write functionality may require workarounds due to limitations in these chips. A more robust solution could involve a Raspberry Pi with a CAN bus interface. Using strategic toggling of Auto Format (caf0/caf1) and Response (r0/r1) modes allows for successful programming even with the ELM/STN chips.

Conclusion

Obdii Ecu Programming for tire size and pressure in JK vehicles is possible with readily available tools and a clear understanding of the communication protocol. While challenges exist with certain OBDII interfaces, practical solutions are available. By following the outlined steps and calculations, successful modification of these parameters can be achieved.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *