January 12, 2021
By Pavel Stankoulov


This is the second part of a three-part blog series that explores micro-location technologies. Part 1 introduced micro-location and provided overview of the current state of the relevant technologies. 

This blog goes deeper into Bluetooth Low Energy (BLE) technology for micro-location and more specifically how Received Signal Strength Indicator (RSSI) values can be used to estimate distance and provide positioning. This is currently the most popular method for micro-location because it is widely supported by the smartphones and there are plenty of cheap beacons supporting this technology. There are challenges related to using the signal strength measurements that are covered here.  

The current smartphones support BLE standard version 4 and 5, which only provide signal strength as the standard distance measurement mechanism. Version 5.1 adds direction-finding as a major new feature that can further improve micro-location. This is covered in Part 3 of this blog series. 

BLE Overview

Bluetooth Low Energy (BLE) is a standard defined by the Bluetooth Special Interest Group. BLE is independent of Classic Bluetooth and the two can coexist. The standard was officially published in December 2009 as part of Bluetooth 4.0 specification. 

BLE is currently supported by all modern smartphones and operating systems (iOS, Android). That is why it is one of the most widely used smartphone based micro-location technologies. In addition, there are many low-cost beacons available from multiple vendors that support BLE and can be used to create micro-location solutions. 

BLE is also used by the recently released contact-tracing framework by Google and Apple. 

In addition to extending the battery life dramatically, one of the big improvements of BLE over Classic Bluetooth is that the devices can broadcast short messages in a connectionless fashion, i.e. devices do not need to be paired. This enables devices to quickly identify each other without user’s intervention. As part of the broadcast message decoding, the BLE software stacks return the Received Signal Strength Indicator (RSSI) value. This value can be used to approximate distance and when measurements from multiple devices are combined, the device position can be estimated with accuracy of 1 to 4 meters (3 to 12 feet). 

As described in Part 3 <provide link> of this blog, with Bluetooth 5.1 standard the accuracy could be further enhanced by using direction-finding capabilities of the devices. As this standard has not yet made into the smartphones, the current micro-location solutions must use Bluetooth 4/5 standard that is based on RSSI measurements. 

This functionality enabled many use cases: 

  • Proximity sensing – lost/forgotten items 

  • Proximity marketing 

  • Access control (Tesla uses BLE for the smartphone-based car key) 

  • Indoor positioning and asset tracking 

  • And many more… 


A beacon is a small battery powered Bluetooth Low Energy (BLE) radio transmitter. It is configured to constantly broadcast messages. The messages typically include some sort of identifier and additional “useful” information. The additional could include URL or another relevant payload.  

Smartphones are capable of scanning for these signals and pass them to the registered applications. 

There are different popular beacon protocols. They all define broadcast messages that include at the minimum the following information: 

  • UUID – universally unique identifier that identifies the device to the receiver 

  • Tx Power – a value that indicates the measured transmission power in dBm at 1 meter from the beacon. This information is typically configured once for the beacon and Is not dynamic. It can be used in conjunction with the received RSSI to calculate the rough distance to beacon. 

Following are the most popular beacon protocols: 

  • iBeacon is a protocol developed by Apple. There are multiple vendors that provide iBeacon compatible beacons. An iBeacon message includes few bytes of additional information. 

  • AltBeacon – is an open source protocol specification similar to iBeacon.  

  • Eddystone – is an open beacon format developed by Google. It is the most flexible and extensible protocol compared to the other beacon protocols. It supports different type of payloads such as: 

  • Eddystone-UID – a unique, static ID with a 10-byte Namespace component and a 6-byte Instance component. 

  • Eddystone-URL – a compressed URL that, once parsed and decompressed, is directly usable by the client. 

  • Eddystone-TLM – contains beacon status and health data. It can be used to detect and diagnose beacon issues remotely. 

  • Eddystone-EID – broadcast an identifier that changes every few minutes. The identifier can be resolved to useful information by a service that shares a key (the Ephemeral Identity Key). 

Google deprecated their beacon platform (as of December 7, 2020), which could affect support for EID and TLM messages. 

Vendors typically include support for multiple protocols in their beacons. Beacons cost between $10 – $30 and are easy to install. Batteries can last from 1 to 5 years, depending on the beacon configuration. 

Beacons usually come with software to allow customer to configure them. The beacon can be configured what information to broadcast, how often and what power level. 

RSSI-based Trilateration

Having beacons placed at fixed known location and by measuring distances based on signal strength, a smartphone can calculate a location using trilateration technique as described below. 

The first step is to convert the measured signal strength (RSSI value) to distance. This is usually done using the formula based on the physical property of the radio waves that their energy decreases exponentially with distance. Based on this, the distance can be calculated as: 


d = 10((P−S)/10N)



  • d – estimated distance in meters 

  • P – beacon broadcast power in dBm at 1 m (Tx Power) 

  • S – measured signal value (RSSI) in dBm 

  • N – environmental factor (usually value between 2 and 4) 


Once the distances to known beacons are estimated, the smartphone can calculate its position in relation to those beacons using technique called trilateration. This is illustrated below: 

There are different methods to calculate position from distances. The simplest one is using the Pythagorean theorem and the known locations of the beacons by solving a system of equations. 

There are other methods such as iterative, statistical (e.g. Particle filter), and others that offer more robustness. Some methods can correct errors by using information from more beacons. 


The currently used RSSI-based approach has many challenges that lead to decreased accuracy and instability. One of the biggest challenges is that the signal strength measurements are sensitive to the environment. Radio signal propagation is affected by reflections, absorption, degradation, etc. 

The graph below shows the actual measurements of the RSSI compared to the ideal expected exponential signal curve. 

As seen, the accuracy of distance estimates gets worse at greater distances. Typically, after 6 m the errors are too big for a an accurate RSSI based solution. 

Also, the receiving smartphone placement affects the signal strength measurements. For example, if the phone in a pocket, in a bag or in the user’s hand will produce different measurements. 

Possible Improvements

BLE based micro-location is well-researched field. There are many academic papers and resources on the internet on how to improve the performance of RSSI-based micro-location. 

Some have to do with better signal strength to distance calculations. They use statistical filters and other common signal-processing methods to correct for the errors. One of the most common filtering approaches is to use signal averaging. With this approach the signal strength is averaged over few measurements. As a result, the error is reduced, but this also increases the reaction time. Beacons need to broadcast messages more often (by sacrificing battery life) to reduce the reaction time.  

Another popular method of improving micro-location accuracy using statistical filters such as Particle filter to estimate the position using multiple successive iterations.  

Yet another approach is to use fingerprinting. With this approach there is an off-line phase, where the signal information is collected for the entire area and unique signature (fingerprint) database is created for each measured position. Then during the actual device estimation phase, the measured signals are mapped to the fingerprint database. This way the position is estimated based on the closest fingerprint position using classical or machine learning algorithms. 

Another way to improve the accuracy is to use more beacons. This increases the chance that the smartphone is closer to a beacon, which leads to lower distance estimation errors. However, after certain number of beacons they start to interfere with each other. 


This blog described the most popular mechanism of micro-location for smartphones using BLE and bacons using the signal strength indicator (RSSI) measurements. It covered the challenges of using RSSI-based distance and position estimation, and possible improvements. With the combination of the mentioned improvement methods a RSSI-based micro-location system using beacons can achieve accuracy of 1-3 meters.  

The next part of the blog series describes the direction-finding features added to Bluetooth 5.1 and how it could change the accuracy of micro-location using BLE. 

Let Abalta Help with Your Micro-Location Needs

To learn more about how Abalta can help solve your micro-location needs, please contact us at info@abaltatech.com.