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

How I Recovered Half of my Battery's Lost Capacity

This site may earn commission on affiliate links.
241.6Wh/mi is 77.8kWh/322mi
If you don’t like that definition which relies on SMT data…You can also calculate it from the energy screen in distance (miles) display mode:

Recent Efficiency * Projected Range / Rated Miles = 242Wh/rmi

This will always be the case (within the limits of the significant figures). It’s just how that screen works. It’s different for every different vehicle model (SR/LR/Performance/model year, etc.) though.

Also can be calculated at the end of a charging session by toggling between miles added and energy added. (Divide energy by miles.) Again, accuracy limited by significant figures (typically just 2, so you’ll usually get 240Wh/rmi or 250Wh/mi).

The 77.8kWh/322mi calculation just shows why that is the chosen charging constant.
 
Last edited:
  • Like
Reactions: hcdavis3
For M3/MY cars with significant range loss (>10% loss), check what your battery voltage is at low state of charge.
Your missing range might be there, indicating BMS calibration is at fault for lower indicated range.

Kudos to the to OP for zeroing in on the real cause of massive missing range, BMS calibration confusion.

In blindly following the bad YouTube advice to "Recover lost M3 range", I ran my car down to low state of charge 3%.
I let the car sleep for 4 hours, cooling pump off, no sentry mode, no Teslafi apps pinging the car.
Woke car up and using Scanmytesla with an OBDII reader it said 3% onscreen battery capacity had an average cell
reading of 3.131V at temperature of 70F (21C). No significant temperature adjustment necessary for 70F(21C).
Out of curiosity I cross referenced that brick voltage to volts/%capacity chart from Bjorn's chart referenced back on post #356.

100% 4.20V
90% 4.07V
80% 3.95V
70% 3.82V
60% 3.70V
50% 3.57V
40% 3.44V
30% 3.32V
20% 3.19V
My car at 3% capacity pack average voltage: 3.131V
10% 3.06V
0% 2.94V

If I linearly interpolate my voltage 3.131V, between the data points 10% and 20%, I get ~15%.

THERE IS MY MISSING RANGE! My BMS is confused! It thinks that it is currently at 3% when I'm closer to 15%! My simple math above is not accurate enough to say specific number of missing range is hiding there. And I don't know if the above voltage chart was taken while driving or after the car slept, or the temperature, but it is a significant amount of my range loss. I have data to support the BMS bad calibration theory is the cause of range loss, now how to fix it.......

I think the battery calibration algorithm might be suffering from "garbage in, garbage out". The best algorithms will spit out junk numbers if given crap input data.

Smart battery powered devices have a few variables that can be measured to determine battery capacity and %remaining.
1. OCV (Open circuit voltage): The total voltage on the battery. Read voltage, apply temperature compensation, then look up %capacity from a voltage/%capacity curve and you can get % full. Jack Rickard plotted a "Tesla Model 3 2170 Battery Cell" discharge curve, and Bjorn has also measured it. Basically where you are between full and empty. Unfortunately this absolute voltage is almost useless in car driving operation as it bounces all over when the vehicle is moving. The pack voltage might drop 40V if you stomp on the accelerator. BUT, this OCV is exact if you let the battery sit for a while, and measure it with ZERO load. In the M3/MY this appears to be about 3-4 hours during sleep unfortunately, which seems to significantly longer than the MS/MX which seem to be around ~15min (a guess).
2. Coulomb Counting: Measure the amps and volts coming in or out of the battery, and integrate over time. The computer counts the energy in and out of the battery using volts and amps. Example: If I used 37.5kwh of my fictitious battery pack of 75kwh, my %capacity has changed by -50%. Coulomb counting is great for instantaneous capacity readings. However all sensors have measurement error so it can wander over time. This drift isn't acceptable for long periods, but is totally acceptable for shorter time periods where periodic OCV can realign where you are in %capacity.
3. Temperature: Batteries don't like cold. Basically battery voltage goes down when cold. Again it's a curve.

So OCV is great at finding absolute %capacity, but requires 3-4hours of car sleeping. Coulomb counting is great for adding and subtracting energy during use, using the starting point of when you turned the car on.

However neither of these measurements independently can calculate battery capacity (in kwh) alone. Together OCV and coulomb counting can calculate battery capacity (the source of this thread). As our cars are constantly taking data to monitor battery capacity, this is where charging/driving use cases can cause issues for the car to accurately calculate battery capacity.

The normal method of calculating battery capacity is to discharge battery to a specific OCV that a voltage/capacity graph calls 0%. Then add energy (KWH) until the battery will no longer accept energy at a certain 100% OCV. The amount of energy added is the capacity of your battery. You can do the same process in discharge, and you will always notice slightly less energy coming out of the battery. The loss can be lumped under "battery efficiency" losses.

So Tesla's algorithm has to combine these two separate measurements to calculate battery capacity. To translate calculating battery capacity into car terms, an algorithm would want to see an OCV measurement (over 3-4 hours of car sleep), then add/subtract energy (KWH), then see OCV (3-4 hours). If the depth of charge isn't 100%, the battery capacity can be extrapolated out to full capacity. When the car is driving the energy going in and out of the battery is quite bouncy, so it's probably not well suited for adjusting battery capacity. However charging on AC is dead steady energy input into the battery. That would be much more reliable to calculate battery capacity from. As laboratory "ideal" method is NOT how cars are used, that's where our M3/MY have issues when
calculating capacity which can be influenced due to subtleties in charging habits.

My car, 2018 LR RWD, 57k miles, originally had 325 miles but got down to 283 miles at 100%, 13% (42miles) range loss. My bad habit that caused this was about 1.5years ago I switched charging to "immediately charge" when the EVSE is connected, and followed the owners manual advice to leave the car plugged in, so it was always charged. My short commute didn't use more than 20% each day. In hind sight my habit of immediately charging the car,
and shallow discharges are preventing the car from knowing where the bottom of the battery is. This is evidenced by the car thinking that 3.131V is 3%, when it should be closer to 15%. A Tesla service call hinted at this "not letting the car sleep before charging" but I think the canned Tesla response is to err on the "the cars are idiot proof, car will take care of everything" side of messaging, so my habits have room for improvement.

Unfortunately getting the computer to adjust upwards doesn't happen quickly according to other posts on this thread. If it took 1.5years to drop ~30miles, I'm not expecting it to rise very quickly if range estimations can only go up the same speed as down.

Scanmytesla reports that I have battery imbalance of 4mv at 90% and 4mv at low battery %. This is ideal and not affecting range in my car.

Going forward I changed my charging habits to the OP's suggestion with an additional step. Like the OP,
1. Drive down to 20-30%, car is usually parked by 6PM.
2. Goes to sleep for 4hours.
3. Scheduled charge start at 10PM (4 hours after I usually park for the day).
4. Car charges on AC for 4-5 hours at 48Amps, finishes at ~3AM.
5. 4hours car sleep
6. Leave for work 7AM (Car has 4 hours to sleep).

I am hoping the second sleep will help give the BMS better data to update the G.O.M. range. Will know the result in a few months.

Summary: Drive the car when you need to drive the car. When your schedule allows, help the BMS give you accurate range by the above method.
 
For M3/MY cars with significant range loss (>10% loss), check what your battery voltage is at low state of charge.
Your missing range might be there, indicating BMS calibration is at fault for lower indicated range.

Kudos to the to OP for zeroing in on the real cause of massive missing range, BMS calibration confusion.

In blindly following the bad YouTube advice to "Recover lost M3 range", I ran my car down to low state of charge 3%.
I let the car sleep for 4 hours, cooling pump off, no sentry mode, no Teslafi apps pinging the car.
Woke car up and using Scanmytesla with an OBDII reader it said 3% onscreen battery capacity had an average cell
reading of 3.131V at temperature of 70F (21C). No significant temperature adjustment necessary for 70F(21C).
Out of curiosity I cross referenced that brick voltage to volts/%capacity chart from Bjorn's chart referenced back on post #356.

100% 4.20V
90% 4.07V
80% 3.95V
70% 3.82V
60% 3.70V
50% 3.57V
40% 3.44V
30% 3.32V
20% 3.19V
My car at 3% capacity pack average voltage: 3.131V
10% 3.06V
0% 2.94V

If I linearly interpolate my voltage 3.131V, between the data points 10% and 20%, I get ~15%.

THERE IS MY MISSING RANGE! My BMS is confused! It thinks that it is currently at 3% when I'm closer to 15%! My simple math above is not accurate enough to say specific number of missing range is hiding there. And I don't know if the above voltage chart was taken while driving or after the car slept, or the temperature, but it is a significant amount of my range loss. I have data to support the BMS bad calibration theory is the cause of range loss, now how to fix it.......

I think the battery calibration algorithm might be suffering from "garbage in, garbage out". The best algorithms will spit out junk numbers if given crap input data.

Smart battery powered devices have a few variables that can be measured to determine battery capacity and %remaining.
1. OCV (Open circuit voltage): The total voltage on the battery. Read voltage, apply temperature compensation, then look up %capacity from a voltage/%capacity curve and you can get % full. Jack Rickard plotted a "Tesla Model 3 2170 Battery Cell" discharge curve, and Bjorn has also measured it. Basically where you are between full and empty. Unfortunately this absolute voltage is almost useless in car driving operation as it bounces all over when the vehicle is moving. The pack voltage might drop 40V if you stomp on the accelerator. BUT, this OCV is exact if you let the battery sit for a while, and measure it with ZERO load. In the M3/MY this appears to be about 3-4 hours during sleep unfortunately, which seems to significantly longer than the MS/MX which seem to be around ~15min (a guess).
2. Coulomb Counting: Measure the amps and volts coming in or out of the battery, and integrate over time. The computer counts the energy in and out of the battery using volts and amps. Example: If I used 37.5kwh of my fictitious battery pack of 75kwh, my %capacity has changed by -50%. Coulomb counting is great for instantaneous capacity readings. However all sensors have measurement error so it can wander over time. This drift isn't acceptable for long periods, but is totally acceptable for shorter time periods where periodic OCV can realign where you are in %capacity.
3. Temperature: Batteries don't like cold. Basically battery voltage goes down when cold. Again it's a curve.

So OCV is great at finding absolute %capacity, but requires 3-4hours of car sleeping. Coulomb counting is great for adding and subtracting energy during use, using the starting point of when you turned the car on.

However neither of these measurements independently can calculate battery capacity (in kwh) alone. Together OCV and coulomb counting can calculate battery capacity (the source of this thread). As our cars are constantly taking data to monitor battery capacity, this is where charging/driving use cases can cause issues for the car to accurately calculate battery capacity.

The normal method of calculating battery capacity is to discharge battery to a specific OCV that a voltage/capacity graph calls 0%. Then add energy (KWH) until the battery will no longer accept energy at a certain 100% OCV. The amount of energy added is the capacity of your battery. You can do the same process in discharge, and you will always notice slightly less energy coming out of the battery. The loss can be lumped under "battery efficiency" losses.

So Tesla's algorithm has to combine these two separate measurements to calculate battery capacity. To translate calculating battery capacity into car terms, an algorithm would want to see an OCV measurement (over 3-4 hours of car sleep), then add/subtract energy (KWH), then see OCV (3-4 hours). If the depth of charge isn't 100%, the battery capacity can be extrapolated out to full capacity. When the car is driving the energy going in and out of the battery is quite bouncy, so it's probably not well suited for adjusting battery capacity. However charging on AC is dead steady energy input into the battery. That would be much more reliable to calculate battery capacity from. As laboratory "ideal" method is NOT how cars are used, that's where our M3/MY have issues when
calculating capacity which can be influenced due to subtleties in charging habits.

My car, 2018 LR RWD, 57k miles, originally had 325 miles but got down to 283 miles at 100%, 13% (42miles) range loss. My bad habit that caused this was about 1.5years ago I switched charging to "immediately charge" when the EVSE is connected, and followed the owners manual advice to leave the car plugged in, so it was always charged. My short commute didn't use more than 20% each day. In hind sight my habit of immediately charging the car,
and shallow discharges are preventing the car from knowing where the bottom of the battery is. This is evidenced by the car thinking that 3.131V is 3%, when it should be closer to 15%. A Tesla service call hinted at this "not letting the car sleep before charging" but I think the canned Tesla response is to err on the "the cars are idiot proof, car will take care of everything" side of messaging, so my habits have room for improvement.

Unfortunately getting the computer to adjust upwards doesn't happen quickly according to other posts on this thread. If it took 1.5years to drop ~30miles, I'm not expecting it to rise very quickly if range estimations can only go up the same speed as down.

Scanmytesla reports that I have battery imbalance of 4mv at 90% and 4mv at low battery %. This is ideal and not affecting range in my car.

Going forward I changed my charging habits to the OP's suggestion with an additional step. Like the OP,
1. Drive down to 20-30%, car is usually parked by 6PM.
2. Goes to sleep for 4hours.
3. Scheduled charge start at 10PM (4 hours after I usually park for the day).
4. Car charges on AC for 4-5 hours at 48Amps, finishes at ~3AM.
5. 4hours car sleep
6. Leave for work 7AM (Car has 4 hours to sleep).

I am hoping the second sleep will help give the BMS better data to update the G.O.M. range. Will know the result in a few months.

Summary: Drive the car when you need to drive the car. When your schedule allows, help the BMS give you accurate range by the above method.

while you cannot demonstrate that you can somehow use that range its useless. i guess the only way to test is to drive it below 0 until it dies.

i also discharged my car to 0 a few days ago and had

SOCUI 6.1%, soc min 5%, soc max 7.1%, SOC 0.46%

Voltage of most cells was 3.05 to 3.06. So that puts the SOC at around 10%. so maybe 3% higher than what the BMS thinks. I mean even without that I have 12% rangeloss haha.
 
  • Informative
Reactions: AlanSubie4Life
while you cannot demonstrate that you can somehow use that range its useless. i guess the only way to test is to drive it below 0 until it dies.

I had similar to Sumguy charging habits, i was charging to 50-60% every day in the morning, using 10-15% of SOC and start the charge immediately when i returned at home.
I have "lost" 10% of battery ( 70 Kwh now ) on my 2019 model 3 LR .
I noticed that my cell voltages and SOC% were a little off so I have tried to discharge to 0% and cells were at 3.07V !
Then , parked in the garage, i blasted the heater and i went down another 1.5 Kwh ( soc remains at 0% on SMT ) , lowest cell was 2.9x V and then i left the battery rest for 3-4 hours and recharger to 60%.
But i have not recovered anything , maybe i need to repeat the 60-0-60 % SOC several times.
Checked just now with SMT and at 60% SOC ( 64.5 considering also the buffer ) the cells are a 3.9 volts,
LOL, BMS is off a 10-15%.
 
Last edited:
Like many others, I have been concerned with loss of 100% indicated battery range on one of my Model 3s. My P3D (build date 9/13/2018, delivery date 10/8/2018) had gotten down to 270.3 miles at 100% charge on January 20, 2020, at about 30,700 miles, which is a loss of 40.8 miles since the car was new.

I posted about going to the service center to talk with them about battery degradation, which I did on March 9, 2020. It was a great service appointment and the techs at the Houston Westchase service center paid attention to my concerns and promised to follow up with a call from the lead virtual tech team technician. I detailed this service visit in the following post:

Reduced Range - Tesla Issued a Service Bulletin for possible fix

While that service visit was great, the real meat of addressing the problem came when I spoke to the virtual tech team lead. He told me some great things about the Model 3 battery and BMS. With the knowledge of what he told me, I formulated a plan to address it myself.

So here is the deal on the Model 3 battery and why many of us might be seeing this capacity degradation.

The BMS system is not only responsible for charging and monitoring of the battery, but computing the estimated range. The way it does this is to correlate the battery's terminal voltage (and the terminal voltage of each group of parallel cells) to the capacity. The BMS tries to constantly refine and calibrate that relationship between terminal voltage and capacity to display the remaining miles.

For the BMS to execute a calibration computation, it needs data. The primary data it needs to to this is what is called the Open Circuit Voltage (OCV) of the battery and each parallel group of cells. The BMS takes these OCV readings whenever it can, and when it has enough of them, it runs a calibration computation. This lets the BMS now estimate capacity vs the battery voltage. If the BMS goes for a long time without running calibration computations, then the BMS's estimate of the battery's capacity can drift away from the battery's actual capacity. The BMS is conservative in its estimates so that people will not run out of battery before the indicator reads 0 miles, so the drift is almost always in the direction of estimated capacity < actual capacity.

So, when does the BMS take OCV readings? To take a set of OCV readings, the main HV contactor must be open, and the voltages inside the pack for every group of parallel cells must stabilize. How long does that take? Well, interestingly enough, the Model 3 takes a lot longer for the voltages to stabilize than the Model S or X. The reason is because of the battery construction. All Tesla batteries have a resistor in parallel with every parallel group of cells. The purpose of these resistors is for pack balancing. When charging to 100%, these resistors allow the low cells in the parallel group to charge more than the high cells in the group, bringing all the cells closer together in terms of their state of charge. However, the drawback to these resistors is that they are the primary cause of vampire drain.

Because Tesla wanted the Model 3 battery to be the most efficient it could be, Tesla decided to decrease the vampire drain as much as possible. One step they took to accomplish this was to increase the value of all of these resistors so that the vampire drain is minimized. The resistors in the Model 3 packs are apparently around 10x the value of the ones in the Model S/X packs. So what does this do to the BMS? Well, it makes the BMS wait a lot longer to take OCV readings, because the voltages take 10x longer to stabilize. Apparently, the voltages can stabilize enough to take OCV readings in the S/X packs within 15-20 minutes, but the Model 3 can take 3+ hours.

This means that the S/X BMS can run the calibration computations a lot easier and lot more often than the Model 3. 15-20 minutes with the contactor open is enough to get a set of OCV readings. This can happen while you're out shopping or at work, allowing the BMS to get OCV readings while the battery is at various states of charge, both high and low. This is great data for the BMS, and lets it run a good calibration fairly often.

On the Model 3, this doesn't happen. With frequent small trips, no OCV readings ever get taken because the voltage doesn't stabilize before you drive the car again. Also, many of us continuously run Sentry mode whenever we're not at home, and Sentry mode keeps the contactor engaged, thus no OCV readings can be taken no matter how long you wait. For many Model 3's, the only time OCV readings get taken is at home after a battery charge is completed, as that is the only time the car gets to open the contactor and sleep. Finally, 3 hours later, OCV readings get taken.

But that means that the OCV readings are ALWAYS at your battery charge level. If you always charge to 80%, then the only data the BMS is repeatedly collecting is 80% OCV readings. This isn't enough data to make the calibration computation accurate. So even though the readings are getting taken, and the calibration computation is being periodically run, the accuracy of the BMS never improves, and the estimated capacity vs. actual capacity continues to drift apart.

So, knowing all of this, here's what I did:

1. I made it a habit to make sure that the BMS got to take OCV readings whenever possible. I turned off Sentry mode at work so that OCV readings could be taken there. I made sure that TeslaFi was set to allow the car to sleep, because if it isn't asleep, OCV readings can't get taken.

2. I quit charging every day. Round-trip to work and back for me is about 20% of the battery's capacity, and I used to normally charge to 90%. I changed my standard charge to 80%, and then I began charging the car at night only every 3 days. So day 1 gets OCV readings at 80% (after the charge is complete), day 2 at about 60% (after 1 work trip), and day 3 at about 40% (2 work trips). I arrive back home from work with about 20% charge on that last day, and if the next day isn't Saturday, then I charge. If the next day is Saturday (I normally don't go anywhere far on Saturday), then I delay the charge for a 4th day, allowing the BMS to get OCV readings at 20%. So now my BMS is getting data from various states of charge throughout the range of the battery.

3. I periodically (once a month or so) charge to 95%, then let the car sleep for 6 hours, getting OCV readings at 95%. Don't do this at 100%, as it's not good for the battery to sit with 100% charge.

4. If I'm going to take a long drive i.e. road trip, then I charge to 100% to balance the battery, then drive. I also try to time it so that I get back home with around 10% charge, and if I can do that, then I don't charge at that time. Instead, let the car sleep 6 hours so it gets OCV readings at 10%.

These steps allowed the BMS to get many OCV readings that span the entire state of charge of the battery. This gets it good data to run an accurate calibration computation.

So what's the results?

20200827Battery100PctRange.png


On 1/20/2020 at 30,700 miles, I was down to 270 miles full range, which is 40.8 miles lost (15.1 %). The first good, accurate recalibration occurred 4/16/2020 at 35,600 miles and brought the full range up to 286 miles. Then another one occurred on 8/23/2020 at 41,400 miles and brought the range up to 290 miles, now only a 20 mile loss (6.9 %).

Note that to get just two accurate calibration computations by the BMS took 7 months and 11,000 miles.

So, to summarize:

1. This issue is primarily an indication/estimation problem, not real battery capacity loss.
2. Constant Sentry mode use contributes to this problem, because the car never sleeps, so no OCV readings get taken.
3. Long voltage stabilization times in the Model 3 prevent OCV readings from getting taken frequently, contributing to BMS estimation drift.
4. Constantly charging every day means that those OCV readings that do get taken are always at the same charge level, which makes the BMS calibration inaccurate.
5. Multiple accurate calibration cycles may need to happen before the BMS accuracy improves.
6. It takes a long time (a lot of OCV readings) to cause the BMS to run a calibration computation, and therefore the procedure can take months.

I would love if someone else can perform this procedure and confirm that it works for you, especially if your Model 3 is one that has a lot of apparent degradation. It will take months, but I think we can prove that this procedure will work.
Great info - thank you for the detail - i love this stuff
 
1. Drive down to 20-30%, car is usually parked by 6PM.
2. Goes to sleep for 4hours.
3. Scheduled charge start at 10PM (4 hours after I usually park for the day).
4. Car charges on AC for 4-5 hours at 48Amps, finishes at ~3AM.
5. 4hours car sleep
6. Leave for work 7AM (Car has 4 hours to sleep).
After 2 months and ~2,000 miles the range has improved from 283 at it's low, to now 295-300. (2018 LR RWD, 60k miles). No big jumps, just increases by a couple miles here and there. Just following the 6 steps above when time allows. Just taking car on trips when needed. No big 0-100% charges. During a cold winter. No drastic overnight jumps, just painfully slow improvement.

2 funny things I have noticed that makes me think the BMS still has more adjusting to do:
1. If I set the charge limit to 90%, it finishes charging, goes to sleep, wakes up and the battery percent is always 87%-88%. The car has been asleep so it's not phantom drain. It's weirdly consistent that it doesn't charge to where the slider is.
2. I check (remaining range)/(battery%) to estimate 100% range. When the battery is low (near 25%) I get roughly 5 miles more range estimate than at 90%. Again it's weirdly consistent.

This process seems to be adjusting an average calculation of battery capacity. Painfully slow.

Maybe someday there will be an onboard neural net computer capable of recognizing bad charging habits and devote 0.00001% of it's computing power to automatically correct bad charging habits? Too much to ask?
 
  • Funny
Reactions: KenC
If I set the charge limit to 90%, it finishes charging, goes to sleep, wakes up and the battery percent is always 87%-88%. The car has been asleep so it's not phantom drain. It's weirdly consistent that it doesn't charge to where the slider is.
Are you setting the slider from the car or the mobile app? The slider in the car is really hard to dial in precisely - so you may think you set 90%, but you actually set 88%. Check the charge limit slider from the mobile app to confirm the actual setting, or just set it from the mobile app.
 
Are you setting the slider from the car or the mobile app? The slider in the car is really hard to dial in precisely - so you may think you set 90%, but you actually set 88%. Check the charge limit slider from the mobile app to confirm the actual setting, or just set it from the mobile app.
I set 90% on the car, and the mobile app agrees it was at 90%.

I haven't checked what what the car charges to immediately when done charging vs. done charging & after a long deep sleep. If those read different remaining miles it might mean the BMS is still adjusting. Will have to wait until warmer temperatures. Freezing temperatures by morning could show the same drop.
 
You could always try voice commands. They work well for this senior.

Like many others, I have been concerned with loss of 100% indicated battery range on one of my Model 3s. My P3D (build date 9/13/2018, delivery date 10/8/2018) had gotten down to 270.3 miles at 100% charge on January 20, 2020, at about 30,700 miles, which is a loss of 40.8 miles since the car was new.

I posted about going to the service center to talk with them about battery degradation, which I did on March 9, 2020. It was a great service appointment and the techs at the Houston Westchase service center paid attention to my concerns and promised to follow up with a call from the lead virtual tech team technician. I detailed this service visit in the following post:

Reduced Range - Tesla Issued a Service Bulletin for possible fix

While that service visit was great, the real meat of addressing the problem came when I spoke to the virtual tech team lead. He told me some great things about the Model 3 battery and BMS. With the knowledge of what he told me, I formulated a plan to address it myself.

So here is the deal on the Model 3 battery and why many of us might be seeing this capacity degradation.

The BMS system is not only responsible for charging and monitoring of the battery, but computing the estimated range. The way it does this is to correlate the battery's terminal voltage (and the terminal voltage of each group of parallel cells) to the capacity. The BMS tries to constantly refine and calibrate that relationship between terminal voltage and capacity to display the remaining miles.

For the BMS to execute a calibration computation, it needs data. The primary data it needs to to this is what is called the Open Circuit Voltage (OCV) of the battery and each parallel group of cells. The BMS takes these OCV readings whenever it can, and when it has enough of them, it runs a calibration computation. This lets the BMS now estimate capacity vs the battery voltage. If the BMS goes for a long time without running calibration computations, then the BMS's estimate of the battery's capacity can drift away from the battery's actual capacity. The BMS is conservative in its estimates so that people will not run out of battery before the indicator reads 0 miles, so the drift is almost always in the direction of estimated capacity < actual capacity.

So, when does the BMS take OCV readings? To take a set of OCV readings, the main HV contactor must be open, and the voltages inside the pack for every group of parallel cells must stabilize. How long does that take? Well, interestingly enough, the Model 3 takes a lot longer for the voltages to stabilize than the Model S or X. The reason is because of the battery construction. All Tesla batteries have a resistor in parallel with every parallel group of cells. The purpose of these resistors is for pack balancing. When charging to 100%, these resistors allow the low cells in the parallel group to charge more than the high cells in the group, bringing all the cells closer together in terms of their state of charge. However, the drawback to these resistors is that they are the primary cause of vampire drain.

Because Tesla wanted the Model 3 battery to be the most efficient it could be, Tesla decided to decrease the vampire drain as much as possible. One step they took to accomplish this was to increase the value of all of these resistors so that the vampire drain is minimized. The resistors in the Model 3 packs are apparently around 10x the value of the ones in the Model S/X packs. So what does this do to the BMS? Well, it makes the BMS wait a lot longer to take OCV readings, because the voltages take 10x longer to stabilize. Apparently, the voltages can stabilize enough to take OCV readings in the S/X packs within 15-20 minutes, but the Model 3 can take 3+ hours.

This means that the S/X BMS can run the calibration computations a lot easier and lot more often than the Model 3. 15-20 minutes with the contactor open is enough to get a set of OCV readings. This can happen while you're out shopping or at work, allowing the BMS to get OCV readings while the battery is at various states of charge, both high and low. This is great data for the BMS, and lets it run a good calibration fairly often.

On the Model 3, this doesn't happen. With frequent small trips, no OCV readings ever get taken because the voltage doesn't stabilize before you drive the car again. Also, many of us continuously run Sentry mode whenever we're not at home, and Sentry mode keeps the contactor engaged, thus no OCV readings can be taken no matter how long you wait. For many Model 3's, the only time OCV readings get taken is at home after a battery charge is completed, as that is the only time the car gets to open the contactor and sleep. Finally, 3 hours later, OCV readings get taken.

But that means that the OCV readings are ALWAYS at your battery charge level. If you always charge to 80%, then the only data the BMS is repeatedly collecting is 80% OCV readings. This isn't enough data to make the calibration computation accurate. So even though the readings are getting taken, and the calibration computation is being periodically run, the accuracy of the BMS never improves, and the estimated capacity vs. actual capacity continues to drift apart.

So, knowing all of this, here's what I did:

1. I made it a habit to make sure that the BMS got to take OCV readings whenever possible. I turned off Sentry mode at work so that OCV readings could be taken there. I made sure that TeslaFi was set to allow the car to sleep, because if it isn't asleep, OCV readings can't get taken.

2. I quit charging every day. Round-trip to work and back for me is about 20% of the battery's capacity, and I used to normally charge to 90%. I changed my standard charge to 80%, and then I began charging the car at night only every 3 days. So day 1 gets OCV readings at 80% (after the charge is complete), day 2 at about 60% (after 1 work trip), and day 3 at about 40% (2 work trips). I arrive back home from work with about 20% charge on that last day, and if the next day isn't Saturday, then I charge. If the next day is Saturday (I normally don't go anywhere far on Saturday), then I delay the charge for a 4th day, allowing the BMS to get OCV readings at 20%. So now my BMS is getting data from various states of charge throughout the range of the battery.

3. I periodically (once a month or so) charge to 95%, then let the car sleep for 6 hours, getting OCV readings at 95%. Don't do this at 100%, as it's not good for the battery to sit with 100% charge.

4. If I'm going to take a long drive i.e. road trip, then I charge to 100% to balance the battery, then drive. I also try to time it so that I get back home with around 10% charge, and if I can do that, then I don't charge at that time. Instead, let the car sleep 6 hours so it gets OCV readings at 10%.

These steps allowed the BMS to get many OCV readings that span the entire state of charge of the battery. This gets it good data to run an accurate calibration computation.

So what's the results?

20200827Battery100PctRange.png


On 1/20/2020 at 30,700 miles, I was down to 270 miles full range, which is 40.8 miles lost (15.1 %). The first good, accurate recalibration occurred 4/16/2020 at 35,600 miles and brought the full range up to 286 miles. Then another one occurred on 8/23/2020 at 41,400 miles and brought the range up to 290 miles, now only a 20 mile loss (6.9 %).

Note that to get just two accurate calibration computations by the BMS took 7 months and 11,000 miles.

So, to summarize:

1. This issue is primarily an indication/estimation problem, not real battery capacity loss.
2. Constant Sentry mode use contributes to this problem, because the car never sleeps, so no OCV readings get taken.
3. Long voltage stabilization times in the Model 3 prevent OCV readings from getting taken frequently, contributing to BMS estimation drift.
4. Constantly charging every day means that those OCV readings that do get taken are always at the same charge level, which makes the BMS calibration inaccurate.
5. Multiple accurate calibration cycles may need to happen before the BMS accuracy improves.
6. It takes a long time (a lot of OCV readings) to cause the BMS to run a calibration computation, and therefore the procedure can take months.

I would love if someone else can perform this procedure and confirm that it works for you, especially if your Model 3 is one that has a lot of apparent degradation. It will take months, but I think we can prove that this procedure will work.
Thank's I'll try it out after losing 9% after 11000 miles...to see if it works out for me too. If linear, my car would be down to 70% capacity displayed after just 2.2 years and 37000 miles.

This "secret hack" should be made more customer friendly, without your research, clients can go years with low range displayed.

I anyway get about 50% of EPA range when driving, so I'd like not to lose so much of my already limited battery. My wife's Buick Encore has double the milage :). Plaid+would have been my preferred choice to get some hint of ok range outside of city driving.
 
I tried all of the various techniques on this thread, only to have my reported range increase for a week or so before returning to the lowest 5% on teslafi. I decided to just set my scheduled departure to right before I leave for work, SoC to 80%, occasionally turn off sentry at work to get a lower rest-state reading, and not care about it. After 18 months of being at the bottom of the range, and for no apparent reason, I'm now above average. My advice is to stop looking at this and enjoy the car.
Screenshot_20220114-100744_Chrome.jpg
 
Here's some more evidence regarding wild BMS behavior. My car was in the bottom 5% of the similar fleet on teslafi most of its life. All of the sudden, it's right back around average for the last month or so. My charging and driving habits didn't cause this change.
Screenshot_20220205-082640_Chrome.jpg
 
  • Informative
  • Like
Reactions: GtiMart and KenC
Here's some more evidence regarding wild BMS behavior. My car was in the bottom 5% of the similar fleet on teslafi most of its life. All of the sudden, it's right back around average for the last month or so. My charging and driving habits didn't cause this change.
View attachment 765183

your curve seems to jerk up and down quite a bit anyway. bit weird. doesnt seem to be season/winter related.
I wonder if you have a damaged circuit in the BMS which caused it to underread and with that protect your battery and maybe a new algorithm via an update fixed it.
 
Last edited:
I really appreciate everyone trying to understand, optimize and manage the battery algorithms and charging cycles. It’s a good thing - the longer life battery, then better for all of us.

I did want to present the flip side. I’ve been using the “set it and forget it” charging model. Always plugged in whenever home, with charging set to 90%. Been that way since I bought the car in April 2019. Now at 36,100 miles.

It’s been quite cold here in the northeast; when it warms up in the spring, I usually see a small bump in calculated range.

So here’s my data from the Stats app. Don’t think I have a whole lot to complain about, especially for zero effort. :)

If I took a very active approach, would it make much of a difference? There’s still 12% of cars with better calculated range. Would the routines @AlanSubie4Life recommends get me to the top of the leaderboard? No idea - I’d like to see stats at 100,000 miles. Thankfully I don’t drive enough to get there for quite some time.

2F5EF80A-E634-4DE8-91DC-F86B6B2DE202.png
 
  • Informative
Reactions: KenC
I really appreciate everyone trying to understand, optimize and manage the battery algorithms and charging cycles. It’s a good thing - the longer life battery, then better for all of us.

I did want to present the flip side. I’ve been using the “set it and forget it” charging model. Always plugged in whenever home, with charging set to 90%. Been that way since I bought the car in April 2019. Now at 36,100 miles.

It’s been quite cold here in the northeast; when it warms up in the spring, I usually see a small bump in calculated range.

So here’s my data from the Stats app. Don’t think I have a whole lot to complain about, especially for zero effort. :)

If I took a very active approach, would it make much of a difference? There’s still 12% of cars with better calculated range. Would the routines @AlanSubie4Life recommends get me to the top of the leaderboard? No idea - I’d like to see stats at 100,000 miles. Thankfully I don’t drive enough to get there for quite some time.

View attachment 765532
I don’t know for how long you had it( as time normally kills more miles than cycles in the early battery life).

I did the opposite to the flip side. But I didnt draw it to the line where it get difficult to be a EV owner.

I am still basically at full range, after 13 months and 33000km.
Teslafi range jumps a bit up and down, but the nominal full pack is quite stable at about 80.5kWh(same number as many begin with on a new M3P 21).
Every full charge so far shows full range.
Recently had two full charges and big cycles which caused the Nominal full to climb a little.
Full range from Scan My Tesla never really show below 500km even if teslafi jumps around. This seem to be origining from the data teslafi use fir the calc.

I live close to the artic circle, the climat helps a bit but the main part is not having the car stanfing for long times with high SOC.
I didnt check where you live but I would guess you could have been close to my curve with a preservative approach, if not toooooo hot summers.
BF71DE26-3672-4B78-91C6-26B9567C1A2D.jpeg
 
  • Like
Reactions: Dave EV
I don’t know for how long you had it( as time normally kills more miles than cycles in the early battery life).
Almost 3 years - currently at 34 months. So quite a bit longer.
I am still basically at full range, after 13 months and 33000km.
As was I at 13 months. On my graph, I was at approximately 302 miles (out of 310 at new) at the 20,000 mile mark (~33000 km). You drive more than I do, so that was about 18-20 months into ownership for me.
I live close to the artic circle, the climat helps a bit but the main part is not having the car stanfing for long times with high SOC.
I didnt check where you live but I would guess you could have been close to my curve with a preservative approach, if not toooooo hot summers.
Annually, our temperatures range from -17C to 39C at the extremes. (0F to 102F or so.)

So we experience a wide band.

But after 3 years I’d be curious to compare your approach vs the lazy approach and see just how much of a difference it makes.
 
  • Like
Reactions: AAKEE
I really appreciate everyone trying to understand, optimize and manage the battery algorithms and charging cycles. It’s a good thing - the longer life battery, then better for all of us.

I did want to present the flip side. I’ve been using the “set it and forget it” charging model. Always plugged in whenever home, with charging set to 90%. Been that way since I bought the car in April 2019. Now at 36,100 miles.

It’s been quite cold here in the northeast; when it warms up in the spring, I usually see a small bump in calculated range.

So here’s my data from the Stats app. Don’t think I have a whole lot to complain about, especially for zero effort. :)

If I took a very active approach, would it make much of a difference? There’s still 12% of cars with better calculated range. Would the routines @AlanSubie4Life recommends get me to the top of the leaderboard? No idea - I’d like to see stats at 100,000 miles. Thankfully I don’t drive enough to get there for quite some time.

View attachment 765532
The Stats developer changed the SOC api he uses in Jan of last year. So, where the range estimate used to vary with temp, it should be temperature agnostic now.

Here's my chart: The SOC api change happened around 14k; after that, steady, as it didn't change with temps. I complained to the developer for 2yrs, before he fixed it. The other oddity is that the developer's new chart, compares your car with every model year, so while my car came with 310 miles of range, and with its current range of 309, I doubt there are 8% of 2018 Model 3s with better range. It's including 2019s and 2020s and 2021s and 2022s. Doesn't seem awfully relevant to include all those newer models.

Oh, also look at the peak of the bell curve. I'm at 30k, and you're at 36k. So, in 6k more miles, the bell curve moves from peaking at 295miles, to 275miles. That seems like a big difference in 6k miles. I'm not sure the developer has enough data to get a meaningful result.
IMG_3547.jpeg

Oh, as most regular readers know, I'm always charging, but only up to 60% since Summer 2019. I charge much higher when necessary, like this morning I charged to 80% in order to go skiing.
 
Last edited:
Almost 3 years - currently at 34 months. So quite a bit longer.

As was I at 13 months. On my graph, I was at approximately 302 miles (out of 310 at new) at the 20,000 mile mark (~33000 km). You drive more than I do, so that was about 18-20 months into ownership for me.

Annually, our temperatures range from -17C to 39C at the extremes. (0F to 102F or so.)

So we experience a wide band.

But after 3 years I’d be curious to compare your approach vs the lazy approach and see just how much of a difference it makes.
From my study about lithium battery technology I *know* that calendar aging is often the main degradator early in the battery life of a EV.
It lessens with the square of time, so whats lost after one year will not double until four years, and the four years degradation will double after 16 years if the charging scedules etc is kept constant. As calendar aging lessens the cyclic aging will start to show.

In my case I calculated to loose about 2-2.5% the first year from calendar aging. My cyclic aging was perhaps onlya half percent the first year.( Mostly small cycles at low SOC).

If I would continue this way, I would have very little degradation over time. I will change job, and start commuting 250km once slightly more than on time each month. My former job(retiring from it), was 100km daily. My standard charging schedule is 55%, but I will need a higher SOC and will do bigger cycles on the job trips. Its north of the artic circle so -30 or so for some trips, during the winter I probably need 100% charge. This will accellerate the cyclic aging a bit, but IO still think the overall degradation will be quite small.

My ”plan” was about 2.5% degradation the first year = 2-2.5% calendar aging and 0.5% cyclic aging).
After four years this would be about 6%( 4% calendar + 2% cyclic).

My climate is about +30 a few days a year to -35(coldest at my hous was -46 and -33 is the coldest this winter, so far). I have a insulated garage, and keep +10-12 during the winter, and also it keeps the temp down the hot summer days when the car is inside, perhaps 22-25 insatead of 35 in the sun.
 
Another check in and data point for me. As I’ve mentioned in prior posts I charge to 90% because I just want max power lol. 8/2018 build, performance, currently 46k miles..had a dip down which always seems to happen after an update…but range at 100% has gone back up to 282–285. I’m OG Stats user so I had alot of variability in the data points due to him using temperature adjust range. I’m not sure when he switched it. I actually stopped opening the app to capture data since it was so buggy. Only start using it again when I notice a dip in range. That’s why there’s less data points at around 23k and 40k lol.


C043AD8B-4CDC-4523-9713-9400527B1EBD.jpeg
 
Last edited:
  • Informative
Reactions: KenC