• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Question Does Samsung overprovision their batteries in the S and other series?

Search This thread

nixnixnixnix4

Senior Member
Mar 15, 2021
348
72
I can't stand batteries that die after 4 years.

As you may know: staying in the 30-80% range is ideal. Staying under 20% or staying at 100% will degrade/age your battery faster.

I try to keep it in the 37-65% range [28% DoD/Depth-of-Discharge] -- it lasts long without sacrificing usability for me.

I've read somewhere that Samsung limits us to <93% out of the box -- so, you never really charge to 100% and then degrade your battery faster.

What's your experience been with battery longevity?

Dialing *#0228# tells you the voltage and some battery health info.

I looked here: https://opensource.samsung.com/uploadSearch?searchValue=g998
I downloaded and unzipped: SM-G998U_NA_RR_Opensource.zip

I found this little tidbit:
C:
battery {
                    battery,fgsrc_switch_name = "max77705-charger";
                    status = "okay";
                    compatible = "samsung,sec-battery";
                    battery,vendor = "Battery";
                    battery,charger_name = "sec-direct-charger";
                    battery,fuelgauge_name = "max77705-fuelgauge";
                    battery,technology = <0x2>;
                    battery,batt_data_version = <0x3>;
                    battery,temp_adc_type = <0x1>;
                    battery,adc_check_count = <0x5>;
                    battery,temp_check_type = <0x2>;
                    battery,usb_temp_check_type = <0x2>;
                    battery,chg_temp_check_type = <0x2>;
                    battery,wpc_temp_check_type = <0x2>;
                    battery,thermal_source = <0x2>;
                    battery,usb_thermal_source = <0x2>;
                    battery,chg_thermal_source = <0x2>;
                    battery,wpc_thermal_source = <0x2>;
                    battery,polling_time = <0xa 0x1e 0x1e 0x1e 0xe10>;
                    battery,cable_check_type = <0x4>;
                    battery,cable_source_type = <0x1>;
                    battery,polling_type = <0x1>;
                    battery,monitor_initial_count = <0x0>;
                    battery,battery_check_type = <0x0>;
                    battery,ovp_uvlo_check_type = <0x3>;
                    battery,temp_check_count = <0x1>;
                    battery,overheatlimit_threshold = <0x2bc>;
                    battery,overheatlimit_recovery = <0x2a8>;
                    battery,wire_warm_overheat_thresh = <0x1f4>;
                    battery,wire_normal_warm_thresh = <0x1a4>;
                    battery,wire_cool1_normal_thresh = <0xb4>;
                    battery,wire_cool2_cool1_thresh = <0x96>;
                    battery,wire_cool3_cool2_thresh = <0x32>;
                    battery,wire_cold_cool3_thresh = <0x0>;
                    battery,wireless_warm_overheat_thresh = <0x1c2>;
                    battery,wireless_normal_warm_thresh = <0x1a4>;
                    battery,wireless_cool1_normal_thresh = <0xb4>;
                    battery,wireless_cool2_cool1_thresh = <0x96>;
                    battery,wireless_cool3_cool2_thresh = <0x32>;
                    battery,wireless_cold_cool3_thresh = <0x0>;
                    battery,tx_high_threshold = <0x1c2>;
                    battery,tx_high_recovery = <0x190>;
                    battery,tx_low_threshold = <0x0>;
                    battery,tx_low_recovery = <0x32>;
                    battery,wire_warm_current = <0x625>;
                    battery,wire_cool1_current = <0xc4a>;
                    battery,wire_cool2_current = <0x418>;
                    battery,wire_cool3_current = <0x1b5>;
                    battery,wireless_warm_current = <0x418>;
                    battery,wireless_cool1_current = <0xc4a>;
                    battery,wireless_cool2_current = <0x418>;
                    battery,wireless_cool3_current = <0x1b5>;
                    battery,full_check_type = <0x2>;
                    battery,full_check_type_2nd = <0x2>;
                    battery,full_check_count = <0x1>;
                    battery,chg_gpio_full_check = <0x0>;
                    battery,chg_polarity_full_check = <0x1>;
                    battery,chg_high_temp = <0x1d6>;
                    battery,chg_high_temp_recovery = <0x1c2>;
                    battery,chg_input_limit_current = <0x3e8>;
                    battery,chg_charging_limit_current = <0x76c>;
                    battery,dchg_high_temp = <0x21c>;
                    battery,dchg_high_temp_recovery = <0x190>;
                    battery,dchg_high_batt_temp = <0x190>;
                    battery,dchg_high_batt_temp_recovery = <0x17c>;
                    battery,dchg_input_limit_current = <0x3e8>;
                    battery,dchg_charging_limit_current = <0x7d0>;
                    battery,wpc_temp_control_source = <0x1>;
                    battery,wpc_high_temp = <0x172>;
                    battery,wpc_high_temp_recovery = <0x15e>;
                    battery,wpc_input_limit_current = <0x258>;
                    battery,wpc_charging_limit_current = <0x3e8>;
                    battery,wpc_temp_lcd_on_control_source = <0x1>;
                    battery,wpc_lcd_on_high_temp = <0x181>;
                    battery,wpc_lcd_on_high_temp_rec = <0x16d>;
                    battery,wpc_lcd_on_input_limit_current = <0x1c2>;
                    battery,wpc_store_high_temp = <0x168>;
                    battery,wpc_store_high_temp_recovery = <0x154>;
                    battery,wpc_store_charging_limit_current = <0x190>;
                    battery,wpc_store_lcd_on_high_temp = <0x168>;
                    battery,wpc_store_lcd_on_high_temp_rec = <0x12c>;
                    battery,wpc_store_lcd_on_charging_limit_current = <0x190>;
                    battery,charging_limit_by_tx_check = <0x1>;
                    battery,charging_limit_current_by_tx = <0x320>;
                    battery,sleep_mode_limit_current = <0x320>;
                    battery,wc_full_input_limit_current = <0x64>;
                    battery,ta_alert_wa;
                    battery,mix_high_temp = <0x1a4>;
                    battery,mix_high_chg_temp = <0x1f4>;
                    battery,mix_high_temp_recovery = <0x186>;
                    battery,full_condition_type = <0x9>;
                    battery,full_condition_soc = <0x5d>;
                    battery,full_condition_vcell = <0x10fe>;
                    battery,recharge_check_count = <0x1>;
                    battery,recharge_condition_type = <0x4>;
                    battery,recharge_condition_soc = <0x62>;
                    battery,recharge_condition_vcell = <0x10ea>;
                    battery,charging_total_time = <0x3840>;
                    battery,hv_charging_total_time = <0x2a30>;
                    battery,normal_charging_total_time = <0x4650>;
                    battery,usb_charging_total_time = <0x8ca0>;
                    battery,recharging_total_time = <0x1518>;
                    battery,charging_reset_time = <0x0>;
                    battery,chg_float_voltage = <0x1130>;
                    battery,pre_afc_work_delay = <0x7d0>;
                    battery,pre_wc_afc_work_delay = <0xfa0>;
                    battery,pre_afc_input_current = <0x1f4>;
                    battery,pre_wc_afc_input_current = <0x1f4>;
                    battery,prepare_ta_delay = <0x0>;
                    battery,swelling_high_rechg_voltage = <0xfd2>;
                    battery,swelling_low_rechg_voltage = <0x109a>;
                    battery,siop_icl = <0x4b0>;
                    battery,siop_fcc = <0x708>;
                    battery,siop_hv_icl = <0x2bc>;
                    battery,siop_hv_icl_2nd = <0x226>;
                    battery,siop_hv_fcc = <0x708>;
                    battery,siop_apdo_icl = <0x3e8>;
                    battery,siop_apdo_fcc = <0x7d0>;
                    battery,siop_wpc_icl = <0x258>;
                    battery,siop_wpc_fcc = <0x3e8 0x1f4 0x64>;
                    battery,siop_hv_wpc_icl = <0x2bc>;
                    battery,siop_hv_wpc_fcc = <0x3e8 0x1f4 0x64>;
                    battery,siop_store_hv_wpc_icl = <0x1c2>;
                    battery,store_mode_buckoff;
                    battery,rp_current_rp1 = <0x1f4>;
                    battery,rp_current_rp2 = <0x5dc>;
                    battery,rp_current_rp3 = <0xbb8>;
                    battery,rp_current_rdu_rp3 = <0x834>;
                    battery,rp_current_abnormal_rp3 = <0x708>;
                    battery,pd_charging_charge_power = <0x3a98>;
                    battery,max_charging_current = <0xc4e>;
                    battery,wireless_cc_cv = <0x55>;
                    battery,wireless_otg_input_current = <0x384>;
                    battery,age_data = <0x0 0x1130 0x10ea 0x10fe 0x5d 0x12c 0x111c 0x10d6 0x10ea 0x5c 0x190 0x1108 0x10c2 0x10d6 0x5b 0x2bc 0x10f4 0x10ae 0x10c2 0x5a 0x3e8 0x10c2 0x107c 0x1090 0x59>;
                    battery,max_input_voltage = <0x2328>;
                    battery,max_input_current = <0xbb8>;
                    battery,cisd_alg_index = <0x8>;
                    battery,cisd_max_voltage_thr = <0x1162>;
                    battery,ignore_cisd_index = <0x0 0x0>;
                    battery,ignore_cisd_index_d = <0x0 0x50>;
                    battery,expired_time = <0x23dc>;
                    battery,recharging_expired_time = <0x1518>;
                    battery,battery_full_capacity = <0x1388>;
                    battery,ttf_capacity = <0xfa0>;
                    battery,cv_data = <0xc9c 0x360 0x5fe 0xbfb 0x368 0x5d5 0xb50 0x371 0x5a2 0xa87 0x37c 0x564 0x9bc 0x386 0x50d 0x8d7 0x38e 0x4b5 0x837 0x398 0x454 0x777 0x3a2 0x3e8 0x6ba 0x3ae 0x367 0x5fc 0x3b6 0x2fb 0x53a 0x3c0 0x2ad 0x4bd 0x3c9 0x1e6 0x431 0x3d4 0x133 0x3a4 0x3de 0x73 0x2ce 0x3e8 0x0>;
                    io-channels = <0x1 0x14b 0x1 0x148 0x1 0x14b 0x1 0x145>;
                    io-channel-names = "adc-temp", "adc-chg-temp", "adc-wpc-temp", "adc-usb-temp", "n/a";
                    pinctrl-names = "default";
                    pinctrl-0 = <0x2 0x3 0x4 0x5>;
                    battery,wireless_charger_name = "mfc-charger";
                    battery,chip_vendor = "QCOM";
                    battery,dchg_temp_check_type = <0x2>;
                    battery,dchg_thermal_source = <0x3>;
                    battery,temp_table_adc = <0x12b22 0x16468 0x1a04e 0x1e3cd 0x233b7 0x2923f 0x2ffbb 0x38079 0x41321 0x4bb53 0x57517 0x64362 0x72459 0x80f5d 0x903c3 0x9f70e 0xae404 0xbc629 0xc91ab 0xd4b03 0xde824 0xe6b56 0xed8a6>;
                    battery,temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                    battery,usb_temp_table_adc = <0x11d28 0x15214 0x18e0e 0x1d395 0x2270b 0x28807 0x2f5ee 0x3790b 0x40e91 0x4b921 0x5771e 0x64961 0x72c4a 0x81a9a 0x90f2a 0xa0602 0xaf643 0xbd228 0xc9c0f 0xd46df 0xde93d 0xe66b0 0xeda6d>;
                    battery,usb_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                    battery,chg_temp_table_adc = <0xea60 0x120fe 0x1605a 0x1a3c4 0x1f430 0x25070 0x2be43 0x33e6a 0x3d0bb 0x478ec 0x53461 0x60488 0x6e595 0x7d1b2 0x8ca3b 0x9c1aa 0xabf5a 0xba35c 0xc7078 0xd2515 0xdcc84 0xe57fd 0xec91b>;
                    battery,chg_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                    battery,wpc_temp_table_adc = <0x12b22 0x16468 0x1a04e 0x1e3cd 0x233b7 0x2923f 0x2ffbb 0x38079 0x41321 0x4bb53 0x57517 0x64362 0x72459 0x80f5d 0x903c3 0x9f70e 0xae404 0xbc629 0xc91ab 0xd4b03 0xde824 0xe6b56 0xed8a6>;
                    battery,wpc_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                    battery,dchg_temp_table_adc = <0x15f90 0x1dc88 0x24a80 0x2c1a2 0x34b18 0x3e6e2 0x49e2a 0x57a1a 0x67188 0x78d9e 0x8d786 0xa3cec 0xbbdd0 0xd5108 0xeffbe 0x10a54a 0x125400 0x13d4e4 0x154374 0x168432 0x17971e 0x187c38 0x193caa>;
                    battery,dchg_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                    battery,charging_limit_current_by_tx_gear = <0x320>;
                    battery,standard_curr = <0x119e>;
                    battery,max_charging_charge_power = <0x61a8>;
                    battery,high_temp_float = <0x1068>;
                    battery,low_temp_float = <0x1130>;
                    battery,chg_ocp_current = <0x0>;
                    battery,chg_ocp_dtc = <0x64>;
                    battery,wpc_step_limit_temp = <0x168 0x15e>;
                    battery,wpc_step_limit_fcc = <0xc4e 0xc4e>;
                    battery,wpc_step_limit_fcc_12w = <0xc4e 0xc4e>;
                    battery,wpc_step_limit_fcc_15w = <0x898 0xa28>;
                    battery,health_condition = <0x384 0x4b 0x4b0 0x41 0x5dc 0x37>;
                    battery,step_chg_type = <0x0>;
                    battery,dc_step_chg_type = <0xe9>;
                    battery,dc_step_chg_charge_power = <0x55f0>;
                    battery,dc_step_chg_step = <0x3>;
                    battery,dc_step_chg_cond_vol = <0x1036 0x10c2 0x1130>;
                    battery,dc_step_chg_val_vfloat = <0x1036 0x10c2 0x1130>;
                    battery,dc_step_chg_val_iout = <0x15a4 0x15a4 0x119e>;
                    battery,dc_step_chg_iin_check_cnt = <0x3>;
                    battery,dc_step_chg_cond_soc = <0x14 0x32 0x64 0x14 0x32 0x64 0x14 0x32 0x64 0x14 0x32 0x64 0x14 0x32 0x64>;
                    battery,dis_auto_shipmode_temp_ctrl;
                    battery,tx_stop_capacity = <0x1e>;
                    battery,tx_minduty_default = <0x14>;
                    battery,tx_minduty_5V = <0x32>;
                    battery,tx_uno_iout = <0x5dc>;
                    battery,tx_mfc_iout_gear = <0x5dc>;
                    battery,tx_mfc_iout_phone = <0x44c>;
                    battery,tx_mfc_iout_phone_5v = <0x12c>;
                    battery,tx_mfc_iout_lcd_on = <0x384>;
                    battery,tx_5v_disable;
                    battery,ttf_hv_charge_current = <0xad7>;
                    battery,ttf_hv_wireless_charge_current = <0x591>;
                    battery,ttf_wireless_charge_current = <0x366>;
                    battery,ttf_dc25_charge_current = <0x1324>;
                    phandle = <0xbb>;
                };
 
  • Like
Reactions: donw7eed

Ipse_Tase

Senior Member
Feb 29, 2012
724
126
Samsung Galaxy S21 Ultra
For a few years now, since I discovered Accubattery, I've keeping charges capped at 80% most of the time (sometimes you just know it's going to be a long day...).
My S7Edge battery after 5+ years it's still around 80% capacity...so the method works.
Before the S21 ultra I used a Huawei mate 20 pro...that one is still reporting 95% capacity after 2.5 years.

I don't understand for the life of me, why it's just Lenovo (laptops) and Asus (phones) that allow the user to predetermine a charge threshold....say 80% and stop once it's reached.

Hello Samsung???
 

nixnixnixnix4

Senior Member
Mar 15, 2021
348
72
Many other laptop manufacturers allow you to set charging limits, like Dell.
SONY also -- both phones and laptops.
Samsung does have charging limits in BIOS I think.
 

neilth

Senior Member
Mar 26, 2015
65
20
Samsung Galaxy S21 Ultra
I too have been using Accubattery with IFTTT and a smart plug for several years to limit charging to around 75% or so and have found very positive results with battery life extension on every device I’ve used this process on.
Since getting my S21U in February I have repeatedly asked Samsung tech support if there can be an option added to their Bixby Routines to end battery charging. They currently do provide options for fast charging, super fast charging & fast wireless charging in their Bixby Routines. The question is, would the present hardware configuration support the addition of an option to end charging at a user configured charge level. I have never received a response from Samsung concerning the possibility of adding such a feature to the S21U.
Maybe if they received a similar request from additional interested users, they would be motivated to look into adding what would be a very useful and valuable feature to their top of the line phone!
 
  • Like
Reactions: proxybox

blackhawk

Senior Member
Jun 23, 2020
5,100
1,458
Even if Samsung doesn't top off at100% it would extend battery life, not shorten it.
People confuse Li charging characteristics with NiCads.
 

nixnixnixnix4

Senior Member
Mar 15, 2021
348
72
I too have been using Accubattery with IFTTT and a smart plug for several years to limit charging to around 75% or so and have found very positive results with battery life extension on every device I’ve used this process on.
Since getting my S21U in February I have repeatedly asked Samsung tech support if there can be an option added to their Bixby Routines to end battery charging. They currently do provide options for fast charging, super fast charging & fast wireless charging in their Bixby Routines. The question is, would the present hardware configuration support the addition of an option to end charging at a user configured charge level. I have never received a response from Samsung concerning the possibility of adding such a feature to the S21U.
Maybe if they received a similar request from additional interested users, they would be motivated to look into adding what would be a very useful and valuable feature to their top of the line phone!
I don't use AccuBattery. It isn't accurate IMO. I did buy it but it's just in my Google Play library now. And, I use Bixby Routines to notify me when the battery level reaches certain limits I've set. I wish there was a way to get these Bixby notifications to show up on my Fit2 watch.

This is easy to do if you root. I don't want to root.
Plus, ASUS and SONY both offer bypass-charging.
So, clearly, this can be done.

Samsung should add this to the Battery Guardian app as an advanced setting for "pro-users".

I already run the phone on the lowest possible settings (720p, 60fps, eye comfort shield, 70%, low power mode, etc.) and use a Bixby Routine to enable a high-quality mode (full resolution, adaptive 120fps, high brightness, 100% CPU, etc.) when I want to turn things up. I did set Thermal Guardian to the lowest setting.

I have an SD888 S21U.

Ordinarily, my Android phones die in 4 years max because the battery can't handle a simple app launch without shutting down. Of course, if it's connected to an outlet, it'll run just fine. As the battery degrades, if you draw more power/current from it, it'll fail to maintain voltage and boom: shut-down. I think this has to do with internal resistance building up from degradation.

This was "my fault" because I would leave the phone on 100% for at least 12 hours a day for 4 years straight. I also may have let it drain down to near 0 once or twice in its later years.

Now, after understanding Li-ion batteries: I'll replace my phone at year 4. But, I'll do so without having to ever worry about the longevity and quality of my battery at that point.

Also, if you buy a popular Samsung or iPhone -- you can buy a battery case 3 years into the phone's release date.
 
  • Like
Reactions: mpore14

nixnixnixnix4

Senior Member
Mar 15, 2021
348
72
I too have been using Accubattery with IFTTT and a smart plug for several years to limit charging to around 75% or so and have found very positive results with battery life extension on every device I’ve used this process on.
Since getting my S21U in February I have repeatedly asked Samsung tech support if there can be an option added to their Bixby Routines to end battery charging. They currently do provide options for fast charging, super fast charging & fast wireless charging in their Bixby Routines. The question is, would the present hardware configuration support the addition of an option to end charging at a user configured charge level. I have never received a response from Samsung concerning the possibility of adding such a feature to the S21U.
Maybe if they received a similar request from additional interested users, they would be motivated to look into adding what would be a very useful and valuable feature to their top of the line phone!
Battery Life ≠ Battery Longevity

And, can you give us an example of your positive experiences with limiting to 75%?
 

blackhawk

Senior Member
Jun 23, 2020
5,100
1,458
So you want to midrange power cycle the cell?
Samsung doesn't provide for that. On stock Samsung's you need to do it manually.
Accubattery has a audible high alert you can set.

In reality changing out the battery is no big deal once you see how it's done. Just take your time breaking the adhesive seals. Heat the rear panel first and use a little anhydrous isopropyl alcohol* to help break the bond especially on the battery.
Have all the tools you need beforehand.
Observe ESD protocols; at least have a RH of 40-70% in the room. The cleaner the better.


*never use around LCD displays as it will poison them! OLEDs etc, ok too.
 

neilth

Senior Member
Mar 26, 2015
65
20
Samsung Galaxy S21 Ultra
Battery Life ≠ Battery Longevity

And, can you give us an example of your positive experiences with limiting to 75%?
95E620FD-93C8-422C-AD82-76385373E2ED.png

Here’s two and a half years of battery history on my Pixel 2XL shown in AccuBattery from August 2018 to February 2021. It says at the top that battery capacity is still 97%, which I don’t believe can be true. But, the performance of the phone and battery is excellent. I would guess that the actual battery capacity is somewhere between 85 and 90%, much higher than it would be if I had been charging the battery to 100% instead of 76% or so every day.
 

nixnixnixnix4

Senior Member
Mar 15, 2021
348
72
So you want to midrange power cycle the cell?
Samsung doesn't provide for that. On stock Samsung's you need to do it manually.
Accubattery has a audible high alert you can set.

In reality changing out the battery is no big deal once you see how it's done. Just take your time breaking the adhesive seals. Heat the rear panel first and use a little anhydrous isopropyl alcohol* to help break the bond especially on the battery.
Have all the tools you need beforehand.
Observe ESD protocols; at least have a RH of 40-70% in the room. The cleaner the better.


*never use around LCD displays as it will poison them! OLEDs etc, ok too.
Rather than change the battery -- you're better off buying a battery-case around year 3 of phone ownership. Similar cost and lower risk.
 

nixnixnixnix4

Senior Member
Mar 15, 2021
348
72
Here’s two and a half years of battery history on my Pixel 2XL shown in AccuBattery from August 2018 to February 2021. It says at the top that battery capacity is still 97%, which I don’t believe can be true. But, the performance of the phone and battery is excellent. I would guess that the actual battery capacity is somewhere between 85 and 90%, much higher than it would be if I had been charging the battery to 100% instead of 76% or so every day.
You son of a b!tch, you did it, you actually did it!
THANK YOU!
 

blackhawk

Senior Member
Jun 23, 2020
5,100
1,458
Rather than change the battery -- you're better off buying a battery-case around year 3 of phone ownership. Similar cost and lower risk.
I have the Note 10+ and saw the repair reviews.
It's supposedly a hard fix. Nah, not the battery if you take your time. Had it changed out for $50 plus I got to watch and learn. It's charging and running like new again. Well worth the trouble.

Aging Li's are a risk that only increases with age.
My battery swelled and I was lucky it didn't damage the display. A thermal runaway also much more likely in that state.
Greatly reduced capacity (especially if it happens in a few days) and erratic fast charging are signs of a battery failure. Any swelling is a failure☠
Replace it.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Battery Life ≠ Battery Longevity

    And, can you give us an example of your positive experiences with limiting to 75%?
    95E620FD-93C8-422C-AD82-76385373E2ED.png

    Here’s two and a half years of battery history on my Pixel 2XL shown in AccuBattery from August 2018 to February 2021. It says at the top that battery capacity is still 97%, which I don’t believe can be true. But, the performance of the phone and battery is excellent. I would guess that the actual battery capacity is somewhere between 85 and 90%, much higher than it would be if I had been charging the battery to 100% instead of 76% or so every day.
    2
    Many other laptop manufacturers allow you to set charging limits, like Dell.
    SONY also -- both phones and laptops.
    Samsung does have charging limits in BIOS I think.
    Even Samsung allows charging limits, but sadly I've only seen it on their tablet. In fact it's a near flawless implementation. I have it on my Tab S7 under battery settings and is quite aptly called "protect battery".

    See screenshots.

    In fact, the feature recalibrates the battery to report 100% when it's actually at 85% so there's no confusion for the user (requires a restart when you toggle this setting)

    I was pretty bummed they only allow this on the tablet and not on the phone. They obviously have the thing baked into OneUI, so it shouldn't be hard to implement it on the phone. I don't know what will get them to listen.
    1
    I can't stand batteries that die after 4 years.

    As you may know: staying in the 30-80% range is ideal. Staying under 20% or staying at 100% will degrade/age your battery faster.

    I try to keep it in the 37-65% range [28% DoD/Depth-of-Discharge] -- it lasts long without sacrificing usability for me.

    I've read somewhere that Samsung limits us to <93% out of the box -- so, you never really charge to 100% and then degrade your battery faster.

    What's your experience been with battery longevity?

    Dialing *#0228# tells you the voltage and some battery health info.

    I looked here: https://opensource.samsung.com/uploadSearch?searchValue=g998
    I downloaded and unzipped: SM-G998U_NA_RR_Opensource.zip

    I found this little tidbit:
    C:
    battery {
                        battery,fgsrc_switch_name = "max77705-charger";
                        status = "okay";
                        compatible = "samsung,sec-battery";
                        battery,vendor = "Battery";
                        battery,charger_name = "sec-direct-charger";
                        battery,fuelgauge_name = "max77705-fuelgauge";
                        battery,technology = <0x2>;
                        battery,batt_data_version = <0x3>;
                        battery,temp_adc_type = <0x1>;
                        battery,adc_check_count = <0x5>;
                        battery,temp_check_type = <0x2>;
                        battery,usb_temp_check_type = <0x2>;
                        battery,chg_temp_check_type = <0x2>;
                        battery,wpc_temp_check_type = <0x2>;
                        battery,thermal_source = <0x2>;
                        battery,usb_thermal_source = <0x2>;
                        battery,chg_thermal_source = <0x2>;
                        battery,wpc_thermal_source = <0x2>;
                        battery,polling_time = <0xa 0x1e 0x1e 0x1e 0xe10>;
                        battery,cable_check_type = <0x4>;
                        battery,cable_source_type = <0x1>;
                        battery,polling_type = <0x1>;
                        battery,monitor_initial_count = <0x0>;
                        battery,battery_check_type = <0x0>;
                        battery,ovp_uvlo_check_type = <0x3>;
                        battery,temp_check_count = <0x1>;
                        battery,overheatlimit_threshold = <0x2bc>;
                        battery,overheatlimit_recovery = <0x2a8>;
                        battery,wire_warm_overheat_thresh = <0x1f4>;
                        battery,wire_normal_warm_thresh = <0x1a4>;
                        battery,wire_cool1_normal_thresh = <0xb4>;
                        battery,wire_cool2_cool1_thresh = <0x96>;
                        battery,wire_cool3_cool2_thresh = <0x32>;
                        battery,wire_cold_cool3_thresh = <0x0>;
                        battery,wireless_warm_overheat_thresh = <0x1c2>;
                        battery,wireless_normal_warm_thresh = <0x1a4>;
                        battery,wireless_cool1_normal_thresh = <0xb4>;
                        battery,wireless_cool2_cool1_thresh = <0x96>;
                        battery,wireless_cool3_cool2_thresh = <0x32>;
                        battery,wireless_cold_cool3_thresh = <0x0>;
                        battery,tx_high_threshold = <0x1c2>;
                        battery,tx_high_recovery = <0x190>;
                        battery,tx_low_threshold = <0x0>;
                        battery,tx_low_recovery = <0x32>;
                        battery,wire_warm_current = <0x625>;
                        battery,wire_cool1_current = <0xc4a>;
                        battery,wire_cool2_current = <0x418>;
                        battery,wire_cool3_current = <0x1b5>;
                        battery,wireless_warm_current = <0x418>;
                        battery,wireless_cool1_current = <0xc4a>;
                        battery,wireless_cool2_current = <0x418>;
                        battery,wireless_cool3_current = <0x1b5>;
                        battery,full_check_type = <0x2>;
                        battery,full_check_type_2nd = <0x2>;
                        battery,full_check_count = <0x1>;
                        battery,chg_gpio_full_check = <0x0>;
                        battery,chg_polarity_full_check = <0x1>;
                        battery,chg_high_temp = <0x1d6>;
                        battery,chg_high_temp_recovery = <0x1c2>;
                        battery,chg_input_limit_current = <0x3e8>;
                        battery,chg_charging_limit_current = <0x76c>;
                        battery,dchg_high_temp = <0x21c>;
                        battery,dchg_high_temp_recovery = <0x190>;
                        battery,dchg_high_batt_temp = <0x190>;
                        battery,dchg_high_batt_temp_recovery = <0x17c>;
                        battery,dchg_input_limit_current = <0x3e8>;
                        battery,dchg_charging_limit_current = <0x7d0>;
                        battery,wpc_temp_control_source = <0x1>;
                        battery,wpc_high_temp = <0x172>;
                        battery,wpc_high_temp_recovery = <0x15e>;
                        battery,wpc_input_limit_current = <0x258>;
                        battery,wpc_charging_limit_current = <0x3e8>;
                        battery,wpc_temp_lcd_on_control_source = <0x1>;
                        battery,wpc_lcd_on_high_temp = <0x181>;
                        battery,wpc_lcd_on_high_temp_rec = <0x16d>;
                        battery,wpc_lcd_on_input_limit_current = <0x1c2>;
                        battery,wpc_store_high_temp = <0x168>;
                        battery,wpc_store_high_temp_recovery = <0x154>;
                        battery,wpc_store_charging_limit_current = <0x190>;
                        battery,wpc_store_lcd_on_high_temp = <0x168>;
                        battery,wpc_store_lcd_on_high_temp_rec = <0x12c>;
                        battery,wpc_store_lcd_on_charging_limit_current = <0x190>;
                        battery,charging_limit_by_tx_check = <0x1>;
                        battery,charging_limit_current_by_tx = <0x320>;
                        battery,sleep_mode_limit_current = <0x320>;
                        battery,wc_full_input_limit_current = <0x64>;
                        battery,ta_alert_wa;
                        battery,mix_high_temp = <0x1a4>;
                        battery,mix_high_chg_temp = <0x1f4>;
                        battery,mix_high_temp_recovery = <0x186>;
                        battery,full_condition_type = <0x9>;
                        battery,full_condition_soc = <0x5d>;
                        battery,full_condition_vcell = <0x10fe>;
                        battery,recharge_check_count = <0x1>;
                        battery,recharge_condition_type = <0x4>;
                        battery,recharge_condition_soc = <0x62>;
                        battery,recharge_condition_vcell = <0x10ea>;
                        battery,charging_total_time = <0x3840>;
                        battery,hv_charging_total_time = <0x2a30>;
                        battery,normal_charging_total_time = <0x4650>;
                        battery,usb_charging_total_time = <0x8ca0>;
                        battery,recharging_total_time = <0x1518>;
                        battery,charging_reset_time = <0x0>;
                        battery,chg_float_voltage = <0x1130>;
                        battery,pre_afc_work_delay = <0x7d0>;
                        battery,pre_wc_afc_work_delay = <0xfa0>;
                        battery,pre_afc_input_current = <0x1f4>;
                        battery,pre_wc_afc_input_current = <0x1f4>;
                        battery,prepare_ta_delay = <0x0>;
                        battery,swelling_high_rechg_voltage = <0xfd2>;
                        battery,swelling_low_rechg_voltage = <0x109a>;
                        battery,siop_icl = <0x4b0>;
                        battery,siop_fcc = <0x708>;
                        battery,siop_hv_icl = <0x2bc>;
                        battery,siop_hv_icl_2nd = <0x226>;
                        battery,siop_hv_fcc = <0x708>;
                        battery,siop_apdo_icl = <0x3e8>;
                        battery,siop_apdo_fcc = <0x7d0>;
                        battery,siop_wpc_icl = <0x258>;
                        battery,siop_wpc_fcc = <0x3e8 0x1f4 0x64>;
                        battery,siop_hv_wpc_icl = <0x2bc>;
                        battery,siop_hv_wpc_fcc = <0x3e8 0x1f4 0x64>;
                        battery,siop_store_hv_wpc_icl = <0x1c2>;
                        battery,store_mode_buckoff;
                        battery,rp_current_rp1 = <0x1f4>;
                        battery,rp_current_rp2 = <0x5dc>;
                        battery,rp_current_rp3 = <0xbb8>;
                        battery,rp_current_rdu_rp3 = <0x834>;
                        battery,rp_current_abnormal_rp3 = <0x708>;
                        battery,pd_charging_charge_power = <0x3a98>;
                        battery,max_charging_current = <0xc4e>;
                        battery,wireless_cc_cv = <0x55>;
                        battery,wireless_otg_input_current = <0x384>;
                        battery,age_data = <0x0 0x1130 0x10ea 0x10fe 0x5d 0x12c 0x111c 0x10d6 0x10ea 0x5c 0x190 0x1108 0x10c2 0x10d6 0x5b 0x2bc 0x10f4 0x10ae 0x10c2 0x5a 0x3e8 0x10c2 0x107c 0x1090 0x59>;
                        battery,max_input_voltage = <0x2328>;
                        battery,max_input_current = <0xbb8>;
                        battery,cisd_alg_index = <0x8>;
                        battery,cisd_max_voltage_thr = <0x1162>;
                        battery,ignore_cisd_index = <0x0 0x0>;
                        battery,ignore_cisd_index_d = <0x0 0x50>;
                        battery,expired_time = <0x23dc>;
                        battery,recharging_expired_time = <0x1518>;
                        battery,battery_full_capacity = <0x1388>;
                        battery,ttf_capacity = <0xfa0>;
                        battery,cv_data = <0xc9c 0x360 0x5fe 0xbfb 0x368 0x5d5 0xb50 0x371 0x5a2 0xa87 0x37c 0x564 0x9bc 0x386 0x50d 0x8d7 0x38e 0x4b5 0x837 0x398 0x454 0x777 0x3a2 0x3e8 0x6ba 0x3ae 0x367 0x5fc 0x3b6 0x2fb 0x53a 0x3c0 0x2ad 0x4bd 0x3c9 0x1e6 0x431 0x3d4 0x133 0x3a4 0x3de 0x73 0x2ce 0x3e8 0x0>;
                        io-channels = <0x1 0x14b 0x1 0x148 0x1 0x14b 0x1 0x145>;
                        io-channel-names = "adc-temp", "adc-chg-temp", "adc-wpc-temp", "adc-usb-temp", "n/a";
                        pinctrl-names = "default";
                        pinctrl-0 = <0x2 0x3 0x4 0x5>;
                        battery,wireless_charger_name = "mfc-charger";
                        battery,chip_vendor = "QCOM";
                        battery,dchg_temp_check_type = <0x2>;
                        battery,dchg_thermal_source = <0x3>;
                        battery,temp_table_adc = <0x12b22 0x16468 0x1a04e 0x1e3cd 0x233b7 0x2923f 0x2ffbb 0x38079 0x41321 0x4bb53 0x57517 0x64362 0x72459 0x80f5d 0x903c3 0x9f70e 0xae404 0xbc629 0xc91ab 0xd4b03 0xde824 0xe6b56 0xed8a6>;
                        battery,temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                        battery,usb_temp_table_adc = <0x11d28 0x15214 0x18e0e 0x1d395 0x2270b 0x28807 0x2f5ee 0x3790b 0x40e91 0x4b921 0x5771e 0x64961 0x72c4a 0x81a9a 0x90f2a 0xa0602 0xaf643 0xbd228 0xc9c0f 0xd46df 0xde93d 0xe66b0 0xeda6d>;
                        battery,usb_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                        battery,chg_temp_table_adc = <0xea60 0x120fe 0x1605a 0x1a3c4 0x1f430 0x25070 0x2be43 0x33e6a 0x3d0bb 0x478ec 0x53461 0x60488 0x6e595 0x7d1b2 0x8ca3b 0x9c1aa 0xabf5a 0xba35c 0xc7078 0xd2515 0xdcc84 0xe57fd 0xec91b>;
                        battery,chg_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                        battery,wpc_temp_table_adc = <0x12b22 0x16468 0x1a04e 0x1e3cd 0x233b7 0x2923f 0x2ffbb 0x38079 0x41321 0x4bb53 0x57517 0x64362 0x72459 0x80f5d 0x903c3 0x9f70e 0xae404 0xbc629 0xc91ab 0xd4b03 0xde824 0xe6b56 0xed8a6>;
                        battery,wpc_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                        battery,dchg_temp_table_adc = <0x15f90 0x1dc88 0x24a80 0x2c1a2 0x34b18 0x3e6e2 0x49e2a 0x57a1a 0x67188 0x78d9e 0x8d786 0xa3cec 0xbbdd0 0xd5108 0xeffbe 0x10a54a 0x125400 0x13d4e4 0x154374 0x168432 0x17971e 0x187c38 0x193caa>;
                        battery,dchg_temp_table_data = <0x384 0x352 0x320 0x2ee 0x2bc 0x28a 0x258 0x226 0x1f4 0x1c2 0x190 0x15e 0x12c 0xfa 0xc8 0x96 0x64 0x32 0x0 0xffffffce 0xffffff9c 0xffffff6a 0xffffff38>;
                        battery,charging_limit_current_by_tx_gear = <0x320>;
                        battery,standard_curr = <0x119e>;
                        battery,max_charging_charge_power = <0x61a8>;
                        battery,high_temp_float = <0x1068>;
                        battery,low_temp_float = <0x1130>;
                        battery,chg_ocp_current = <0x0>;
                        battery,chg_ocp_dtc = <0x64>;
                        battery,wpc_step_limit_temp = <0x168 0x15e>;
                        battery,wpc_step_limit_fcc = <0xc4e 0xc4e>;
                        battery,wpc_step_limit_fcc_12w = <0xc4e 0xc4e>;
                        battery,wpc_step_limit_fcc_15w = <0x898 0xa28>;
                        battery,health_condition = <0x384 0x4b 0x4b0 0x41 0x5dc 0x37>;
                        battery,step_chg_type = <0x0>;
                        battery,dc_step_chg_type = <0xe9>;
                        battery,dc_step_chg_charge_power = <0x55f0>;
                        battery,dc_step_chg_step = <0x3>;
                        battery,dc_step_chg_cond_vol = <0x1036 0x10c2 0x1130>;
                        battery,dc_step_chg_val_vfloat = <0x1036 0x10c2 0x1130>;
                        battery,dc_step_chg_val_iout = <0x15a4 0x15a4 0x119e>;
                        battery,dc_step_chg_iin_check_cnt = <0x3>;
                        battery,dc_step_chg_cond_soc = <0x14 0x32 0x64 0x14 0x32 0x64 0x14 0x32 0x64 0x14 0x32 0x64 0x14 0x32 0x64>;
                        battery,dis_auto_shipmode_temp_ctrl;
                        battery,tx_stop_capacity = <0x1e>;
                        battery,tx_minduty_default = <0x14>;
                        battery,tx_minduty_5V = <0x32>;
                        battery,tx_uno_iout = <0x5dc>;
                        battery,tx_mfc_iout_gear = <0x5dc>;
                        battery,tx_mfc_iout_phone = <0x44c>;
                        battery,tx_mfc_iout_phone_5v = <0x12c>;
                        battery,tx_mfc_iout_lcd_on = <0x384>;
                        battery,tx_5v_disable;
                        battery,ttf_hv_charge_current = <0xad7>;
                        battery,ttf_hv_wireless_charge_current = <0x591>;
                        battery,ttf_wireless_charge_current = <0x366>;
                        battery,ttf_dc25_charge_current = <0x1324>;
                        phandle = <0xbb>;
                    };
    1
    I too have been using Accubattery with IFTTT and a smart plug for several years to limit charging to around 75% or so and have found very positive results with battery life extension on every device I’ve used this process on.
    Since getting my S21U in February I have repeatedly asked Samsung tech support if there can be an option added to their Bixby Routines to end battery charging. They currently do provide options for fast charging, super fast charging & fast wireless charging in their Bixby Routines. The question is, would the present hardware configuration support the addition of an option to end charging at a user configured charge level. I have never received a response from Samsung concerning the possibility of adding such a feature to the S21U.
    Maybe if they received a similar request from additional interested users, they would be motivated to look into adding what would be a very useful and valuable feature to their top of the line phone!
    1
    I too have been using Accubattery with IFTTT and a smart plug for several years to limit charging to around 75% or so and have found very positive results with battery life extension on every device I’ve used this process on.
    Since getting my S21U in February I have repeatedly asked Samsung tech support if there can be an option added to their Bixby Routines to end battery charging. They currently do provide options for fast charging, super fast charging & fast wireless charging in their Bixby Routines. The question is, would the present hardware configuration support the addition of an option to end charging at a user configured charge level. I have never received a response from Samsung concerning the possibility of adding such a feature to the S21U.
    Maybe if they received a similar request from additional interested users, they would be motivated to look into adding what would be a very useful and valuable feature to their top of the line phone!
    I don't use AccuBattery. It isn't accurate IMO. I did buy it but it's just in my Google Play library now. And, I use Bixby Routines to notify me when the battery level reaches certain limits I've set. I wish there was a way to get these Bixby notifications to show up on my Fit2 watch.

    This is easy to do if you root. I don't want to root.
    Plus, ASUS and SONY both offer bypass-charging.
    So, clearly, this can be done.

    Samsung should add this to the Battery Guardian app as an advanced setting for "pro-users".

    I already run the phone on the lowest possible settings (720p, 60fps, eye comfort shield, 70%, low power mode, etc.) and use a Bixby Routine to enable a high-quality mode (full resolution, adaptive 120fps, high brightness, 100% CPU, etc.) when I want to turn things up. I did set Thermal Guardian to the lowest setting.

    I have an SD888 S21U.

    Ordinarily, my Android phones die in 4 years max because the battery can't handle a simple app launch without shutting down. Of course, if it's connected to an outlet, it'll run just fine. As the battery degrades, if you draw more power/current from it, it'll fail to maintain voltage and boom: shut-down. I think this has to do with internal resistance building up from degradation.

    This was "my fault" because I would leave the phone on 100% for at least 12 hours a day for 4 years straight. I also may have let it drain down to near 0 once or twice in its later years.

    Now, after understanding Li-ion batteries: I'll replace my phone at year 4. But, I'll do so without having to ever worry about the longevity and quality of my battery at that point.

    Also, if you buy a popular Samsung or iPhone -- you can buy a battery case 3 years into the phone's release date.