How Accurate is Bluetooth Direction Finding?

Bluetooth direction finding promises sub-meter accuracy. In practice, the accuracy varies depending on factors such as the locator hardware quality, radio signal noise, surfaces causing radio reflections, the accuracy of locator placement and beacon orientation. The sophistication of the location engine software in mitigating some of the aforementioned factors can improve the accuracy.

As a guideline, our Location Engine with the Minew G2/AR1 tends to find beacons with a maximum angular error range between 6° to 10°, depending on the above factors. The error in position due to an error in angle gets magnified with distance from the locator. Hence, the accuracy also depends on the distance between the locator and the beacon.

Here are graphs of error vs distance for 6° error and 10° error:

The above accuracies are for hardware such as the Minew G2/AR1 with PCB antennas 50mm apart. It’s expected that greater accuracies might be achieved with hardware having greater inter-antenna distances.

It can be seen that the sub-meter promise has caveats. We have some tips to help reduce angular errors. Averaging data, over time, also reduces angular error with the trade-off of increased latency of detecting location changes. As with all locating technologies, headline performance claims need to be carefully examined and are only achievable in particular situations.

Read about PrecisionRTLS™

Practical Bluetooth AoA Direction Finding Tips

Bluetooth Angle of Arrival (AoA) uses the phase difference of the radio signal hitting multiple antenna to calculate the elevation and azimuth angles to the beacon.

The accuracy is affected by physical aspects and the way the signals are processed. It varies from the order of a few centimetres to about a metre.

Here are some tips to maximise AoA accuracy:

  • Avoid metal objects close to the locators. Try getting better accuracy by adding boxing above locators to move them away from items such as metal beams.
  • Try to arrange that you have locators on all sides of a beacon. You ideally need locators all around the beacon. Accuracy is poor when the angle between beacon and locator is very large. This includes outside the perimeter of the locators where the angles get progressively larger.
  • The best, of the order of centimetres, accuracy is obtained when the beacon is close to a locator. If accuracy is particularly important, consider dropping the locators down with tall ceilings. Don’t drop too far as remember, from the last tip, accuracy is poor when the angle between beacon and locator is very large.
  • For an x, y z location, the worst accuracy is on up-down z axis. This is because all the locators are usually placed at the same height.
  • Accuracy is best when there’s line of sight between the beacon and locator. This favours the placing of locators on the ceiling/roof and beacons on top of items such as pallet loads.
  • While the physical room usually can’t be changed, be aware when testing that an enclosed space such as an office has more reflections and hence less accuracy than, for example, a warehouse.
  • For most systems, adding more locators in the same area produces more location angles that can be used to calculate a more accurate beacon position. Also try to stagger the locators so they are not in line. More data also means systems can also average the data to mitigate radio noise. However, more data means the location engine supports fewer beacons.
  • Another way to average more data, without stressing the location engine, is to filter over time. However, this increases the latency when receiving location updates.
  • Accuracy varies depending on the beacon orientation. The orientation that gives the best accuracy for one direction, say x, isn’t necessarily the best for y. While there’s usually nothing you can do about this, in some controlled scenarios you can arrange fix the beacon orientation to improve accuracy in a particular direction.
  • Too many beacons, in the same area, advertising too regularly causes Bluetooth packet collisions and loss of radio signal reaching locators. Large beacon populations require a longer beacon Bluetooth periodic advertising period that also has the affect of allowing the system to support a larger maximum number of beacons.
  • Accurate site and anchor measurement is important. Inaccurate initial measurement is a common cause of poor system accuracy. Use a laser measure. If you finding it difficult to measure the x, y location of a locator high up, fix a plumb bob line and measure the location at floor level.

Read about PrecisionRTLS™

Why We Created Our Own Bluetooth Engine

In the post on Bluetooth (BLE) vs Ultra-Wideband (UWB) for Locating we mentioned how Bluetooth 5.1 direction finding solutions have been slow to come to the market and how the products that so far appeared all had shortcomings such we weren’t able to recommend them to our customers.

We spent a considerable amount of time (and cost) evaluating AoA solutions and were disappointed with what we found. While the hardware is generally good, the accompanying location engine software was very poor. This was perhaps understandable because software is not necessarily within a hardware manufacturer’s competence.

A location engine converts radio signals from multi-antenna hardware into x, y z location. There are many ways to implement a location engine using different radiogoniometry algorithms of different accuracy and computational complexity. The location engine also needs to filter the incoming data to mitigate the affects of multi-path reception, polarization, signal spread delays, jitter, and noise. It needs to be flexible to using just one locator or multiple locators for more accuracy. It needs to be performant to support the maximum throughput and hence the maximum number of beacons.

In our evaluations, the location engine wasn’t included in some solutions and where it did exist, it didn’t meet the above requirements. We found evaluation kits to be expensive and in some cases were ‘toys’ that demonstrated the principles but weren’t suitable for production. Most systems had vague performance specifications and it wasn’t clear how well they would scale. Most solutions used dongles for copy protection and some had resource limits linked to payment. Documentation tended to be poor, incomplete and require NDA for something that wasn’t at all commercially sensitive. APIs to access the location engine data tended to be incomplete. Systems were inflexible to beacon input rates and assume everyone needs 100ms updates that kills beacon battery life and severely limits the maximum number of tracked assets. Some only supported 2D rather than 3D locating. Some systems relied on applications polling rather than more efficient streaming the output data. The provenance of the software was unknown and whether it was secure, reliable and free of malware.

The above limitations caused too many uncertainties such that there was no way we could specify, demonstrate and supply to clients. It’s for this reason we created our own location engine that’s performant, flexible, accurate, reliable, secure and documented.

Analysis of location angles for a 12 antenna locator
The peak shows the most likely location

The location engine can be used on its own or as part of PrecisionRTLS™ for plotting onto floorplans, alerts and access to historical data.

Bluetooth AoA Direction Finding

There are many scenarios that require accurate tracking of assets and people. Logistics can ensure efficient use of equipment and improve workflows. Manufacturing can locate valuable plant tools, parts and sub-assemblies, improve safety and enable efficient asset allocation. Healthcare can track high value equipment, monitor the location of medicines, save time searching for equipment and monitor vulnerable patients. Facilities can track valuable assets, monitor lone workers, check occupancy levels and automatically locate people or students for safety and evacuation.

New AoA direction finding brings sub-metre tracking to Bluetooth where the main alternative was previously expensive, proprietary ultra-wide band (UWB). AoA direction finding uses receivers, called locators, that have multiple antenna. The differences in phase of the signal arriving from a beacon to each antenna are used to determine the direction.

One locator can be used to determine the location or multiple locators can be used to triangulate a more accurate beacon position.

You can’t use just any beacon. It needs to send a Constant Tone Extension (CTE) for a long enough time to enable the receiver to switch between all the antennas.

Martin Woolley’s excellent Bluetooth Direction Finding Technical Overview provides a deeper explanation of the theory.

The calculation of data from the antennas to angles is called radiogoniometry. This can be performed by the the same microcontroller hardware that’s receiving the radio data, by a gateway or by a separate location engine on a local server or in the cloud. The problem with using the same microcontroller is that it is slow and doesn’t scale well to larger numbers of beacons. Also, it doesn’t know about other locators and so can’t do triangulation when multiple locators see a beacon.

There are many ways to implement the location engine using different radiogoniometry algorithms of different accuracy and computational complexity. The location engine should also filter the incoming data to mitigate the affects of multi-path reception, polarization, signal spread delays, jitter, and noise. It also needs to be performant, ideally using compiled rather than interpreted code, to support the maximum throughput and hence the maximum number of beacons. It should also also provide a streaming rather than polling API to pass data onto system and applications such as real time locating systems (RTLS).

Read about PrecisionRTLS™

Bluetooth Asset Tracking

Bluetooth tags/beacons detect the position of people and assets. Software maps jobs, valuable tools, parts, sub-assemblies and people onto your floor plans or maps.

The main uses are:

  • Searching. Knowing the location of something such as a piece of equipment, parts, stock, pallets, a job or person without ringing round. Locating expensive, shared, equipment so fewer spare assets are required to cover an area.
  • Security. Alerting when people or assets enter or leave an area.
  • Protection. Detecting quantities such as temperature and humidity for sensitive items that can spoil.
  • Process Control. Knowing where things have been. Knowing what happened at a particular location. Knowing when measured values exceeded their expected range.

Bluetooth LE is particularly suitable because it is:

  • Real Time. Better than barcode scans and NFC tags where the data is only as up to date as the last successful manual scan.
  • Compatible. Bluetooth LE works with existing devices such as smartphones, tablets, laptops and desktops.
  • Reliable. Works in electrically noisy situations such as the factory.
  • Inexpensive. Commodity hardware is more affordable than non-standard technologies such as ultra wideband (UWB).

The end result is reduced downtime, less time re-ordering or re-making things that have been lost, optimum productivity and better use of skilled staff doing their job rather than searching for assets and people.

Read about Beacons in Industry and the 4th Industrial Revolution (4IR)

Learn about Asset and Pallet Tracking for Manufacturers

Discover BeaconRTLS™

Read about BluetoothLocationEngine™

Bluetooth AoA Direction Finding Study Finds Limitations

While we wait for products based on Bluetooth 5.1 direction finding to reach the market, researchers in the UK and Italy have performed a study Dead on Arrival: An Empirical Study of The Bluetooth 5.1 Positioning System.

The paper tests the market readiness of the Bluetooth 5.1 direction finding by experimentally evaluating the performance of the AoA mechanism. The authors took Software-Defined Radios(SDR) manufactured by Ettus Research and emulated Bluetooth AoA data in order to assess the potential accuracy and security.

The results show that accurate angular detection is limited to a restricted range:

“Observe that the error is below 85 cm for more than 95% of the positions. However, this is far from meeting the centimetre level accuracy expected by IoT applications, since the absolute positioning error is <10 cm only in 15% of cases. Although offering sub-meter accuracy, is far from achieving centimetre-level precision.”

It was found that a malicious device can easily alter the truthfulness of the measured AoA data by tampering with the packet structure because the Bluetooth 5.1 standard doesn’t enforce any security provisions. The researchers suggest an improvement to the standard, by changing the receiver, so that instead of using one main antenna and switching to the other only for measuring the phase-delay, it keeps the other antenna active for the next packet to be received.

Bluetooth AoA Direction Finding Antenna Design

We have previously mentioned that antenna design is a complex area that will slow the rollout of Bluetooth AoA direction finding solutions. What are the issues?

Theodoros Prokic of the KTH Royal Institute of Technology has a new paper on the Antenna Design for Angle of Arrival Measurement in Access Control Applications (pdf) that explores the antennas needed for two sides of an in an inside-outside scenario.

The paper provides an analysis of the challenges the antenna designer faces when creating an AoA solution. Issues include orientation and polarization, matching, coupling, reflections, phase center, and physical size. Designing and creating antennas can easily lead to inconsistent results due to the affects of hardware, cables and other testing equipment in the vicinity.

New Bluetooth Direction Finding Feature

A new direction finding feature has been released for Bluetooth 5.1 (pdf). Using more than one antenna, as used by Quuppa, allows for direction finding.

The paper on Enhancing Bluetooth Location Services with Direction Finding explains how location services currently use RSSI to estimate the distance. Direction finding introduces more advanced Angle of arrival (AoA) and angle of departure (AoD) techniques into Bluetooth 5.

“Should smartphone vendors choose to include Bluetooth direction finding with AoA support in their products, item finding solutions could be enhanced to provide directional information.”

As with the move from Bluetooth 4 to Bluetooth 5 it’s going to be while before we see (non Quuppa) products with direction finding. This feature requires specific hardware and software. Before that, it needs SDKs from the SoC vendors. Existing smartphones, beacons and gateways won’t be able to be upgraded.

Read about Using Beacons, iBeacons for Real-time Locating Systems (RTLS)

iBeacon Microlocation Accuracy

Customers often ask us the accuracy when locating beacons. In order to get the answer, its necessary to understand different ways of locating and the tradeoffs that are needed to get the different levels of accuracy.

There are two types of locating, received signal strength (RSSI) based and angle of arrival direction finding (AoA).

Locating using RSSI

There are two main scenarios. The first is a where the detector, usually a phone or gateway, is at a known location and the beacon moves. The second is where the beacons are fixed and the detector moves. Either way, the detector receives a unique beacon id and the receiving electronic circuitry provides the strength of the received signal.

The value of the RSSI can be used to infer the distance from the detector to the beacon. The main problem with RSSI is that it varies too much, over time, to be used to accurately calculate distance. The direction also isn’t known when there’s only one beacon and one detector. The varying RSSI, even when nothing is moving, is caused by the Bluetooth radio signals that are reflected, deflected by physical obstacles and interfered with by other devices using similar radio frequencies. Physical factors such as the room, the beacon not uniformly emitting across a range of 360 degrees, walls, other items or even people can affect the received signal strength. How the user holds a detecting phone can affect the effectiveness of the antenna which in turn affects the signal strength.

The varying RSSI can be smoothed by averaging or signal processing, such as Kalman filtering, to process multiple RSSI values over time. The direction not being known can be solved by using trilateration where three gateways (or beacons depending on the above mentioned scenario) are used to determine the distance from three directions and hence determine the 2D location.


The aforementioned physical factors that affect RSSI can be reduced by measuring the actual RSSI at specific locations and hence calibrating the system.

The change of RSSI with distance is greater when the beacon is near the detector. At the outer reaches of the beacon signal, the RSSI varies very little with distance and it’s difficult to know whether the variance is due to a change of distance or radio noise. Hence for systems that use signal processing, trilateration and calibration tend to achieve accuracies of about 1.5m within a shorter range confined space and 5m at the longer distances.

However, such systems have problems. The multiple RSSI values needed for averaging or signal processing mean that you either have to wait a while to get a location fix or have the beacons transmit more often (with a shorter period) that flattens their batteries much sooner. Trilateration requires at least three devices per zone so can be costly and require significant time to setup and maintain. Using calibration is like tuning a performance car. It works well until something small changes and it needs re-tuning. If someone adds a room partition, desk or even something as simple as lots of people in the room, the calibration values become invaid. Re-calibration takes human effort and, pertinently, it’s not always easy to know when it needs re-tuning.

An alternative to trilateration is zoning. This involves putting a detector (or beacon depending on the above mentioned scenario) in each room or zone. The system works out the nearest detector or beacon and can work on just one RSSI value to get a fix quickly. The nearest zone is often all that’s required of most implementations. With zoning, if you need more accuracy in a particular zone you add more detectors in the area to get up to the 1.5m accuracy of other methods. This will obviously be impractical if you need 1.5m accuracy everywhere over a large area.

BeaconRTLS™ area zones

Angle of Arrival Locating

An alternative to trilateration and zoning is more expensive Bluetooth hardware and more complex software that makes use of Angle of Arrival (AoA). Locator hardware with multiple antennas uses Bluetooth Direction Finding to find assets to better than 1m accuracy. Location engine software uses the difference in the time of receiving the signals at multiple antennas to calculate the position. Multiple locators can also be used to cover larger areas and/or improve the accuracy using triangulation.

Unlike RSSI systems where any beacons can be used, locators tend to be tied to using the same manufacturers’ beacons. The complex hardware and software has less throughput and supports fewer beacons. The computing hardware needs to be more powerful. Systems need careful, accurate site measurements to achieve good accuracy.


Choosing a solution just because it is more accurate, rather than needed, will cost significantly more not just in hardware but in software cost, setup effort and maintenance. Work out what accuracy you need and then seek out an appropriate solution.