08-16-2021, 08:21 PM
First off, I want to clarify that I'm talking about battery lifespan as in how long the battery keeps holding a charge before it wears out and becomes unusable, not how long the device can run between recharges. For the purposes of this post, I'll refer to the former thing as "battery lifespan" and the latter thing as "runtime".
There's a problem with lithium-ion batteries nowadays, and it's that we've all been lied to about how long they last. They don't actually inherently wear out after only one or two years of service - they just do that when they've been pushed beyond their reasonable limits for charge capacity to squeeze every last possible second of runtime out of the thinnest possible battery. Remember when they used to say that laptop batteries lasted around ten years? Well, they've only grown better since then, not worse; we only get such dramatically worse cell lifespans nowadays because most consumer electronics vendors like advertising big numbers for runtime on a charge and making the thinnest devices they can manage (and they also like selling you a new phone every year). If we only charged our batteries to 80% of their rated capacity and limited discharge to 20% of their minimum charge level, they'd last several times longer, but naturally, the state of hardware and software is not designed to make it easy to do this. While turning off your phone before it reaches 20% may be simple enough, nobody likes babysitting a charging phone to catch it when it passes 80% and take it off the charger - you really need a way to make it cut itself off before then.
The Pinephone does pretty well here, I understand. Its fancy PMIC does let you program in your own charge parameters, and the Linux sysfs interface makes this easy to do from userspace. But it's not the Pinephone that I'm worried about now; it's the Pinebook Pro (and maybe the regular Pinebook; I haven't inspected it as closely).
The Pinebook Pro has a very large, expensive battery in it, and plenty of runtime to spare, which is why I find it very disappointing that it has a hard-wired charge controller that sets the charger cut-off voltage with a pair of resistors - to, if I recall the schematics correctly, around 4.35 volts, which is eye-wateringly high (in my book, 4.1 volts would be much more appropriate, maybe 4.2 at most). Vendors may claim that modern cells are "designed for" higher float voltages, but they're also "designed for" much shorter lifespans than they used to be. The bottom line is that they just do last longer if you treat them better, which is why I think Pine64's designers should really consider picking more conservative charging parameters for these things.
Setting charge thresholds in immutable hardware, as was done with the Pinebook Pro, isn't unacceptable (although a smart PMIC with user-settable values is definitely better), but I think we deserve to have those parameters set to values which prioritize a bit more longevity over out-of-the-box capacity. I mean, it's not Pine64's goal to sell everyone a new Pinebook Pro battery every other year, right? With the way the supply situation tends to be, I would think this idea should practically strike fear into the hearts of a lot of us. I've tried to be careful with my unit's battery, but it's already showing its age only a couple of years later, and holds noticeably less charge than it used to. It doesn't have to be like this. If I had a way to limit charging to 80% of the design capacity, I'd still get 8 hours of runtime on a charge, but would get potentially twice or three times the battery lifespan compared to now. Doesn't that sound like a worthy tradeoff?
If you think I sound like some kind of conspiracy theorist, remember that plenty of enterprise-grade laptops offer battery charge parameter adjustment in their firmware for specifically this reason. The Toughbook I'm writing this post on has a "high-temperature environment" option that limits charging to 80% of baseline capacity - ostensibly to keep the battery from wearing out faster in hot climates, but I have it turned on all the time to keep it from wearing out too fast in general. The Dell XPS series has a way to set thresholds to whatever you want them to be in the setup utility, and Thinkpads let you configure them directly from the OS with SMAPI and such.
My two overall points here are these:
1. I want to see future Pine64 devices prioritize the inclusion of some sort of programmable PMIC/battery controller whose charge profile can be configured. In addition, I think that these chips should be given relatively conservative default charge parameters, so that the users who need to change them are the users who want more runtime at the expense of longevity, and not the users who want their devices to last.
2. I think that it would be worthwhile to make a small revision to current Pine64 devices, namely the Pinebook Pro, to reduce maximum charge voltage in future production models. I won't claim to be experienced here, but surely the retooling costs associated with changing two resistor values are not insurmountably large?
I know that Pine64 devices are only cursory modifications to reference designs - and as such, I do not believe that there was any actual intent to limit the lifespans of our devices here, only a lack of effort to prolong them - but I do think that this would be a very worthwhile and important tweak to make. Batteries are the primary limiting factor on electronic device lifespans in the modern world, and they are severely hampered in devices on the consumer market by factors that quickly amount to nothing more than greed. We don't need to be limited by this here; Pine64 is not a billion-dollar profit-focused corporation and does not need to follow all the same industry trends in the interest of being competitive. Let's do our own thing.
There's a problem with lithium-ion batteries nowadays, and it's that we've all been lied to about how long they last. They don't actually inherently wear out after only one or two years of service - they just do that when they've been pushed beyond their reasonable limits for charge capacity to squeeze every last possible second of runtime out of the thinnest possible battery. Remember when they used to say that laptop batteries lasted around ten years? Well, they've only grown better since then, not worse; we only get such dramatically worse cell lifespans nowadays because most consumer electronics vendors like advertising big numbers for runtime on a charge and making the thinnest devices they can manage (and they also like selling you a new phone every year). If we only charged our batteries to 80% of their rated capacity and limited discharge to 20% of their minimum charge level, they'd last several times longer, but naturally, the state of hardware and software is not designed to make it easy to do this. While turning off your phone before it reaches 20% may be simple enough, nobody likes babysitting a charging phone to catch it when it passes 80% and take it off the charger - you really need a way to make it cut itself off before then.
The Pinephone does pretty well here, I understand. Its fancy PMIC does let you program in your own charge parameters, and the Linux sysfs interface makes this easy to do from userspace. But it's not the Pinephone that I'm worried about now; it's the Pinebook Pro (and maybe the regular Pinebook; I haven't inspected it as closely).
The Pinebook Pro has a very large, expensive battery in it, and plenty of runtime to spare, which is why I find it very disappointing that it has a hard-wired charge controller that sets the charger cut-off voltage with a pair of resistors - to, if I recall the schematics correctly, around 4.35 volts, which is eye-wateringly high (in my book, 4.1 volts would be much more appropriate, maybe 4.2 at most). Vendors may claim that modern cells are "designed for" higher float voltages, but they're also "designed for" much shorter lifespans than they used to be. The bottom line is that they just do last longer if you treat them better, which is why I think Pine64's designers should really consider picking more conservative charging parameters for these things.
Setting charge thresholds in immutable hardware, as was done with the Pinebook Pro, isn't unacceptable (although a smart PMIC with user-settable values is definitely better), but I think we deserve to have those parameters set to values which prioritize a bit more longevity over out-of-the-box capacity. I mean, it's not Pine64's goal to sell everyone a new Pinebook Pro battery every other year, right? With the way the supply situation tends to be, I would think this idea should practically strike fear into the hearts of a lot of us. I've tried to be careful with my unit's battery, but it's already showing its age only a couple of years later, and holds noticeably less charge than it used to. It doesn't have to be like this. If I had a way to limit charging to 80% of the design capacity, I'd still get 8 hours of runtime on a charge, but would get potentially twice or three times the battery lifespan compared to now. Doesn't that sound like a worthy tradeoff?
If you think I sound like some kind of conspiracy theorist, remember that plenty of enterprise-grade laptops offer battery charge parameter adjustment in their firmware for specifically this reason. The Toughbook I'm writing this post on has a "high-temperature environment" option that limits charging to 80% of baseline capacity - ostensibly to keep the battery from wearing out faster in hot climates, but I have it turned on all the time to keep it from wearing out too fast in general. The Dell XPS series has a way to set thresholds to whatever you want them to be in the setup utility, and Thinkpads let you configure them directly from the OS with SMAPI and such.
My two overall points here are these:
1. I want to see future Pine64 devices prioritize the inclusion of some sort of programmable PMIC/battery controller whose charge profile can be configured. In addition, I think that these chips should be given relatively conservative default charge parameters, so that the users who need to change them are the users who want more runtime at the expense of longevity, and not the users who want their devices to last.
2. I think that it would be worthwhile to make a small revision to current Pine64 devices, namely the Pinebook Pro, to reduce maximum charge voltage in future production models. I won't claim to be experienced here, but surely the retooling costs associated with changing two resistor values are not insurmountably large?
I know that Pine64 devices are only cursory modifications to reference designs - and as such, I do not believe that there was any actual intent to limit the lifespans of our devices here, only a lack of effort to prolong them - but I do think that this would be a very worthwhile and important tweak to make. Batteries are the primary limiting factor on electronic device lifespans in the modern world, and they are severely hampered in devices on the consumer market by factors that quickly amount to nothing more than greed. We don't need to be limited by this here; Pine64 is not a billion-dollar profit-focused corporation and does not need to follow all the same industry trends in the interest of being competitive. Let's do our own thing.