Most beacons provide a battery level % indication that’s visible in advertising and/or the manufacturer configuration app. It’s also usually visible via a Bluetooth Service Characteristic.
Some observations:
- Lithium batteries (if you are using them) have a very flat voltage profile with a sudden drop off towards the end of their life.
Here’s an example for Energizer Lithium AA:
For a typical CR2032 Lithium coin cell:
- The beacons use very little power over time. If you are measuring over days when batteries last years, you will see very little difference.
- The firmware in the beacon and/or app need to determine what voltage signifies 100%. This can vary by battery type. Some beacons/apps simplify things by using a fixed voltage for 100% such that it’s possible that the voltage is higher than this at the start of the life of the battery. The level will appear to stay at 100% for a long time.
A consequence of the above factors is that you can’t estimate battery life by looking at battery percentage over time. You need to measure current use. We have a previous blog post on this topic.
Battery level can only be used as an indication that the battery is low and should be changed.