Calculating Distance using Estimote Beacons


I am using 3 Estimote beacons for developing an iOS application in which I need to know the exact distance and direction of the device from the beacon.
I have used iOS's CLLocation as well as Estimote's framework but both of them give an incorrect value for the distance. Moreover, the values fluctuate a lot, the beacon even goes into unknown state (accuracy -1.000) a lot of times.

I have also tried to use the formula given here:

Understanding ibeacon distancing

but in iOS, it seems there is no way to get the txPower or measured power of Beacon.

We need the distance to calculate the trilateration.
I have searched a lot but nowhere I found a satisfactory way to find the distance accurately.

Is there any other way which can help me in finding accurately the distance and direction of iOS device from Beacon?

Hi Vikas,

Trilateration is a complicated method to calculate user's position, because doing such calculation based on radio waves (beacons use 2.4 GHz radio waves) is prone to a big margin of error.

You have to consider things like diffraction, multipath propagation, interference and, probably most important, absorption - metal and water are extremely good at blocking radio signals. Therefore, to track location with trilateration you'd need really complex noise cancelling algorithms.

It's important to determine what kind of accuracy do you need - for most use cases it's not really necessary to pinpoint exact user location.


Hello Wojtek,

I agree with you that the exact location cannot be calculated but if i need +/- 1 or 2 meter accuracy for user location what will be the solution for that.


You can try installing more beacons and use them as a cell network, with each beacon being a single cell. Then you'll be able to more accurately track user's movement and location. Keep in mind though that this solution requires higher volume of beacons.

Also, we're already working on our own solution for more accurate indoor navigation, but it's still too early to announce anything specific.


Hello Wojtek Borowic,

Thanks a ton for your quick reply.
Can you please explain about the cell network approach for installing beacon?

Hi there,

It's simply an idea to put a bigger number of beacons in a relatively close proximity. Then each beacon works as a single cell. By knowing in which cell the user is now and in which cells he was previously, you can track his locations.

It's not an easy solution and certainly not a cost-efficient one, but it's not as complex as creating trilateration with proper noise reductions.


This is common in using RFID to determine indoor position years ago.
Try keywords: matrix, rfid, indoor positioning
For example,

Hello Wojtek

Hope you are hale and hearty and doing good.
I was trying to access my beacons after downloading Android Estimote App.
It is not asking for my login credentials in Android app. but it always ask in iOS Estimote app.
It seems it is a major security flaw because if someone deploys the Estimote beacons for product promotion but anybody can intrude into the beacon property using Android Estimote app and change the beacon setting.
Can you please explain?

Vikas Lawania

Hi Vikas,

We're aware of that and are working on both: updating Android and rolling out more security features. Please stay tuned!