I must admit I haven’t read the whole thread here, but I was about to create a topic on this and figured it was better to join the flock than shout on my own soapbox…
Anyway. I found my fork of the battery-stats program to which I contributed a script that will generate a nice graph of the life of your battery, provided that you already have the collector writing to the CSV file once in a while.
Here’s my rendering of the battery right now, after slightly less than a year of use:
The red line is the evolution of the battery health. According to the current levels, it’s at 3286000 out of 3572000 design capacity, which is 91.99%. You can clearly see “drops” in that line where the battery was somewhat “damaged” in one shot, which is, I think, the most interesting part of that graph.
I wish I could remember what happened mid-april or mid-may there! Those are two 5% drops that are basically the reason why the battery is ~10% used. I actually keep a life journal here (on paper, believe it or not), and didn’t not anything particular on those days, for what that’s worth. There’s a somewhat deep discharge before the may event (<10%) but nothing unusual, there’s plenty of complete discharge cycles out there that didn’t affect the battery that much.
This is the current tlp-stat
output:
--- TLP 1.5.0 --------------------------------------------
+++ Battery Care
Plugin: generic
Supported features: none available
+++ Battery Status: BAT1
/sys/class/power_supply/BAT1/manufacturer = NVT
/sys/class/power_supply/BAT1/model_name = Framewo
/sys/class/power_supply/BAT1/cycle_count = 151
/sys/class/power_supply/BAT1/charge_full_design = 3572 [mAh]
/sys/class/power_supply/BAT1/charge_full = 3286 [mAh]
/sys/class/power_supply/BAT1/charge_now = 648 [mAh]
/sys/class/power_supply/BAT1/current_now = 2600 [mA]
/sys/class/power_supply/BAT1/status = Charging
/sys/class/power_supply/BAT1/charge_control_start_threshold = (not available)
/sys/class/power_supply/BAT1/charge_control_end_threshold = (not available)
Charge = 19.7 [%]
Capacity = 92.0 [%]
Interestingly, I haven’t used the laptop as my daily driver until about March 2023. Before that, I used it to do extensive tests so it spent almost half of its life being the subject to my torture, but none of that time actually caused problems to the battery. If anything, my normal daily use is more of a problem.
If I would venture a guess, my bad habit is to take the laptop from work, slap the lid down (so it suspends, presumably), shove it in a bag and forget about it. It happened a few times that I opened the lid after a few days and realized I forgot to plug it in, and the battery drained out on suspend.
I really wish Linux had some built-in (hello systemd?) way of waking up from suspend to do an emergency shutdown when the power is low. Surely there’s something that can be triggered somewhere to enable this instead of catastrophically failing the way it is now…
Anyway, that’s my data! happy to share the actual CSV file with Framework staff if that’s useful. Data is logged every minute or so.