FR-S/BRZ Oil Temperature PID

Has anyone managed to create a custom PID for engine oil temperature in RaceChrono for an FR-S/BRZ?

I’ve tried without luck.



  • edited August 2019
    Hi, I've emailed you about the problem with OBD-II header. The OBDLink screenshot had 7E0 for the header (and 0x2101 as PID and "A-40" as equation). Unfortunately RaceChrono currently uses the default OBD-II header only, so this doesn't work at the moment. Next version (v6.1) will add this functionality.
  • Looking forward to 6.1! I just got a new car and all of the custom PIDs are 7E0 headers as well. Will be happy to test out on the beta when it's out.
  • I would be happy to test it too, thanks.

  • Sure, it will be first available in Android beta group. I can make it available for iOS too (Test Flight) if anyone needs it.
  • @aaronc7 @stewart23 v6.1 has now been uploaded to the beta group (Android only). Let me know if this works now.
  • Using the latest beta that allows for custom PIDs and ODB2 headers, I got my oil temps working with these settings:


    Channel: Engine oil temperature (C)
    Channel Postfix: None, None
    ODB-II Header: 0x 7E0
    PID: 0x 21 01
    Equation: bytesToUInt(raw, 28,1)-40

    The equation AC-40 floating around doesn't work because there is no variable AC in Racechrono, but AC refers to the 29th byte of the raw frame-message, so to get the 29th byte we use 28 (Arrays start with 0) in the function bytesToUInt to get the equivalent AC value.
  • @Deisou Thank you, great job figuring this out!
  • @Deisou Thanks for your informaiton. I try your setting with oil temperature in my 2019 BRZ, but the value from euqation always fix on -39°C. It's seems the calculation result of "bytesToUInt(raw, 28,1)" is 1. I try both on Android and iOS with same result. I also change "28" to different arrays, the output change but not the right one obviously.

    Do you have any idea about that? Will toyota change the PIDS in new car?
  • @Deisou did you enter the custom OBD-II header, 0x7E0 ? This will not work without it.
  • @lefusu I thought this was only required for 2013 and below versions? From 2014 onwards, the original OBDII PID for engine oil temperature should just work. At least that's what I read online.
  • @aol 100% correct. I'm going to assume you were referring ro @lefusu ? Either way. Here is the screenshot link again that might help.

  • edited April 2020
    @Deisou thanks for your reply. I suspect my obd2 device(vgate buletooth) may have some problem. I found some 86/BRZ owner complaint about their obd2 device could not received oil temps on torque.

    I alread order a OBDLINK MX, hope it could work.
  • @lefusu Cool. Hope that works for you. I'm using the same one and it works a treat.

    Try get the temps without doing any of this, I got a feeling it will work with the standard PID given you're a 2019 model.
  • @Deisou

    the newer version BRZ do have digital dashboard provide oil temperature, however the scale only shows "50-90-130-170°C" which is not accurate enough. I also want to gather some data in order to evaluate my modification of the cooling system in coming summer.

    I got OBDLINK MX today and did some test. When I double checked my input to make sure it was 100% right, I think Toyota did change something. So I try to change the “28” from “1”, and got something interesting.

    I think (raw, 9,1) should be coolant temperature, and (raw,34,1) should be the engine oil temperature. I have a pivot dual gauge can show coolant and oil temps which can help me cross check the number.

    Of course, there are more test request to make sure it’s right(daily driving and track day).

    Finally my test pronounce vgate obd2 innocent. However the OBDLINK MX is much faster than vgate under the same conditions, is that means I did not waste my money ?:D
  • Hi guys,

    I'm just getting into track days with a 2013 GT86 and am discovering the possibilities of RaceChrono, Car Scanner and so on. I found this thread and got Oil Temp to RaceChrono! Supernice.

    But, the value is recorded fluctuating between the actual value and -40. The graph shows a sawtooth format:

    Since I have the actual value as the local high value, I can pretty much use the data when fiddling with it further in a spreadsheet, but maybe there's a small thing I could try to make the value consistent?

    I know the oil temp (high plateau on the chart in the screenshot) is correct as Car Scanner shows this consistently. I did create the "oil temperature" by adding a channel in the vehicle profile menu by filling in the blanks from the data on the screen shot above in this thread.

    My highest respect goes to the people behind RaceChrono, keep it up!


  • If you're ok doing some basic soldering, or have a friend who can help, you might consider creating a DIY CAN reader instead of using a slow and limited OBD protocol.

    I've documented how to do it for FT86 cars here:

  • Hi timurrrr,

    That is impressive work! I will look into it in more detail. As I plan to import also data like oil pressure (from an external sensor) and possibly more custom signals, I’d need to create a custom gateway between the car and phone anywho. Your work will most probably be very helpful.

    And as the phone’s native gps has insufficient accuracy, I’d like to integrate also this project in some form:

    There is the which should be ready for sales soon, but it’s somewhat out of my budget and the diy route seems just too awesome (read: more time consuming and more expensive in the end) not to take it. €:

  • Hi all,

    I found the refresh rate of the OBDII scanner + 5hz external GPS enough for track day data. I only do this casually a few times a year.

    Video with overlay here:

    I ended up exporting my data out and doing the overlay in Race Render because that's what I'm used to. Don't worry, I have purchased RaceChrono Pro as well and will play with making my videos there more once I have a GoPro that gets GPS data. That should make sync'ing the data with the video easier, I hope.

  • edited November 2020
    @srpus Wivel has a great idea behind it, but unfortunately their development has been so slow, that I wonder about its future...

    @Deisou Thanks for sharing looks great!
  • @srpus I have the same problem as you. And my car is 2017 BRZ.

    I turned on the "Test Connection" option, entered the setting interface of the "engine oil temperature", observed the real-time data, and found that it was indeed fluctuating all the time. I have cut three pictures of different measurement results from the video as follows.

    I have no idea how to write single equation compatible with these three situations. Or, is this a bug in RaceChrono?
  • @duron600 What adapter are you using? Looks like you're getting some garbage data. It shouldn't be jumping like that. looks like bad data, and is almost certainly bad data.
  • edited April 2021

    @timurrrr I am using OBDLink LX, which can read the oil temperature accurately and stably with its own app. But I’m not sure if there’s a problem with the device, I will try it with other app later. Any recommended apps ?

  • The OBDLink app polls data very infrequently, while RaceChrono does frequent polls, which might explain why you see failures with RC more often...

    Do you also see the same issues with this channel when logging sessions, as opposed to the "Vehicle editor" / "Test connection" mode?

  • edited April 2021
    Hi, timurrr.

    Yes, I also see the same issues with this channel when logging sessions.

    If your guess is correct, I should see the correct value more often than -40, right? But in fact, I see -40 more often, which lasts for about 10 seconds or longer, then suddenly the correct value shows, for about one second or less, and then it changes back to -40.
  • Sounds like only the first frame of the response is received, and the rest of the frames are received only some times...
  • Yeah, the data I'm getting is very clean: no noise, changes gradually as I drive, and I never get -40ºC.
  • Hi all,

    I wish there was a way to get notifications from this forum to my email, but I haven’t found such option.

    @duron600 most probably the problem with my fluctuating has to do with my dongle (

    I guess I missed it before but also on Car Scanner app all data freezes in a similar frequency. And it doesn’t matter if I’m showing just rpm on on screen or multiple parameters at a time on one screen.

    I see these solutions:

    1) build @timurrrr’s gateway on Adafruit hardware:

    @timurrrr can you confirm the solution also works with iOS?

    2) build a similar system on Arduino Nano 33 IOT (as I already have the hardware) like @GiuseppeBinomi:

    @GiuseppeBinomi can you please contact/help me get the BLE connection running on the Arduino Nano 33? You can check your Messenger, I tried contacting you there.

    3) buy a more expensive dongle which is not 17€ which works with RaceChrono, but then I’d still need to get GPS somehow

    4) buy an ecutek dongle, log data and match the data somewhere afterwards. I’m just going through the fensport NA remapping + header change and the ecutek dongle through the ecutek app works consistently. Still the GPS problem and would like to get everything done in one place and RaceChrono is perfect for that.

    The biggest pain at the moment is the lack of precise live gps data to RaceChrono so I might deal only with that first. Whenever I get something working, I’ll share it here too.


  • @aol @srpus I found 7.2.3 version(android and IOS both) can received right data. It’s may show “-40” in a second but most of time have right number of temperature. But when I updated to 7.2.8 and 7.3, there are always pop up “-40”, and only have right temperature number in a flash.
  • @lefusu ok, interesting, it's probably worth for a debug session to see if I can find the problem.

    Here's how to create a debug session:

    1) Please turn on "RaceChrono > Settings > Expert settings > Save device output".

    2) Then record a session while connected to your OBD-II reader. It is connected if the "Connecting to..." goes away and does not appear again. Short session with GPS lock, and the OBD-II reader connected is ok. No need to be at a race track, just a casual drive around is fine.

    3) Please share that session with me (using the share button, that generates a .rcz file), to my real email address, or tracks(at) if you don't know it.
  • @aol already sent to tracks(at)
Sign In or Register to comment.