UltraGauge Mazda BT-50 Automatic Transmission Temperature

 

A difficult thing to find is the way in which you can set the UltraGauge to read transmission temperatures on the Mazda BT-50.

If you have purchased an UltraGauge, like I did for cheap from the USA website, then you will have pre-selected for the Mazda programming.

However when they ship it, it is shipped to read out automatic transmission temperature in °F.

To get the UltraGauge to correctly read the transmission temperature for the Mazda BT-50 you will need to input some codes of your own in the ‘MGauges’ menu, and I will show you what to put in.

For UltraGauge Ford Ranger automatic transmission temperatures I believe you can follow these steps as well.

The Ultragauge was the first thing I bought for my 4WD build, with the intention of monitoring my automatic transmission temperatures.

*Disclaimer

Affiliate links may be present on this page. These are links to websites such as Amazon, where if you decide to purchase something, then they will offer me a tiny commission. This comes at no extra cost to you and is just a way for me to try and support myself and the blog. I only link to the best of the best with careful consideration, thank you.

Reading and interpreting the code

 

Here is an example of a code;

Abbr: xxx    Abbr2: xxx
TData: 07E1221EC0000
TCtrl: 93    RCtrl: 31
RPos: 2010    Mtch: 621E1C
X: 0001   /: 0010   +: 0000
Out Format: 00    Ave: 00
Left/Right: 31

For the most part you don’t need to know what each line is for, but for those who are interested.

“Abbr” and “Abbr2” are for you to name the gauge whatever you want eg: ATF °C.

“TData” is a command sent by UltraGauge to the CPU/ECU asking for information.

“TCtrl” and “RCtrl” I do not know what they do but they’re always 93 and 31 respectively from my experience.

“RPos” seems to always be 2010 or 3010, again, it is to do with data being sent and received.

“Mtch” a value used to confirm that the data received matches that which was requested (it is made up of TData bits”

“X:” Multiplication of the received number from the ECU.

“/:” Division of the received number from the ECU.

“+:” Addition to the received number from the ECU.

“Out Format” See the table below, there are numerous additional formulas you can apply outside of “X:, /:, and +:”.

“Ave”  Averages the value shown. A value of 0 is no averaging. Useful for values which are not constant. For example, the fuel level value can change as fuel sloshes around in the fuel tank. Increasing the “AVE” will eliminate this variation.

“Left/Right” will set how many digits to be placed before and after the decimal point.

Ultragauge is hexadecimal

 

It is worth noting here that UltraGauge uses the hexadecimal system rather than the decimal system that you will be used to.

Without going into it too much, rather than a 0-9 (base 10) system hexadecimal is a 0-F (base 16) system, with the letters A, B, C, D, E, and F representing the numbers 10, 11, 12, 13, 14, and 15. This gives it 16 digits.

If the math line “X:, /:, and +:” were to read;

X:0012     /:0002     +:0125

That would not be “multiply by 12, divided by 2, add 125” but rather it ismultiply by 18, divide by 2, add 293″.

Use this calculator to make things easy for yourself.

Essentially with the number 125 as the example;

  • “1” is not 1×10² (100) but it is 1×16² (256).
  • “2” is not 2×10¹ (20) but it is 2×16¹ (32).
  • “5” is not 5×10⁰ (5) but it is 5×16⁰ (still 5 in this case).

Again, you don’t need to know this if you’re just copying codes, but it may help people for troubleshooting purposes or those who are more creative and want to come up with different formulas.

UltraGauge Mazda BT-50 automatic transmission temperature – Out of the box

 

UltraGauge will send you the gauge with 4 pre-programmed screens for automatic transmission temperature, with the warning that only 1 of the 4 will work for your vehicle.

This is the code that worked for me, straight out of the box. The only issue was that it was in °Fahrenheit.

 

This was a good starting point, but I couldn’t figure out how to get it to read °C instead. The code and maths that they had used did not have “Output Format: 10” to convert °C to °F, so it wasn’t as simple as removing that output format to be left with the desired reading.

*In hindsight the evidence was in the maths formula.

Stumbling upon the missing link

 

When scrolling through the online documents I saw this little note at the bottom of the instructions for Ford vehicles with CAN systems.

It immediately stood out to me as being exactly what I was missing;

  • It had “Output Format: 10” which could be reversed simply.
  • It was Ford and CAN system, the Mazda BT-50 was also CAN and is the same as a Ford Ranger for all intents and purposes.
  • The “TData” was identical as well which made me realise the ECU was a Ford component as well and not Mazda’s own in a Ford body.

Thanks to that little line I was able to put the below code into the UltraGauge and get the exact same readings as the shipped version, despite using different math to get there.

 

Therefore, simply removing “Output Format: 10” and making it “Output Format: 00” would successfully show °C

Correct code for UltraGauge Mazda BT-50 automatic transmission temperature

 

Here is the correct reading for UltraGauge Mazda BT-50 automatic transmission temperature as well as for the Ford Ranger.

This is for a 2015 Mazda BT-50, so your results may vary depending on how new or old the car is that you have.

Mazda Bt-50 / Ford Ranger UltraGauge code for transmission temperature °C

 

For those who can’t read the above image, the code is as follows.

Abbr: xxx    Abbr2: xxx
TData: 07E1221EC0000
TCtrl: 93    RCtrl: 31
RPos: 2010    Mtch: 621E1C
X: 0001   /: 0010   +: 0000
Out Format: 00    Ave: 00
Left/Right: 31

The abbreviations on line 1 are for you to name the code whatever you desire, they’re not actually “xxx”.

 

Reverse engineering the math

 

A smarter man may have been able to figure this out without taking so long by looking at the math properly, recognising it as hexadecimal code.

The conversion formula for Celsius to Fahrenheit is;

(x°C × 9/5) + 32 = x°F

In the shipped version of degrees Fahrenheit the math is;

X: 0009   /: 0050   +: 0020

Perhaps you can see the similarities already?

 

In the Celcius version I stumbled upon, the math is;

X: 0001   /: 0010   +: 0000

So in the correct version above, the number we’ll call “x” that is received from the ECU is being multiplied by 1, then divided by 16 (not 10 as it’s hexadecimal and 0010 = 16).

The ECU is sending a number equivalent to 16x the temperature in °C. Using the formula for the °F we can see it closely matches the conversion formula for °C to °F.

“x” multiplied by 9, divided by 80 (0050 = 5×16¹), add 32.

80 is 16×5, so the number being received from the ECU is being divided by a factor 16x larger than what is called for in the conversion formula to compensate.

Conclusion

 

UltraGauge could do a better job of giving out and keeping an up to date register of codes for automatic transmission temperatures, or anything for that matter.

For UltraGauge Ford Ranger automatic transmission temperatures I can only assume this will work dependant on model years.

Hopefully that all made sense, you don’t really need to know anything except for the correct code, but maybe it helps to see how it came about.

Pin It on Pinterest