Hardware for my next project has started to arrive, and last week a preview kit of Estimote iBeacons landed on my doorstep. Packed like a fine box of Belgium chocolates, the Polish made iBeacons looked delicious.

Picture of estimote ibeacons in original packaging.

In site-specific theatre performances, I often use virtual beacons by nominating the coordinates of a target location in software (often to trigger audio or video) and then using GPS to work out the proximity of the participant to the virtual beacons. Naturally, using GPS in the measurements mean it is not very accurate and the proximity calculations could be out a far as 15 metres.

To test how the Estimotes stacked up, I wrote a little ranging test app with their SDK so I could measure the distance between a phone and one of their iBeacons.

I laid out a tape measure, put my phone (A Sony Xperia M2) at one end, and the beacon at the 1 metre mark. Took 30 distance readings from the test app, and repeated at 1 metre increments till running out of tape measure. *

Picture estimote, tape measure and phone in experimental setting.

I then used a common GPS accuracy measure, the Distance Root Mean Squared (DRMS) to work out the ranging accuracy. If you are after the raw measurements and stats, you can check out the full dataset and calculations here.

As hinted by the Estimote documentation, I was expecting precision to drop as distance between the phone and the beacon increased.

Chart showing estimote error envelope and how it changes over distance.

Which is exactly what I got, the further away (and the weaker the bluetooth signal), the less accurate the distance measurement became. The above results are probably a ‘best case’ scenario as well, I imagine obstacles and anything that would interfere with the bluetooth signal would lead to an even more radical drop-off in accuracy. You can see at 8 metres, the estimote gave a mean reading of about 7 metres, but could be off by at most 2 metres, with the calculated distance varing from 9 to 5 metres.

Estimote DRMS Results

Actual Distance    Mean Measured Distance    DRMS   
1.0m 1.0m +/- 0.1m
2.0m 2.2m +/- 1.1m
3.0m 3.2m +/- 0.9m
4.0m 3.3m +/- 0.9m
5.0m 3.6m +/- 1.6m
6.0m 6.7m +/- 2.3m
7.0m 6.0m +/- 1.7m
8.0m 7.1m +/- 2.0m

What was startling is how accurate the Estimote is at very close ranges, around 10cm when a metre from the iBeacon. But even to be accurate within 2 metres at a decent distance from the iBeacon was vastly better than what I was getting with GPS and virtual beacons. So, I’m definitely going to continue pushing ahead with the Estimote on the next project.

* The broadcast power for the Estimote iBeacon was left at the factory default, (Weak, -12 dBm) which is good to about 15m. I only had 8m of tape measure, so it seemed like a pretty good place to start.

Edits:

  • 2015/07/09 - Removed duplicated entry from results table.