For quite a while now, Android phone users have had the option to use Torque Pro to monitor live engine data, including transmission fluid temperature (on '99 and new 4Runners). I started a thread
here, but didn't find anyone who had done this before with the iPhone. After doing some internet reading, I came up with the following steps:
Step 1: The app I used is called Engine Link. I'm in no way affiliated with the developers of that app, but it's the only one that I'm aware of that monitors live engine data, and also allows for adding custom PIDs (which you will need to do to monitor transmission temp). Go to the Apple App Store and install the Engine Link App. It's about $5.
Step 2: Next you'll need a device that plugs into your vehicle's OBD2 port, and transmits the data wirelessly. You have two routes you can go with this. Either you can get a Bluetooth adapter, or a WiFi adapter.
WiFi Adapter: The WiFi adapter is the easier of the two. It doesn't require jailbreaking of your iPhone. The downside is, if you use the WiFi adapter, you will lose data connection to your phone. When connected to the WiFi adapter, your phone will be looking for an internet connection, which obviously that OBD2 adapter won't be providing. You can pick up these adapters off Amazon, just make sure that it has ELM327.
Bluetooth Adapter: This is the route I took. The Bluetooth method is a little more complex, however the advantage is that by using Bluetooth instead of WiFi, your phone will still have access to data, whether it's from 3G, 4G, EDGE, etc. For whatever reason, Apple products don't always play nice with Bluetooth, so for this reason, you will need a jailbroken device that has access to the Cydia store (store for jailbroken phones). Jailbreaking your iPhone is outside the scope of this write-up, so if you need instructions on how to jailbreak, I suggest using Google.
In Cydia, you will need to download and install an app called RoqyBT4. This is what will allow your iPhone to "talk" to the Bluetooth-OBD2 adapter. Once installed on your phone, open up RoqyBT4 and follow the instructions for purchasing a license. I paid $7 for mine through Paypal. Once that is complete, go back to Cydia, and download the add-on app called RoqyOBD4. There is no additional cost for downloading the RoqyOBD4 expansion.
Once you've completed the above, you will need a Bluetooth OBD2 adapter. I used one made by BAFX, and bought it off Amazon for $24.
Step 3: Next, we need to connect your iPhone to the OBD2 adapter. These instructions will be geared towards using the Bluetooth adapter, since that is what I used. Wifi adapter should be pretty easy to figure out.
Now that you have the Engine Link app, and your OBD2 adapter, plug in the adapter to your OBD2 port in your vehicle. Make sure your vehicle is running. If using the Bluetooth adapter, open up RoqyBT4, and turn Bluetooth on. For me, the OBD2 adapter was listed as "OBDII" on my list of devices to connect to. Connect to your OBD2 adapter. When the screen pops up telling you that you're connected, take note of the IP address and the port that it connects to. For me, the IP Address is 127.0.0.1 and the port is 35000.
Now open up your Engine Link app. You can swipe left and right to get different screens, however the first screen you see should be the one that connects you to your OBD2 adapter. Enter in the Adapter IP Address and Port Number as noted above, and then hit Connect. It should connect in a few seconds. Swipe the screen to the right and you should see various live engine data.
Step 4: This step will document how to view the transmission temperature fluid (TFT for short) on '99+ 4Runners. You'll notice that Engine Link doesn't immediately have a PID for the trans temp. If you keep swiping to the right, you should find a screen that says "Long press to create or move the custom PID". Hold down anywhere on the screen, and a window will pop up that says "Add New Display Cell". Usually I pick the one that says "Big Digital", but pick whichever one you like. Here you'll see a bunch of PIDs, such as Calculated Engine Load Value, and Engine Coolant Temperature. However, you'll notice that Transmission Fluid Temperature isn't listed here either. You are going to have to add it in.
To add in TFT, click on "Edit" and then plus "+" on the left side of the screen. Enter in the following information:
ECU address or Header: 0
ModeandPID: 01B4
Formula: A*(9/5)-38
Min Value: 0
Max Value: 300
Description: (I used TFT, but you can put in whatever you like)
Unit: F (if you want, you can put in the degree sign so it's °F).
Your new PID that you just created is now at the bottom of the list of PIDs.
I chose to use my iPhone instead of a Scangauge2 because I didn't want to mount a permanent gauge anywhere in the cabin. This method is also much cheaper than a SGII.
Please post up any questions and I'll be happy to help out.
EDIT 12/24/14: How to Monitor Air/Fuel Ratios (California Emissions Vehicles Only)
Ok, so yesterday I was fooling around with how to read AFR on Engine Link. I've got a '99 4Runner that has California style emissions, which means that there is a an "Air Fuel Ratio Sensor" instead of the normal narrowband oxygen sensor. To see if you have an Air Fuel Ratio Sensor equipped on your rig, take a look at your exhaust pipes, and if you have 2 catalytic converters, you've got the wideband AFR sensor. If you only have 1 catalytic converter, then you've got the narrowband sensor, meaning this part of the write up will not work for you (sorry).
Some 4Runners have the ability to monitor the air fuel ratio directly from the ECU. All that's needed is a custom PID and formula. This only works on some rigs, while it doesn't work on others. Unfortunately this did not work on my '99. I suspect it only works on 2001 and newer, but I'm not positive. At any rate, try the following custom PID and see if it works for you:
ECU address or Header: 0
ModeandPID: 0124
Formula: A*(1465/80)
Min Value: 10
Max Value: 20
Description: Air Fuel (or whatever you want to call it)
Unit: Ratio
If the above works for you, then you're finished. However, if you're like me and the above does not work for you, there's another, more roundabout way to view your AFRs.
Using this method, we're going to create two new custom PIDs. One will be for lean AFRs, the other will be for rich AFRs. Create the following:
ECU address or Header: 0
ModeandPID: 0114
Formula: A*(15/200)+4.8
Min Value: 10 (or however low you want it to go)
Max Value: 14.7 (this MUST be 14.7)
Description: AFR (Rich)
Unit: Ratio
ECU address or Header: 0
ModeandPID: 0114
Formula: A*(30/200)-5.1
Min Value: 14.7 (this MUST be 14.7)
Max Value: 20 (or however high you want it to go)
Description: AFR (Lean)
Unit: Ratio
Now that you've created your two custom PIDs (one for "rich" and one for "lean") go back to your gauge screen. Hold down on the gauge screen until the menu pops up, and select "Big Bar" (selecting "Small Bar" will work too). Place the AFR Rich gauge on the left side of the screen. Do the same thing again, and place the AFR Lean on the right side of the screen, as pictured below:
Now you can monitor what your actual AFRs are. When you're rich, only pay attention to the value on the "Rich" gauge. And when you're lean, only pay attention to the value on the "Lean" gauge.
Here I'm running right at 14.7
Here I'm running at 13.12 (ignore the 11.55 value)
Here I'm running at 15.6 (ignore the 15.15 value)
Hope that helps! Let me know if you have any questions.