- Experiment Setup
- Impact of the number of beacons
- Impact of scan interval
- Impact of duty cycle
- Impact of advertising interval
- Raw charts
Apple’s iBeacon is set to revolutionize how we interact with physical spaces via our phones. These little “beacons” advertise their location periodically. This in turn allows our phones to sense them in the environment and determine our precise location within any space providing us a highly personalized, location driven experience. But to use iBeacons, our phones need to do extra work to sense them, investing energy that subsequently causes battery drain. In this report, we analyze the battery use for this purpose across phones and chipsets in great detail.
Highlights of this report are:
- Older Android handsets are not optimized for beacon use; but newer handsets are very efficient in sensing beacons and the battery impact of iBeacon scans is minimal.
- Battery life depends a lot on the number of beacons detected in the vicinity. When a phone is scanning for beacons, but no beacons are around, the battery use is much lower.
- The number of scans is just as important as the time spent scanning. In some cases, it is better for the phone to keep scanning than turning the Bluetooth scan OFF and ON again.
- Beacons that advertise themselves more frequently make the phone consume more battery, but facilitate more accurate distance calculation.
Bluetooth Low Energy
iBeacons are essentially Bluetooth low energy (BLE) transmitters. While Apple introduced the concept in mid-2013 for enabling location services driven by iBeacon, the underlying BLE technology has been around for several years and well supported by Android since version 4.3. In this report, we use the terms BLE, iBeacon, and beacon interchangeably.
iBeacons emit (advertise) a low-power signal several times a second. To use these beacons, a phone must scan for all nearby BLE devices. The phone can scan very frequently (say, every second) or only once in a while (e.g., every 30 seconds). Different scan frequencies have varying impact on the battery life as we explore in this report.
Several companies manufacture beacon hardware, and each one ships with a different battery life and default advertising interval (i.e., time between two subsequent emissions of the low-power Bluetooth signal). The image below depicts three different brands of beacons and their associated broadcast advertising rate. Apple recommends an advertising interval of 100ms, but most manufacturers at this point don’t adhere to these recommendation.
We say that a mobile app (phone) has a duty cycle of X% on a scanning interval Y if the app performs a BLE scan every Y seconds for X% of the time (and subsequently does not scan for BLE signals (100-X)% of the time). Thus a 50% duty cycle at 1 second, means that the app scans for BLE signals for 1 second and performs no BLE scan for the next second. Notice, 50% duty cycle at 0.1 second would mean 5 times more the number of scans than 50% duty cycle at 1 second (even though, a single scan only lasts 0.1 seconds). Both number of scans and the time interval of each scan affect battery consumption.
BLE beacons emit a signal every few milliseconds. This time interval is known as the advertising interval. For example, a beacon with 0.1ms advertising interval emits a signal 10 times every second. Different beacon manufacturers use different advertising intervals, usually ranging from 100-750 milliseconds.
In this report we analyze the impact of duty cycles, scanning intervals, and beacon advertising intervals on power consumption of a phone nearby. In order for BLE beacons to enjoy vast adoption their battery impact should be minimal. Our analysis covers a wide range of chipsets and phones.
We focus on Android as it allows us to experiment with different scanning parameters (an iPhone report will be published next). This is the first in a series of studies that will shed light on beacons for different smartphone operating systems, different beacon technologies and different beacon usage scenarios. We examine three different generations of Android handsets running Android 4.4.2, a Nexus 4 a Nexus 5 and a Moto G. While we experimented on several different phones, we report numbers for these three handsets as they are representative of very old, old and newer chipsets. We wrote an application to conduct our tests and collect battery statistics. No other application is running in the handsets (modulo those required by Android to operate). There is no GPS or 3G connectivity enabled. All phones start from the same state, being 100% charged. In what follows, we vary several parameters and observe the impact to the battery consumed by the headsets.
Impact of the number of beacons on battery drain
The first experiment studies impact on battery as we change the number of beacons around the phone. With more beacons, the phone scans more signal (even though the Bluetooth radio is ON for the same amount of time). The table below shows battery drain per hour.
This experiment studies the impact on battery for a 50% duty cycle at 1 second, varying the number of beacons (and thus BLE signals detected) in the vicinity. Baseline refers to normal battery drain without any BLE scans. No beacons refers to the case of scanning for BLE signals without any beacons in the vicinity, but the scanning function on. The case for 7 and 10 beacons refers to the energy drain when the said number of beacons is in the vicinity.
Drain increases with the number of beacons even though the underlying radio is turned on and off at the same schedule. The chip has to conduct more work to recognize and process more signals. In addition, older handsets with older BLE chips (Nexus 4) exhibit larger drain, than newer handsets which are a lot more efficient. Note: Nexus 4 at 10 beacon signals crashes due to a bug in the BLE implementation on the phone. For the new handsets, even aggressive BLE scanning at 10 beacons drains only slightly more than double the battery per hour than normal (no BLE scan). Given that in a practical implementation scanning would not be as aggressive, this means that the battery impact of BLE scan on the new handsets in minimal. This is however not the case for older handsets. With 10 beacons, Nexus 5 battery consumption is 9x the baseline, whereas the same for Moto G is more modest.
Take away message: The number of beacons in the surrounding impacts the battery significantly. Newer handsets are however optimized for this and the battery impact is minimal.
Impact of scan interval on battery drain
In this experiment we study the impact of the scan interval length to battery drain. At a fixed duty cycle, say 50%, a 0.1 second scan interval conducts five times as many BLE scans as at 1 sec scan interval. Note, in both cases, the amount of time the phone is scanning is the same (5 seconds ON and 5 seconds OFF in any 10 seconds) but the number of times the phone switches from Bluetooth ON to OFF is different. We study the impact on battery of a small versus a larger scan interval. For these experiments seven beacons are present and we employ a 50% duty cycle. Table below shows battery drain after 8 hours.
- The number of times a phone has to turn Bluetooth ON/OFF impacts battery consumption significantly. A smaller scan interval means more battery usage.
- After 8 hours, a 0.1 sec scan interval consumes 20% more battery on Nexus 4 (older handsets) than the baseline (no BLE scan).
- After 8 hours, a 0.1 sec scan interval consumes 10% more battery on Moto G (newest handset) than the baseline.
- After 8 hours with 0.1 sec scan interval, the Moto G (newest handset) drains 11% less energy than the Nexus 4 (older handset)
Nexus 4 (older handsets) consume more battery when a BLE scan is happening; their battery consumption is less sensitive to the frequency of BLE scan. For example Nexus 4 after 8 hours of operation drains 14% more battery when a scan takes place every 2 seconds, than when no BLE scan happens. However on Nexus 4, scanning every 0.1 seconds versus scanning every 2 seconds, drains only 6% more battery after eight hours of operation.
The number of scanning requests has larger energy impact on newer handsets (Nexus 5, Moto G) than older handsets. For Moto G the difference between setting the scan interval to 0.1s or 1s is significant, whereas for Nexus 4 the battery use is high even with a large scan interval. But in all cases, even with aggressive scanning, the battery impact is minimal on newer handsets.
Take away message: Battery use is very sensitive to the scan interval. For newer handsets, the battery use is minimal even with aggressive scan interval.
Impact of duty cycle on battery drain
Next, we vary the duty cycle and study the impact on battery drain. The table below shows battery consumption after 5 hours.
We vary the duty cycle at a scanning interval of 1 second and study the impact on battery drain. In this experiment 10 beacons are present and we maintain a duty cycle of 10% (10% time scanning and 90% no scanning activity). The new handset, Moto G exhibits a battery drain of 5% after 5 hours of operation. Compared with the case of no scanning for BLE at all it imposes only a 3% overhead. In contrast, the older handset, Nexus 4 exhibits a battery drain of 19%; this is a 15% overhead compared to the baseline. Even at 50% duty cycle, the battery drain for Moto G is much lower than that for Nexus devices.
Take away message: Duty cycle has modest impact on battery life, and batteries on newer handsets are minimally affected even with aggressive scanning.
Impact of advertising interval on battery drain
Different beacons have different advertising intervals. A short advertising interval (say 100 msec) by Beacon A versus a longer one (say 500 msec) by Beacon B implies that in one second of scanning, Beacon A will be detected 10 times and Beacon B twice by the phone.
Multiple detection of a beacon within the same scan is desirable as it aids in smoothing the signal readings. These signal readings are critical to assessing the precise distance of the beacon from the phone. At the same, multiple signals mean more work required to process the signals, and hence more battery consumption.
In our experiments, as we reduced the advertising interval of the beacon, we noticed modestly higher battery use for our three handsets.
This section has raw charts from our experiments. Model A refers to Nexus 4, B refers to Nexus 5 and C refers to Moto G. Each chart refers to an experiment conducted with one of the three phones, starting with 100% battery for the phone. The x-axis plots the time in number of hours elapsed since the beginning of the experiment. Y-axis plots the corresponding battery charge as it decreases with time. The legend shows the scan intervals and the number of beacons in the vicinity of the phone. For example, “scan 1.1 sleep 9.9 10 beacons” in the legend would mean the phone spends 1.1 seconds scanning for Bluetooth LE, and then spend the remaining 9.9 seconds idling, and there are 10 beacons nearby.
Varying Number of Beacons
First three charts below show battery drain as number of beacons is varied for the three phones. As the number of beacons is increased, the line becomes steeper illustrating faster battery drain.
Varying Duty Cycle
Next three charts below show battery drain as the number of times the scanning function is toggled ON and OFF. Notice that the actual amount of time spent scanning is always 50% of the total time, but the phone exhibits higher battery drain when the scanning is toggled more frequently.
We have conducted a first study on the battery impact of beacons on Android handsets. This is the first of a series of studies, and we will soon be releasing more comprehensive studies covering more phones (including tablets, iPhones and iPads) and beacon hardware.
The promise of beacons to revolutionize applications hinges partly on their minimal energy impact. With these experiments we conclude that newer handsets are optimized for Bluetooth LE and iBeacons and battery impact is minimal even under high stress conditions. This is only going to improve as newer chipsets become available later this year.