I tried searching but apparently im an idiot. How do i read transmission fluid temperature?

I have an endurance road race Ford crown victoria and really need the automatic transmission temp. The ford ecu reports it, and the mx+ shows it, how do i get it on racechrono?


  • edited August 2021
    The transmission oil temperature is not part of the standard OBD-II, so you'll need to add it as "Custom OBD-II channel" in RaceChrono's vehicle profile.

    The OBDLink app probably has a database of custom PIDs for some manufacturers. These databases are expensive, so RaceChrono does not have it.

    So the problem in RaceChrono is that you'll need to know the details, such as the PID. My advice is to find out the correct PID first, and then see what it outputs.

    I can find several threads by Googling "Ford Transmission Temperature PID", but I cannot tell which ones you should try first.
  • Ok, thank you. I assumed that it was standard obd-II and i just couldnt figure out why it wasnt listed or what i had done wrong.
  • PID: 221E1C
    Long Name: Transmission Temp
    Short Name: Trans Temp
    Minimum Value: -40
    Maximum Value: 260
    Unit Type: °F
    Equation: (((signed(A)*256)+B)*(9/8)+320)/10

    any reason why that equation doesnt work?
  • edited August 2021
    The equation is from some other app, so it doesn't work for a reason. Here's the equation guide for RaceChrono: https://racechrono.com/support/equations

    But I assume this is from Torque App. "A" means first byte and "B" the second byte of the response. Torque is a bit clunky, and to get a signed big endian 16-bit integer, you'll need to do "(signed(A)*256)+B". In RaceChrono you could do this by simply "bytesToInt(raw, 0, 2)".

    The rest of the equation is about converting the value to Fahrenheit. RaceChrono want's the input in Celsius. If you do the math the "*(9/8)+320)/10" becomes "/16" as celsius.

    In RaceChrono you can divide by integers, as well as decimal values. So if you want decimals in your result, you should divide by decimal number. So you want to divide by "16.0", so you will get decimals in the result.

    Soo... The custom PID you're looking for is as follows in RaceChrono:

    PID: 0x221E1C
    Equation: bytesToInt(raw, 0, 2) / 16.0

  • I have found that the response in Torque vs Racechrono are a bit different, and if the Torque equation was "A", you would need to use "B" in RC.

    But as already mentioned, the native racechrono syntax is actually way more useful, especially for 2+ byte responses. That said, it may very well work if you used B and C in the original equation.
  • Ok, that makes sense now that you explained it. I did read the support page but... yeah i got lost quick. Thank you again. I was turned on to RaceChrono from another team in the LuckyDog race league. They rely on it for the lap times since their car is often too fast and can inquire penalties for doing so.

    Ive been talking to a few teams that want an incar lap time/gauge/gps solution and dont want to spend a fortune on AIM, Garmin, or Racelogic.
  • @hkerekes well, most importantly, did it work? :)
  • I added it under vehicle profile, OBD2 channels, and it says no data. Had to select gearbox temperature since that's all I saw

  • Did you enable the "Test connection" mode?

  • yeah, it shows the coolant temps, and other readings but still shows no data.

    I also cant add it to the gauge layout at all. It only shows like 5 choices. Coolant temp, rpm, intake temp, and something else.
  • Even after adding the custom channel, you need to select it as "Fast" or "Slow channel". The "Test connection" allows you to debug the added channels in the Vehicle Profile and Channel Editor screens, with live connection to the car. It makes sense to problem solve any new custom channel using the "Test connection" instead the actual session.
  • i think i originally selected it as a fast channel and then as a slow channel.
    I will try it again to make sure that i did it right, and then do the test connection.
  • Checked everything again, had it under fast connection, enabled test and still no data

    Thats a pic of the channel screen
  • Then apparently 221E1C is the wrong PID 😐

  • i did lots of digging and i believe the 221e1c is for newer cars, not my old 1996.

    would forscan be any help here?
  • edited August 2021
    TFT 1674 Transmission Fluid Temperature Input DEGREES
    Trans fluid temp PID: 221674

    either of those helpful? i really wish i understood how this worked. Totally feel dumb, that its easy i just cant wrap my head around it.
  • edited August 2021
    Is there any evidence that your 1996 has at least a transmission fluid temperature sensor? Does it have a gauge?
    1996 is when OBD-II was just introduced. It's very much possible that your car doesn't have many ECUs and PIDs of interest.

    You might want to find someone proficient with electronics and ask them to help you
    a) add your own sensors to whatever it is that you need
    b) make a RaceChrono DIY device, and send data from those sensors over Bluetooth to RaceChrono
  • Yes it shows it, ive read it before off the sctx4 and the mx+ reader
  • edited August 2021
    @hkerekes NO DATA means the PID does not exist. AFAIK some Fords require OBD-II header for the custom PIDs. Unfortunately I cannot help more.
  • If you can read it via the MX+ app, it should be possible to see what exact request (OBD PID, ECU header, etc.) goes over the bus. Someone local with experience in microelectronics might be able to help with that.
  • Thanks for all your help, im going to try forscan as it reads the service protocols at the dealer level or something to that effect. I believe it can give me the data for the Transmission temp
Sign In or Register to comment.