0

Is there a way to force a MacBook to stop charging the battery when it hasn't reached 100% and then run off of AC power? There was a way to do with with MagSafe 2 chargers.. What about USB C MacBooks?


I know battery topics are a bit contentious, but hopefully people won't argue about that too much. The best charge level to keep a Li-ion battery is around 40% and I'd like to elongate my battery health when keeping my MacBook stranded on the desk for extended periods of time. I ask also just out of curiosity as this was possible with older MacBooks. I would appreciate it if no one submitted an answer explaining to me why I am wrong—if you want to do this, please view this question as a curious thought from an Mac enthusiast.

  • What is the full marketing name of your Mac? e.g. in about this Mac, MacBook (Retina, 12-inch, Early 2016) – bmike Mar 29 at 21:41
1

As far as I know, there are no available software options for stopping the battery from charging.

Similarly it is not possible to prevent charging (while simultaneously powering the laptop) by taping or otherwise "blocking" some of the pins in the cable, like it were possible for MagSafe 2.

If you're not a programmer and/or hardware engineer, the only practical solution I can think of is to buy a charger with a low wattage. I.e. if you normally use a MacBook Pro with a 96W charger - find a charger with a lower wattage so that it only covers your normal power consumption while using the laptop. This won't exactly prevent the laptop from ever charging the battery, but it would reduce it to a minimum.

If you can live with the laptop running from battery from time to time, I would suggest getting a programmable power plug (like a Phillips Hue Smart Plug or a WiFI enabled plug). Then you can create a small script or program that turn the plug off (and thus your charger), when the battery charge is at 50+% - and similar turns it on when it reaches 30% or lower.

If you do want to try to make a software solution, please keep in mind that many suggestion you see online point to setting an kIOPMChargeInhibitAssertion that will show up when running pmset -g assertions. However that is only useful for very old Macs - current Macs have the charging handled completely by secondary microprocessors. The main CPU and the operating system is not really involved, and thus you cannot stop the battery from charging this way.

This being said, the official recommendation from Apple is to keep batteries at about 50% charge level when storing them. It is not a recommendation that holds when you're actually powering the battery (the computer will completely automatically handle trickle-charging, and ensure that the battery is not in any way "over charged" or something like that).

| improve this answer | |
1

No. You can’t do this.

In fact the Mac, if needed, runs off both battery and AC (mains) to extract the most amount of performance from the machine.

This is all handled by the SMC and there’s nothing in the OS that gives you access to any of it. In fact, not only is there no software access, you can’t even get the technical specifications of the chip itself from Texas Instruments (TI) nor can you purchase it from electronic suppliers - it’s “locked down” by Apple.

As for the battery issue, it’s been asked/answered several times already:

The link you supplied from Battery University is about storing batteries not using them. It’s not realistic or practical to keep batteries charged at that 40% level because you’d be tethered to a power outlet all the time.

So, as I’ve said many times before, since the main factors that govern the lifespan of your battery are cycles and age, use your MacBook for what you bought it for and stop worrying about micromanaging the charging process.

| improve this answer | |
  • It seems as though it is indeed possible to force the MacBook to stop charging using this tool. In fact, I'm using it on my old Mac and it seems to work fine. Do you have a source for "no software access" to the SMC, or am I incorrectly understanding how this tool operates? – Skeleton Bow Jun 5 at 18:26
  • The SMC makes values available to read like fan sppeds and temps. You can write to the SMC because its proprietary. That software is not needed because it’s already handled by the SMC. “80%” charge you’re seeing is not actually 80% in the battery, same as 0% does not mean the battery is flat either. I don’t know why people think the engineers would design aNd just put “raw” unmanaged charging. – Allan Jun 5 at 18:40
  • I'm not sure what you're talking about, but my battery is definitely not close to 100% (after draining it it didn't charge for very long), and it's definitely not charging either. Of course the software is "not needed," but the answer to this question seems to be "yes." – Skeleton Bow Jun 5 at 22:20
  • You can't modify the SMC code at all. Period. What you can do is manipulate the things that it makes visible to the OS. This is how you display temps and manipulate the fans. What this software is "lying" to the SMC about readings it getting about the battery. The closest analogy I can think of is putting your thumb on the scale. – Allan Jun 5 at 22:28
  • What I mean by the software is that your reading of "100%" in actuality is not the true 100% of the battery. Those capacity numbers that Coconut battery and other apps provide are arbitrary. The manufacturer already builds in what the 80% level is and then programs the chip on the battery to report back that level as being 100%. This trend of manually managing battery charging levels is based on myth. – Allan Jun 5 at 22:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .