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

Let the hacking begin... (Model S parts on the bench)

This site may earn commission on affiliate links.
I'd like to see some high speed logs, too... but I won't do a run like that myself. Hopefully someone else will log it eventually. :)

In other news, working on temperatures and other thermal stuff. So far my little parser can read all of these variables now:

Code:
BMS_BMBtemp01_UI
BMS_BMBtemp02_UI
BMS_BMBtemp03_UI
*snip*
BMS_BMBtemp30_UI
BMS_BMBtemp31_UI
BMS_BMBtemp32_UI
BMS_brick01_V_UI
BMS_brick02_V_UI
BMS_brick03_V_UI
*snip*
BMS_brick94_V_UI
BMS_brick95_V_UI
BMS_brick96_V_UI
BMS_energyBuffer
BMS_energyToChargeComplete
BMS_expectedEnergyRemaining
BMS_idealEnergyRemaining
BMS_kwhChargeTotal
BMS_kwhDischargeTotal
BMS_maxDischargePower
BMS_maxRegenPower
BMS_nominalEnergyRemaining
BMS_nominalFullPackEnergy
BMS_odometer
BMS_packCurrent
BMS_packPower
BMS_packVoltage
BMS_socMin
BMS_socUI
DCDC_inletTemperature
DCDC_inputPower
DCDC_outputCurrent
DCDC_outputPower
DCDC_outputVoltage
DIS_aps12V
DIS_dcCapT
DIS_dissipation
DIS_drivePowerMax
DIS_heatsinkT
DIS_inletT
DIS_interterTpct
DIS_inverterT
DIS_mechPower
DIS_pcbT
DIS_ph1Temp
DIS_ph2Temp
DIS_ph3Temp
DIS_powerPcbT
DIS_statorCurrent
DIS_statorT
DIS_statorTpct
DIS_torqueEstimate
DIS_torqueEstimate_ftlb
DI_analogSpeed
DI_aps12V
DI_brakePedal
DI_brakePedalState
DI_cruiseSet
DI_cruiseState
DI_cruiseState_Human
DI_dcCapT
DI_digitalSpeed
DI_dissipation
DI_drivePowerMax
DI_driveReady
DI_epbInterfaceReady
DI_epbParkRequest
DI_gear
DI_gearHuman
DI_gearRequest
DI_gearRequestHuman
DI_heatsinkT
DI_inletT
DI_interterTpct
DI_inverterT
DI_mechPower
DI_motorRPM
DI_pcbT
DI_pedalPos
DI_ph1Temp
DI_ph2Temp
DI_ph3Temp
DI_proximity
DI_regenLight
DI_regenPowerMax
DI_speedUnits
DI_state
DI_state_Human
DI_statorCurrent
DI_statorT
DI_statorTpct
DI_torqueEstimate
DI_torqueEstimate_ftlb
DI_torqueInterfaceFailure
DI_vehicleHoldState
DI_vehicleHoldState_Human
DI_vehicleSpeed
GTW_vinDataBytesIndex
GTW_vinPart1
GTW_vinPart2
GTW_vinPart3
GTW_vin_full
PMS_torqueMeasured
PMS_torqueMeasured_ftlb
PM_pedalPosA
PM_pedalPosB
PM_torqueMeasured
PM_torqueMeasured_ftlb
THC_HVPowerLimit
THC_batHeaterStartupState
THC_batHeaterStartupState_Human
THC_batteryHeaterReq
THC_batteryHeaterState
THC_batteryHeaterState_Human
THC_batteryHeaterTemp
THC_limitedBatteryHeater
THC_limitedCompressor
THC_limitedPtcHeater
THC_totalPowerConsumed12V
THC_totalPowerConsumedHV

Again, DI/PM are related to the rear drive unit, DIS/PMS are related to the front. I'm using Tesla's own naming conventions as I decode these things, with some small exceptions like the _Human and _ftlb ones, GTW_vin_full, and a few others that are calculated/interpreted values.

Onward!
 
I'd really like to help out where I can, not sure where the disagreements are over pricing of modules and stuff has come from.

Am I right in thinking the SavvyCAN is pretty much turnkey, and proven to work out of the box for less than parking sensors cost me. If so this seems a bargain! ;) (especially if I can use it on my ICE too)

Do EVTV ship worldwide, if so I'm happy to pay the price of entry and join in with a non US 60 to really fill out the sample set.

Edited to de-emphasise commercial aspects.
 
Last edited:
Mod note: First, I do not moderate this portion of TMC, so you can feel free to disregard the following....but....


Please keep absolutely all references to commercial activity completely away from the non-commercial portions of TMC. Even posts as otherwise innocuous as smac's #663 don't belong here; unfortunately there have been far more egregious ones and not only are they in themselves inappropriate, but they truly degrade the valuable interaction that threads like these foster.

There is a commercial sector within TMC; the parties involved know this; there can be no exceptions.

Thank you!
 
I'd really like to help out where I can, not sure where the disagreements are over pricing of modules and stuff has come from.

Am I right in thinking the SavvyCAN is pretty much turnkey, and proven to work out of the box for less than parking sensors cost me. If so this seems a bargain! ;) (especially if I can use it on my ICE too)

Do EVTV ship worldwide, if so I'm happy to pay the price of entry and join in with a non US 60 to really fill out the sample set.

Edited to de-emphasise commercial aspects.

I will attempt to keep this as far from commercial as I can as well.

SavvyCAN itself is free. You are free to go download it and use it so there is no commercial aspect to the software. SavvyCAN is just a program you can run on Windows, OSX, and Linux. It uses hardware that is, in fact, a commercial item that is sold. You know who sells it. They can answer any commercially oriented questions you have. But, it works without any external hardware if you already have logs. I've tried to support a wide range of file formats so that you can always import captures from whatever you're using. It saves in every format it can ready so you can also export to other tools you might be using.

There is a website for SavvyCAN and it's a pretty obvious address (Home). The website really, really sucks. I mean, it's crappy. I never seem to have the time to update it. But, the binaries are updated every so often. So far I've neglected to update the site to say when the binary has been updated or what changed. I will start doing that. Next binary will have IXXAT loading/saving and support for loading and using more than one DBC file at the same time.
 
With less than zero to add to this conversation I'll simply pose a question:

Based on what I can understand here (Sorry, MBA not EE) I decipher that there is a lot of "conservative" work being done by Tesla. (battery at 0% is really at 8-10%, etc) So my question is - is there anything in this programming that could lead to increased performance? Is there a market for "tuning" Teslas, either by increasing regen for "hypermilers" or putting more torque to the motors at launch, etc?

Great thread - the best on TMC. I'll go back to contributing in the "I saw a Model X today" threads and continue to follow this one with my mind spinning. By the way - more graphs and pictures for us who prefer to think we know what you are talking about. Thanks!
 
I CAN3 logged a supercharger session a couple of days ago. It appears that the master charger in the car is doing the talking and relays relevant CAN messages to and from the supercharger. Specifically, there is one from the supercharger for if the stall is shared or not, how much power is available, etc. On the flip side, the supercharger listens for CAN messages from the car describing how much power to provide, and at what voltage, along with some other status things such as the car's VIN. Also appears the serial number of the supercharger is sent at some point to the car.
FYI: The TMS320 in the BMS is what talks to the SpC. It routes through the charger to get to the pilot pin, but the charger isn't communicating during SpC.
 
I will attempt to keep this as far from commercial as I can as well.

SavvyCAN itself is free. You are free to go download it and use it so there is no commercial aspect to the software. SavvyCAN is just a program you can run on Windows, OSX, and Linux.
[...]
There is a website for SavvyCAN and it's a pretty obvious address (Home). The website really, really sucks. I mean, it's crappy. I never seem to have the time to update it. But, the binaries are updated every so often. So far I've neglected to update the site to say when the binary has been updated or what changed. I will start doing that. Next binary will have IXXAT loading/saving and support for loading and using more than one DBC file at the same time.

SavvyCAN is open source under the MIT license - which means it can be used both in open source and commercial solutions without limitation. Hats off to you, Collin, for that. It's based on Qt which is also open source and which makes it truly platform independent. Awesome.
I'm not a web genius but I run the websites for a couple of open source projects and would be happy to help you with that if you are interested. At least one way I can contribute to this cool project.
I'm also a reasonably experienced Qt developer (in one of my hobby projects) and have access to some of the best Qt people in the world, so if you need help in that area I'm sure I can provide that as well.
 
The Tesla Diagnostics Connector pin 3 is described previously as
being a K bus ISO9141 line. Is this line used in the Model S?
If so, for what, please?
The only thing it connects to (besides the DLC/OBD2 port) is the RCCM. (Climate Control Module)

We wonder if this Pilot/CAN signal shows up on that "K-line"
pin on the TDC, or somewhere else easy to access, like perhaps
the OBD connector (but we do not think it appears on the OBD
connector).
Nope. Though it is accessible under the rear seat cushion. (Master charger connector pin 6 as well as the junction near the HVJB on pin 13.)

- - - Updated - - -

I'm also a reasonably experienced Qt developer (in one of my hobby projects) and have access to some of the best Qt people in the world, so if you need help in that area I'm sure I can provide that as well.
Tesla's GUI on the CID is all Qt. I would love to figure out if we can reconstruct their include structure to make add-on "apps" of our own design.
 
Tesla's GUI on the CID is all Qt. I would love to figure out if we can reconstruct their include structure to make add-on "apps" of our own design.
They are using a hacked version of Qt 4.8 - it seems that they intercept the input events from the touch screen directly in their Qt libraries instead of using /dev/input and the evdev kernel subsystem. So X never sees the input events and they go straight to Qt.
That said, if someone can give me a copy of their root file system I should easily be able to put together a little SDK that allows you to cross compile apps that would run on their CID :)

...why am I suddenly cruising Craigslist for salvage Model S...???
 
So BMS_nominal_Fullpackenergy is something like 77 kWh on an 85? Is there any parameter that allows one to view 100% of the energy that the pack is capable of storing? Including bricking protection buffers and whatnot? What is this value (approximately) on an 85 kWh?
 
So BMS_nominal_Fullpackenergy is something like 77 kWh on an 85? Is there any parameter that allows one to view 100% of the energy that the pack is capable of storing? Including bricking protection buffers and whatnot? What is this value (approximately) on an 85 kWh?

Based on my testing of individual cells from my solar project, and based on the BMS data, I've concluded that the Tesla "85" kWh pack is actually about 81 kWh... which makes me really curious where they came up with the 85 kWh number. I mean, even at 4.23V charge and 1.8V discharge the most I can get out of the cells I have is about 11.5 Wh, which comes out to about 81.7 kWh... and that's overcharging the cell and overdischarging the cell. I was willing to chalk my external findings up to my loose cells being from a pack that may have sat for an unspecified period of time at an unknown SoC... but with Tesla's BMS telling me about 77 kWh usable and 4 kWh brick protection being 81 kWh.......... I'm REALLY curious as to where they think the other 4 kWh comes from. Almost makes me want to start another 691 HP type thread, since I don't understand what excuse they have for advertising 85 kWh when under no condition is 85 kWh possible from the pack, just like under no condition is 691 HP available on the P85D...

Then, applying this to the 60 packs gives them an actual capacity of about 62 kWh. Even just looking at the numbers, 7104 cells in the 85 pack and 5376 cells in the 60 pack... and they're confirmed the same cells... how can the numbers add up? Well, the riddle is solved. They don't. heh.

*shrugs* I'm trying not to be angry about this like I had with the P85D issues, but instead it's just reinforcing my continued distrust of Tesla's advertised specs.

Edit: Before anyone jumps on me about this, I'll point out that Tesla has stated that the pack capacities are stated at the beginning of life. If they follow the degradation curve from the NCR18650B (they're not exactly the same cells) then they would start with about 84 kWh on day 1 of life, and drop to the 81 kWh area around 50 cycles. However, these cells are not NCR18650B, since their cycle capacity loss curve is totally different. But anyway, 50 cycles worth of degradation would be at least ~10k miles of driving. I know the first pack my loose cells are from had less than 2000 miles, or less than 10 cycles. I have CAN logs from others who have 85's with < 5000 miles and are still showing the same capacity caps. So, *shrugs*. Anyway, using the NCR18650B rating of 3.2Ah @ 3.6V gives us 81.8kWh.

Overall, there is probably some way Tesla can argue their 85 number.... maybe based on full charge capacities at some high temperature or something.... but in reality we have ~81 kWh cars that have 76-77kWh of usable power.
 
Last edited:
@wk057 haahahahaha, I guess this means new packs for all;) just like we got 691hp eventually;) cant wait for the "but according to EU-spec blahblahblah 85KWh actually is measured in space".... <-couldnt resist after reading your post here. Not trying to derail an awesome thread into another endless babblefest:cool:

This thread is btw going even further into highlevel nerdporn territory quite fast. Cant remember the last time I felt so dumb when it comes to technical topics:)

PS! Figuring out a non-intrusive way to turn of traction control would be awesome these days as we are having snow all over and the P85D wont really let me play around in it:(
 
@wk057 haahahahaha, I guess this means new packs for all;) just like we got 691hp eventually;) cant wait for the "but according to EU-spec blahblahblah 85KWh actually is measured in space".... <-couldnt resist after reading your post here. Not trying to derail an awesome thread into another endless babblefest:cool:

This thread is btw going even further into highlevel nerdporn territory quite fast. Cant remember the last time I felt so dumb when it comes to technical topics:)

PS! Figuring out a non-intrusive way to turn of traction control would be awesome these days as we are having snow all over and the P85D wont really let me play around in it:(

Yeah, not looking to start another 691 HP thread... :-\

Anyway, traction control can be disabled in the diagnostic menu, along with stability control and some other things. Perhaps when my tires are near EOL I'll give it a shot. :p

As for non-invasive.... *shrugs* ... still working on that part time.
 
Yeah, not looking to start another 691 HP thread... :-\

.
But, but, I was waiting for others to jump in with the the 8 months of arguing that you're wrong.. ;-)

I was told there would be no math, though 90 pack cells are, what, 6% more efficient? Would that also imply that these packs are closer to 86.7 (82-83 effective)?

Still loving the thread. Going to get some more popcorn now :)
 
Anyway, traction control can be disabled in the diagnostic menu, along with stability control and some other things. Perhaps when my tires are near EOL I'll give it a shot. :p

As for non-invasive.... *shrugs* ... still working on that part time.
I expect jailbreakmytesla.com to be up and running in a couple of weeks;)

SDK ready at the same time from dirkhh would just be supernice:) might even make me want to break out my rusty oldschool 1337 hello world-level coding skills;) I want battery percentage and range shown at once as well as a more detailed powergraph!

now back to the regular programming!
 
Tesla is probably using the "typical" capacity at 25°C from the spec sheet: 3.35Ah x 3.6V x 7104 = 85.674 kWh.

Don't want to take this superb thread too much off topic, but I agree this must be how they landed on the "85" (and "60", "70" and "90") kWh ratings. I remeber this point was touched on in the 691 hp thread too:

c10f6699a412e52bf9f1b744dea3ee70.jpg


:)

Back on-topic and with regard to the discussion about any possible future "jail breaking" of the car and "unofficial" apps etc: I would think that if there proves to be a non- or minimally invasive way to "jail break" the car at through this add for example a program that displays otherwise hidden info on the IC, or if there was a way to make a web script that displayed it within the browser etc. Tesla will fight this and claim we're voiding our warranty etc. by doing the modification. On the flip side, the work that is being done here could definately push Tesla in the right direction when it comes to speeding up work on the long awaited offical SDK (at least this is my hope).