Articles

Battery fully charged notification keeps repeating: why your device bounces between 90 and 100%

A mouse or headset left on its cable can announce a full charge again and again. The level really is moving: here is why, and what a sensible notification should do about it.

Updated September 23, 2026 · Troubleshooting

You plug your wireless mouse in for the evening. An hour later: "Battery fully charged". Ten minutes after that, the same message. Then again. Look at the level and you will often see it going back and forth, 100%, 95%, 100%, 90%, although nobody has touched the cable.

Short answer: nothing is broken. Once full, a device stops charging, its reading slips back a little, and charging starts again, so a naive notification fires every time the level returns to 100%. BatteryOnPC announces a full charge once per real charge instead, and lets you switch that notification off device by device. Below, what is actually going on inside the device.

What happens once the battery is full

A lithium battery is not filled like a glass. The charging circuit pushes current until the cell reaches its full voltage, then stops. It does not hold the cell at the very top permanently, which would wear it faster.

As soon as charging stops, the cell's voltage settles slightly. Most wireless devices estimate their level from that voltage, so the reading slips back from 100% even though almost nothing has been used. Meanwhile the device keeps running: radio, sensor, lighting. When the level has slipped far enough, the charger starts again, brings it back to full, and stops. Round and round, for as long as the cable stays plugged in.

Why it shows as 90% rather than 99%

Few devices report their level to the unit. Many report in steps of 5 or 10 points, sometimes coarser. A slide from 100% to 97% does not exist for them: the next value down is 95% or 90%. That is how a tiny variation turns into a visible jump, and then a jump back.

Why the notification repeats

The simplest rule for a "charge complete" alert goes like this: announce it when the level reaches 100%, and re-arm it as soon as the level drops below 100%. With a device that bounces between 100% and 90% on its cable, that rule re-arms itself every few minutes and announces the same full charge all evening.

The trap is the same for any program that watches battery levels, whatever the brand of the device. A good rule has to tell a real discharge from a small wobble on the charger.

What a sensible rule looks like

  • Only count a new full charge after a real discharge: the level has to have gone clearly down, and stayed down for a while, before the next 100% is announced.
  • Leave a gap between two announcements for the same device, so a wobble can never turn into a string of alerts.
  • Never announce the very first reading: a device that is already full when the program starts has nothing new to tell you.
  • Let each device be switched off separately: you may want the alert for your controller and not for a mouse that lives on its cable.

Such a rule has a small price, and it is fair to state it: plug in a device at 90% and let it reach 100%, and you may not be told, because from the outside that looks exactly like a wobble. The alert is there for the case that matters: a device you drained, then put on charge.

If you just want some peace

Leaving a device on its cable is a situation its charging circuit is built to handle, notification or not. Turning the alert off for a device that is always plugged in simply removes noise.

Since version 2.0.9, BatteryOnPC applies exactly this rule to every device, controllers included: a full charge is announced once, after a real discharge, with at least 30 minutes between two announcements for the same device. And each device has its own "Warn when the battery is fully charged" checkbox in the Notifications tab, ticked by default.