Why We Created Our Own Bluetooth Location 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 BluetoothLocationEngine™ 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.