The Beacon Interval is how often your beacon transmits its advertising packet. The perfect frequency can be effected by environment, use case, and more.
This is the third in our series of quick guides to help you optimize your beacon network setup and operations. Our first post discussed the optimal Beacon ID strategy for your deployment, and the second talked about Transmission Power.
Today, we will learn about another basic configuration settings you can implement in your beacons, and how this affects your deployment and subsequent operations.
The beacon “Interval” setting determines how often your beacon will transmit its advertising packet (i.e. basically telling nearby devices “I’m here!”) This is usually measured in milliseconds (ms), but can be measured in seconds (s) at the very highest interval ranges.
In practice, however, you’ll generally only be concerned with the differences in milliseconds. There are (as of this writing) not many applications where using a second-long intervals is particularly useful. This may of course change in the future.
The lower your Interval rate (smaller number), the more often the beacon will transmit its advertising packet. As you might expect, this has a dramatic effect on your battery life, as seen in the table below.
You will notice immediately from the table that the current standard for the iBeacon profile (i.e. the settings recommended by Apple) actually causes dramatically reduced battery life. In reality, though, there are many cases where such a low Interval is pretty unnecessary.
It is important to note that the 100 ms interval recommended by Apple is not required. Apple’s justification for using such a setting is based on achieving high signal stability (arguable) and highly accurate indoor positioning (this is actually true.)
It’s worth mentioning, though, that even setting up your beacons to transmit every 100 ms doesn’t mean an iPhone can respond to the signal with the same speed. iPhone calls back every 1 second due to system limitations. Decreasing your interval won’t change that; it’ll only increase the chance that a device manages to grab one signal out of a few transmitted within this second. This might be helpful especially when your users are moving fast or there are many obstacles within a beacon range.
On Android devices, there are no such limitations. Theoretically, you could develop an app that grabs and reacts to the beacon signal in seconds. We don’t recommend that, though, because it can cause a smartphone battery drainage.
In our own lab analysis, we have determined that higher interval settings (over 700 ms) actually cause major issues with signal stability. However, we have also determined that using the 100 ms interval setting, recommended for iBeacon, is actually overkill for this issue.
We’ve determined that 650 ms offers the perfect balance between signal stability and battery life, which is why we use this setting as our default option.
There are some cases where you do actually want to sacrifice your battery life for the sake of indoor positioning accuracy.
How do you make the right choice for your needs? It all depends on how accurately you need to determine the positioning of a device interacting with your beacon network.
The beacon interval can make quite a big difference to positioning accuracy. When positioning a person travelling at normal walking speed, there isn’t much practical difference in accuracy between the 20 ms and 650 ms setting (our default).
However, you can also see that with an Interval of 1000 ms (or 1 second), the positioning accuracy drops substantially, and you cannot tell precisely what path the customer was taking. This may or may not be a big deal for your use case, but it is important to understand the distinction.
We define a low Interval setting as 100 ms or less. There are a few particular cases when using a very low Interval setting is useful (to the point of sacrificing battery life.)
If neither of the above two points are applicable to your use case – then we highly recommend using an interval setting between 250 ms to 400 ms for the majority of deployments. Anything lower than this will quickly drain your battery, and anything higher may have performance issues due to signal instability.
Remember that we use a default beacon Interval of 650 ms, because we find it offers the best balance of performance and battery life in most cases.
Yes, it is true that Apple recommends a 100 ms Interval for the iBeacon profile. Don’t worry about it.
In practice, we find this setting to be very wasteful, and it adds unnecessary hassle when deploying any significant number of beacons. Save yourself the headache and use a higher interval setting.
The 100 ms recommendation from Apple is precisely that—a recommendation, not a requirement. We believe that Apple will eventually agree with us and change the recommendation to something more practical in the real world, and based on actual implementation experience.
Your beacons will still work with iOS devices just fine, regardless of your Interval setting. Actually, they’ll work better in most cases, assuming you use our recommendations.