One of the problems with using iBeacon and Eddystone beacons is that it’s not easy to predict how long batteries are going to last. Battery life depends not just on the battery capacity but also the transmitted power, advertising interval, beacon processor chip type and whether the beacon has timed transmission. Also, beacons vary from model to model, sometimes even between revisions of the same model. It would be nice to know how much power a particular beacon is going to use and which beacon models are the most power efficient.
We have spent several months looking into how we can measure actual battery use. It’s not that simple. The majority of the power is expended in very short, few millisecond (ms) transmit pulses, inbetween which the beacon goes into low power sleep.
Nordic Bluetooth Advertising
Testing needs to integrate the current used over multiple advertising periods. The test equipment needs to capture this data at sub 1ms precision in order to catch the pulses. The testing also needs to be flexible enough to work for advertising periods from 100ms to 1 sec.
After lots of false starts we now have custom in-house designed test equipment capable of real-time battery current testing. This has enabled us to compare different manufacturers’ beacons having the same configured settings and we can now provide our consultancy clients with beacon battery use data based on their exact configuration settings.
As an example, an interesting test we did was was to compare the Sensoro AA transmitting just iBeacon vs iBeacon at the same time as the 3x Eddystone advertising packets. With only ibeacon @ 760ms, 0dBm advertising, 4 typical alkaline batteries would last 7.7 years. Transmitting all 4 iBeacon and Eddystone frames reduces the battery life to 2.9 years.
Another interesting observation has been that the beacons that have the strongest signals aren’t necessarily the ones using the most battery power. Design of aspects, such as the antenna, contribute to power efficiency.
We now offer case-by-case beacon battery use testing.