Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Using TM-Spy to see Model S data.

This site may earn commission on affiliate links.
The Alpha Test version 0.0.5 of TM-Spy is out on Google Play Store now.

It includes a test of a data gathering and graphing feature.
It gathers Pack Voltage and Power (A x V) 100 times a second
for 12 seconds, and then graphs the results. Might be used
to display a Launch, or ... ?

Eventually, I expect (not promise), the user sbould be able to
set a sample rate and/or data gathering period, like 24 hours ...
to monitor the DC to DC volts and amps while charging the 12v battery.
 
The Alpha Test version 0.0.5 of TM-Spy is out on Google Play Store now.

It includes a test of a data gathering and graphing feature.
It gathers Pack Voltage and Power (A x V) 100 times a second
for 12 seconds, and then graphs the results. Might be used
to display a Launch, or ... ?

Eventually, I expect (not promise), the user sbould be able to
set a sample rate and/or data gathering period, like 24 hours ...
to monitor the DC to DC volts and amps while charging the 12v battery.

Very interested in trying, but it doesn't seem to be available in Japanese Play Store. Have you set it up to distribute globally? Also what kind of hardware do I need to use this software?
Thanks, Gary, for allowing us to access battery data.
 
You need three pieces of hardware (I will try to add some pictures later today):

1. An adapter cable to plug into your car's Tesla Diagnostics Connector,
properly wired to a female OBD connector to mate with #2, just 4 wires.

2. An ELM-type OBD dongle, bluetooth (or WiFi) ... many "copies"
of the original are available, and some work much better than others,
some ... do not work well.

3. An Android smartphone or tablet to connect via BlueTooth (or WiFi) to #2.
Later, we expect an iOS version of TM-Spy to become available.

More info and pictures soon.
 
Last edited:
Building a TM-Spy Adapter

Caution: If you mess this up, you might hurt your car.
Please be very careful, the info below might contain
errors, and I take no responsibility for anything you do.

1. OBD Part: One way to get an already wired Female OBD connector ...
buy an OBD splitter cable, 1 Male to 2 Female, less than $10 on Amazon.

You could buy an OBD extender cable, but it has just one female end
to use, not two, but might be a better choice if you want a long adapter cable.

Or, just order a female OBD connector and matching pins from Mouser,
and use a much more flexible 4-wire cable, suitable for your application.

0226161250_resized.jpg


2. Identify Wires: Cut off one Female "leg", carefully expose the wires, and determine
which wire go to the OBD pins 4, 6, 14, and 16, possibly using a volt/ohm meter.

Or, if wiring an OBD connector, use 4 wires of suitable length, crimp 4 of
the OBD pins onto the 4 wires, and insert the pins into locations 4, 6, 14, and 16.

0226161254_resized.jpg


3. Crimp TDC Pins: Attach the 4 crimp pins that fit the connector housing on the
adapter's TDC end. Crimp (and possibly solder) the 4 identified wires to the 4 pins.

The connector that mates with the TDC is shown below, with the matching pins.
They can be ordered from Mouser.

0226161252_resized.jpg


4. Insert Pins: Carefully insert the 4 pins into the correct holes of the TDC header.
The pins will go in two ways, but only lock in place when inserted correctly.

Caution, do not make a mistake, since the pins are "impossible" to remove.
So, double-check each pin's OBD connection before inserting the TDC pin.

The wire from ...
OBD pin --> to TDC pin:
4 --> 9 (ground)
16 --> 10 (power)
6 --> 1 (CAN3-H)
14 --> 6 (CAN3-L)

IMG_0144.JPG


5. Obtain an ELM "clone/ copy" that actually works. Some do not.
However, many look almost the same. Suggestions later.

0226161255_resized.jpg


6. Plug the adapter's TDC end into the Tesla's TDC connector
and test for Power (and Ground) on the OBD end's pin 16 (and 4).

0220160852a_resized.jpg


7. Plug the ELM into the adapter's OBD connector. If it is like
the ELM shown below, the power led should illuminate, as shown below.

0220160852_resized.jpg


8. Pair the ELM to your Android device, then test the app.

When it all works properly, you might wish to place the adapter
and ELM into the recess space above the cubby, and close the cubby.

0220160853_resized.jpg


9. Test everything again, and ... enjoy using/testing TM-Spy.

---------
If you are not qualified to do this work, please get proper help.
If you have questions, please ask first, before making an error.

Note: Some Model S's, manufactured after about Sept 2015, have
a different connector for the Tesla Diagnostic Connector (TDC).
We have yet to find a source for a mate for it.

Cheers, Gary
 
Last edited:
Congratulations, well done.

1. The VIN only comes around ... infrequently, so just more driving/waiting should get that.

2. The Battery Odometer only comes around every 5 minutes.

3. The "Discharge and Charge" values only show in the portrait orientation
of the cell voltage page, so they are not visible in the landscape orientation.
 
faughtz: Perhaps your screen resolution is slightly below expected.
I reported the problem, cause found, will be fixed in the 0.0.6 version.

hiroshiy: The TM-Spy app is available in Japan, but only to Testers.
Use the link in post #20 to obtain TM-Spy Tester status, then
you should be able to see the app on the Japanese Play Store.
 
Last edited:
It is frustrating that one cannot edit older posts to correct wrong information.

1. The VIN occurs just once every 600 seconds (10 minutes), but the ELM dongle
is not able to be looking for it all the time. But eventually you should get it ...
and after that, it does not change that often. :)

2. The Battery Odometer comes every 10 seconds, but it might also be missed
many times, but eventually updates. I have seen it about 5 minutes behind.
On my car, it should match the car's odometer.
 
faughtz: Perhaps your screen resolution is slightly below expected.
I reported the problem, cause found, will be fixed in the 0.0.6 version.

hiroshiy: The TM-Spy app is available in Japan, but only to Testers.
Use the link in post #20 to obtain TM-Spy Tester status, then
you should be able to see the app on the Japanese Play Store.

Thanks, Gary, downloaded the app. Will source the parts.
 
My source for parts, but there are other sources.

1. OBD splitter, 1 Male to 3 Female, about $10 (The wires might be thin.)
Amazon.com: 1 to 3 OBD2 16 pin Splitter Extension Cable Male to Female Y J1962 Cable 60CM: Automotive

2. Mate to 2014 TDC (about $2.50 each)
Mouser Electronics - Be back soon...

3. pins for #2 (about $0.13 each, you need 4 plus spares.)
Mouser Electronics - Be back soon...

4. OBD female housing (about $1.63 each)
(I don't have this yet, and there are probably some less bulky.)
Mouser Electronics - Be back soon...

5. pins for #4 (this is a "strip" of 100, you only need 4 plus spares.)
Mouser Electronics - Be back soon...

With these links at least you can see some choices.
 
Last edited:
The cause was nothing to do with resolution, but an improper test for portrait mode.

I used the Power and Battery Volts graphing screen, and the power values
graphed from this loaner P85+ seem low ... by perhaps a factor of 4 or 5 ... it
looks like the amps values are low, seeing about 90 when it should be 4x or 5x that.

So, we have lots to work on, and getting the correct interpretation
of the CAN3 bus data is just one step of many.

We are working on allowing the user to choose 2 or more from
a list of values to collect and graph as one drives along.
 
See post #20 to become a TM-Spy Tester.

The standard ELM just connects to one CAN bus, I believe, on OBD pins 6 and 14.
I am not sure what else it is wired to, but I think there are 3 or 4 other connected pins.

A modified ELM could have a DPDT to choose between two CAN buses,
or even a triple pole On-Off-On to turn off its power as well.

We are looking at the CAN3 (powertrain) bus, and we think that the
tire pressures are on a different CAN bus ... but maybe just not found yet on CAN3.
 
See post #20 to become a TM-Spy Tester.

The standard ELM just connects to one CAN bus, I believe, on OBD pins 6 and 14.
I am not sure what else it is wired to, but I think there are 3 or 4 other connected pins.

A modified ELM could have a DPDT to choose between two CAN buses,
or even a triple pole On-Off-On to turn off its power as well.

We are looking at the CAN3 (powertrain) bus, and we think that the
tire pressures are on a different CAN bus ... but maybe just not found yet on CAN3.

Man, so do you think having THREE Elm327 modules connected would yield all the data? We'd need to have simultaneous BT comm for that. I've signed up as a Tester and see the $4.99 app in the app store. I'm ordering the parts for the connector, now.
 
For simultaneous logging of all the messages from all 3 CAN buses (powertrain, chassis, body),
I am wiring one TDC to OBD adapter with 4 more wires, two more for each of the additional buses.

I will wire them to the OBD pins that the LEAF uses for EV-CAN and AV-CAN so that my 3-channel
logging equipment (3 AVR-CAN boards, some connectors, a high speed 4-port RS232 to USB adapter,
and my CAN-Do program on a laptop to actually gather the data) that I used for logging the LEAF's
CAN data should work with the Tesla. All of the Leaf's CAN buses are 500k speed, but one of the
Tesla's 3 main CAN buses is only 125k speed ... but we will soon test the new firmware for the
AVR-CAN board that includes the 500k, 125k, and 33.33k speeds in its jumper-selected speeds.

- - - Updated - - -

Man, so do you think having THREE Elm327 modules connected would yield all the data? We'd need to have simultaneous BT comm for that. I've signed up as a Tester and see the $4.99 app in the app store. I'm ordering the parts for the connector, now.

I think that by using an OBD splitter and an "enhanced" TDC adapter, we could try two ELMs
(one standard and one modified), each paired with its own Android device.

I will see if the TM-Spy can be enhanced to detect the attached CAN bus and show
a tire pressure screen if the needed data is detected.