TMC is an independent, primarily volunteer organization that relies on ad revenue to cover its operating costs. Please consider whitelisting TMC on your ad blocker and becoming a Supporting Member. For more info: Support TMC

Vendor Tesla Performance Tools - Track focused CANbus display for iOS

Discussion in 'Model S: Driving Dynamics' started by _tpt_, Jan 10, 2020.

  1. _tpt_

    _tpt_ Vendor

    Joined:
    Dec 23, 2019
    Messages:
    17
    Location:
    App Store
    #1 _tpt_, Jan 10, 2020
    Last edited: Oct 26, 2020
    Hello everyone, very happy to announce TPT is now available on the App Store. This has been a long couple of months getting this functional and then approved. But I know it's going to be well worth the effort. I'm just getting started and have so much more planned for the app in the next few months. So without further delay, I'll start with what is available as of today.

    TPT App Store Link
    TPT Website Link

    SiteScreens_3across_v1_1_1.png

    SiteScreens_3across_v1_1_2.png



    Features to date:
    • Logging and log playback in app - included
    • Stage 1 - included - Replica of the P100D Ludicrous Plus widget. Except this will work on all Tesla's and includes a graph.
    • Stage 2 - $1.99 IAP - Breaks out the L+ widget and adds max discharge and regen, cell voltage, temp and balance.
    • Stage 3 - $0.99 IAP - 1/4 mile readout with ET's and speed times. Graphs coming....
    • Stage 4 - $1.99 IAP - Very detailed charge monitoring display. Graphs coming....
    What you need:
    • iPhone running at least iOS 12.4 - means it'll work all the way down to an iPhone 6.
    • OBDLink MX+ - Important - this is currently the only supported OBD module.
    • OBD to TDC adapter cable - I recommend the prebuilt cables from Maxwell Auto, but feel free to build your own as long as it's configured for CAN3.
    • Sturdy iPhone mount - Optional - The app uses the device accelerometer and not data from the vehicle for acceleration values.
    Missing features:
    • Support for the Model 3 - planned for next major release
    • Support for iPad - also planned for next major release
    • Translation - Removed translations for the time being. If any members are interested in helping, I can send you promo codes that will lifetime unlock all features.
    Other things to know:
    • First and foremost, this would not have been possible without this community - see Thanks below
    • All Stages after Stage 1 will be available as In App Purchases. This was done for a couple of reasons, including a lower initial price point.
    • This is a personal project, I am a Tesla owner (forum member nem3), and this app will likely lose money at it's current price. That's not the point of it. I had an idea, and I'd like to share it with you all.
    • Once I finalize my decoding lib it will be MIT open sourced so other developers can make use of it. Haven't decided full on an Objc or C implementation yet, but C would be easier for the community in general.
    Special Thanks:
    • Jason Hughes for his HUGELY helpful PDF and forum contributions
    • Liam Obrien for his Instructables article that peaked my interest and forum contributions
    • Jack Rickard for the individual cell details
    • All of the members of Let the hacking begin thread - great conversation and wish I had been around back then
    • TPT Beta testers - Your contributions have been invaluable, please keep up the great work.
    One last thing:
    • Forgot to mention, I copied this part from my iPad charger app - The app will automatically adjust the screen "theme" from dark to light based on available ambient light. This was a HUGE issue with my iPad app, and I'm hoping it's solved as well with this app.
    Update 1.04: - Published 1/23/20
    • Changed backgrounding behavior - while this is still intended to be used in a track atmosphere where you're not interacting with the phone, app switching should be a much better experience now.
    • Modified auto-theming behavior - hopefully more predictable now.
    • Added manual theme selection to settings
    • Fixed speed display - will now show appropriate speed based off in car selection.
    • Add localization for the following languages - Chinese, German, French, Italian, Norwegian, Swedish and Dutch
    Update 1.05: - Published 1/27/20
    • Some additional tweaks to disconnecting issues - Note, I plan to make another change to the in app "Disconnect" function. But this should for now alleviate most issues.
    • Added a couple additional localizations.
    Update 1.10: - Published 3/29/20
    • Logging has been moved out and now available with purchase of the app.
    • Stage 3 - $0.99 IAP - a 1/4 mile readout with ET's and speed times.
    • Stage 4 - $1.99 IAP - a detailed battery monitoring screen for use during charging.
    • Added vehicle firmware selection - this will fix some display issues caused by 2020.12.5.
    • Graphing - graph display has been added to Stage 1 and 2.
    • Fixed issue where switching Stages would not always update PID's.
    • Fixed issue(s) with Auto Theming.
    • Updated log naming.
    Update 1.12: - Published 8/10/20
    • Bugfixes.
    Update 1.13: - Published 9/23/20
    • Update to handle 2020.36 vehicle firmware.
    • App min/max values are now remembered app wide.
    • Bugfixes.
    Update 1.20: - Published 10/25/20
    • Add Stage 5 video recording with overlay.
    • Improved app efficiency throughout.
    • Bugfixes.
     
    • Informative x 1
    • Like x 1
  2. Exiom

    Exiom Member

    Joined:
    Nov 29, 2017
    Messages:
    206
    Location:
    Hong Kong
    Can this be made available for the Hong Kong app store?
     
  3. _tpt_

    _tpt_ Vendor

    Joined:
    Dec 23, 2019
    Messages:
    17
    Location:
    App Store
    Yes, My first order of business before the next feature set is to get translations in place. Unless you mean you’d like to use the English version. Can do that pretty quickly.
     
  4. Exiom

    Exiom Member

    Joined:
    Nov 29, 2017
    Messages:
    206
    Location:
    Hong Kong
    I just want the English version...

    I already have the OBDLink MX+ and I use ScanMyTesla... however they dont have an iOS version and I use iOS primarily
     
  5. mswlogo

    mswlogo Well-Known Member

    Joined:
    Aug 27, 2018
    Messages:
    5,615
    Location:
    MA, NH
    Looks like a good start.
     
  6. _tpt_

    _tpt_ Vendor

    Joined:
    Dec 23, 2019
    Messages:
    17
    Location:
    App Store
    #6 _tpt_, Jan 13, 2020
    Last edited: Jan 13, 2020
    Done and done Exiom, added to Hong Kong and 38 other English speaking countries. Small note, part of my localization effort will also be to allow showing speed in km/h rather than only mph. Might take a few hours to show, but looking forward to your feedback.

    Thanks msw, my goal isn't to steal away any of amund's customers. He's done a great job getting the canbus info into everyone's hands. I'm a big UI/UX guy in iOS dev, hopefully that shows. I have a LOT of plans for where I'm taking this, but it will include the full list of PID's at some point. Very excited to get past this localization stuff.
     
  7. mswlogo

    mswlogo Well-Known Member

    Joined:
    Aug 27, 2018
    Messages:
    5,615
    Location:
    MA, NH
    You should consider using TestFlight. It’s very easy. Also you don’t have to go through the review process for each publish.
     
  8. ASMills85

    ASMills85 Member

    Joined:
    Sep 8, 2018
    Messages:
    238
    Location:
    NE
    Any plan to add support for other OBD modules?

    I’m using LELink now and I’m not sure I really want to buy another one.

    Great app either way!
     
  9. _tpt_

    _tpt_ Vendor

    Joined:
    Dec 23, 2019
    Messages:
    17
    Location:
    App Store
    I use TestFlight for all my apps, but that's just the precursor to going live. TestFlight is intended only for beta testing and Apple is pretty strict on that part as they should be. Also, it's much easier to put it up in the store than have to add multiple people individually.

    Ordered for testing. I also have a BlueDriver OBD module I'd like to try and get working. Reason for going straight to the MX+ - It's standard bluetooth, and the only MFI certified (required for standard bluetooth on iOS) module on the market. This should mean a more consistent, higher bandwidth connection. Whether that's true in practice remains to be seen, but I'm willing to try. Just not high on the list of priorities. I know the MX+ works, and I have mostly addressed it's reliability issues.

    As a side note, the CAN3 bus is only a 500kbps baud rate. Bluetooth LE should have more than enough bandwidth to handle that. The issue comes down to the connection protocol difference. With my iPad charger app, I hold the connection open the entire time the app is connected. But that's only possible because I control both ends, my code is sending and receiving. I'm not sure how the OBD Bluetooth LE modules use the connection. If they close them after sending each packet like they're supposed to, it might not work for what we need.
     
  10. Exiom

    Exiom Member

    Joined:
    Nov 29, 2017
    Messages:
    206
    Location:
    Hong Kong
    #10 Exiom, Jan 13, 2020
    Last edited: Jan 13, 2020
    Oh does it only show mph? This should be easy to implement tho...

    I hope you will eventually make it possible to setup your own dash and show more detailed/raw data coming from the car...

    but anyway... I plan to buy all your IAPs as a show of support even tho I don't plan to log... I dont think you are stealing anyone's customers since there currently are no iOS apps of this kind... but I do think you should take some cues from others functionality wise however...

    AFAIK... MX+ is the only one that works on iOS... alternatively I think others opt to go down the route of WiFi Dongles for iOS


    Edit: It's on the Hong Kong App Store now... downloaded and bought all the IAPs =D
     
  11. mswlogo

    mswlogo Well-Known Member

    Joined:
    Aug 27, 2018
    Messages:
    5,615
    Location:
    MA, NH
    I have a hundred TestFlight users. Every release goes through TestFlight first. Might do 3 months of TestFlight releases then release to App Store. Much quicker. Might even do multiple releases in the same day (if a problem comes up). I always have a beta going.

    Half of Tesla software is “Beta”.

    I consider TestFlight a regular part of a pipeline. TestFlight is “nightly build”. App Store is Stable Release.
     
  12. GaryREM

    GaryREM Member

    Joined:
    Jul 16, 2013
    Messages:
    617
    Location:
    Fairfax, VA
    Just want to be sure I understand things.

    I assume the Tesla ODBC connector is not useful (doesn't have the right connections).
    I assume the OBDLink MX+ is connected to the adapter cable ODBC connector which gets all the needed signals from the diagnostic port.

    Just trying to clarify...
     
  13. _tpt_

    _tpt_ Vendor

    Joined:
    Dec 23, 2019
    Messages:
    17
    Location:
    App Store
    Correct, for now. This will be fixed in the next patch release. I expect to have it done by EOW. Thank you very much for you patronage. Funny thing about the WiFi dongle, I went to buy the OBDLink one, and it looks like they're no longer selling it :(


    Exactly. The one thing I wish I had with this app was more international testers.

    Yes, all correct, the OBDC connector is there as required by law but provides zero information. The true connector is buried behind the center console. You'll need a converter cable to go from their connector to a standard OBD connector.
     
  14. ASMills85

    ASMills85 Member

    Joined:
    Sep 8, 2018
    Messages:
    238
    Location:
    NE
    Completely understandable. If something changes please update us, I’d be happy to purchase right away.
     
    • Like x 1
  15. Exiom

    Exiom Member

    Joined:
    Nov 29, 2017
    Messages:
    206
    Location:
    Hong Kong
    After a couple of drives, I have the following feedback and suggestions...

    Issues:
    • the problem of speed display seems to be purely cosmetic as it was displaying the correct speed but just labeled "mph" it seems the car has already converted it to kph (just letting you know in case you didn't know and tried to convert it)

    • auto light/dark mode... you really should just make a toggle instead because I'm pretty sure it's not working as intended... every time I drive past a tree it would flash light/dark/light/dark and it was overcast today and I am guessing the light is very close to the auto toggle point and it just kept toggling non-stop... it's extremely annoying... (my suggestion would be to add a toggle and if you still want auto... update the logic so that it you have different values for going dark and light... so there is an overlap... as well as perhaps the light condition needs to maintain for a few seconds before toggling)

    • leaving the app instantly severs the bluetooth stream or the app suspends instantly... there is no way to get it working again unless I cycle the phone's bluetooth on/off or disconnect the dongle and reconnect... while you shouldn't use your phone while driving... this still isn't ideal... so it'd be great if this can be fixed

    Feature Suggestions:
    • I know you may have a different vision for this app, as it seems performance oriented. However perhaps it's not really that much more trouble to having a page where you can see ALL data coming from the cambus akin to ScanMyTesla? Since there are currently no other iOS alternative, I am sure many would hope to see similar features as available on the Android app.

    • I would love to see customizable page so I can add/remove widgets that I would like to see and potentially removing that G-Sensor for when I am not interested in seeing it.
     
  16. random155

    random155 Member

    Joined:
    Mar 18, 2019
    Messages:
    708
    Location:
    NJ
    I downloaded the app and before I have my cable I was checking out the settings etc... Seems like a nice user experience. I was kind of surprised to see that you have to pay more for the extra options. It may be just me, but I always thought of this kind of purchase as a "bait and switch" tactic. Maybe just charge the full amount at the get go for all the options? Just a thought. Looks really nice though, and I'll be using once I get my cable from maxwelltech.
     
    • Like x 1
  17. _tpt_

    _tpt_ Vendor

    Joined:
    Dec 23, 2019
    Messages:
    17
    Location:
    App Store
    I do see your point, and trust me, I hate in app purchases as much as the next guy. The process of getting them added, approved and mostly non-hackable is a huge PITA. But the pros/cons lean more to having them than not in this instance. I already had Stages 1-9 planned out before I started development. And the more I thought about it the more the DLC type option made sense. From an end user perspective, you only have to pay for what you want. Rather than charging $10-$20 for the whole app and only using 1 feature, you get that one feature for much less. If you want certain features but not others, you only pay for those.

    Some of these Stages are going to require significant design and development time. In my mind I'm not selling the decoded PID's, other people put in that work, I'm selling my feature set. As the feature set grows so should the product cost. This is not to say that I can't or won't make that change if the community as a whole requests it. I just don't have the numbers yet to make an informed decision either way. If I see that most people that purchase the app end up purchasing all/most of the stages, I would make that change. Easier for me, better experience for you.

    tldr: Thank you for the feedback, truly, and if more feel this way, please comment.
     
  18. random155

    random155 Member

    Joined:
    Mar 18, 2019
    Messages:
    708
    Location:
    NJ
    So I used this app a bit today. I found a little annoyance. If the screen my iPhone turns off I have to reset the MX+ to get it to reconnect. I can also disconnect and reconnect to the MX+ in the Bluetooth screen and then reconnect in the app. I have an iPhone XS on latest 13 iOS.
     
  19. _tpt_

    _tpt_ Vendor

    Joined:
    Dec 23, 2019
    Messages:
    17
    Location:
    App Store
    Hey, not sure if you were the one who submitted similar feedback via the site. This is a multi-faceted problem.

    First, Auto-Lock - Easy fix, and already in the code base. This will let the app prevent the screen from sleeping while in the foreground.

    Second is how strict iOS is with performing work in the background. You're not allowed to continuously stream data in the background. You can occasionally grab junks and perform work on that data, but not a stream. So in this use case, in order to use the app at all, it has to be in the foreground. For the MVP I made the choice to close the sockets whenever the app is put into the background. Trying to keep the connection alive poses a couple other issues. But I fully plan to circle back around to this.

    Third and least possible to address is iOS's odd behavior with disconnected wireless devices. Part of this particular problem is the OBDLink itself, part of it is the system. I have a lot of background with Bluetooth, Bluetooth LE and WiFi on iOS. And have seen this many times in all protocols. Funny part is BLE is usually the easiest to deal with.

    So here's the scenario I think you saw. You were connected and streaming from the device. Backgrounded the app or slept the phone. Reopened the app and it's not streaming anymore and the connection list is blank. You go to Settings, Bluetooth and Settings says you're still connected. If this is what you're referring to, it's an issue with either the way I am disconnecting from the device using available system calls or more likely yet another oddity with iOS. Problem is when I make the system call to close the socket connection, this actually puts the connected device into a limbo state were it's not connected but the system thinks it is. Only way to solve this is cycle power on the OBD or disconnect/reconnect from iOS Settings. I'm hoping addressing issue 2 will help alleviate this from being as prevalent. But you'll still see it in cases where the OBD module sleeps.
     
  20. webbah

    webbah Member

    Joined:
    May 22, 2012
    Messages:
    836
    Location:
    Lucerne, Switzerland
    Looking forward to a Model 3 release to try this out! Would be awesome if you’d support the Carista OBD adapter. Already have this one for TM-Spy on iOS. And I’d be happy to test as an international user!
     
    • Like x 1

Share This Page

  • About Us

    Formed in 2006, Tesla Motors Club (TMC) was the first independent online Tesla community. Today it remains the largest and most dynamic community of Tesla enthusiasts. Learn more.
  • Do you value your experience at TMC? Consider becoming a Supporting Member of Tesla Motors Club. As a thank you for your contribution, you'll get nearly no ads in the Community and Groups sections. Additional perks are available depending on the level of contribution. Please visit the Account Upgrades page for more details.


    SUPPORT TMC