Wi-Fi localization

Insights on how Sensolus trackers use Wi-Fi technology for localization.

Wi-Fi localization means that the location of a tracker is determined by scanning the MAC addresses of nearby wireless network Access Points (AP's) and resolving the location of these AP MAC addresses using the platform.

How does it work?

Wi-Fi localization makes use of the following principles:

  • Wi-Fi networks are very common in urban and industrial environments.
  • Every Wi-Fi access point has a globally unique MAC address, which can be scanned easily. It does not require knowing the Wi-Fi security credentials or reading the content sent on the network, because merely scanning the AP MAC address does not involve establishing a network connection.
  • Several companies gather the locations of all Wi-Fi MAC addresses into a database, and offer online services to look up the geographical coordinates of these Wi-Fi MAC addresses.
  • Wi-Fi access points aren't moved around often, so they are quite reliable as a location source.


Figure 1. Wi-Fi localization schematic

When a tracker performs a Wi-Fi localization, it will do a short scan for nearby Wi-Fi access points. It sends the MAC address of up to three detected Wi-Fi access points to the Sensolus cloud platform using its communication network (Sigfox or NB-IoT). Very often, more than three access points are detected, so the tracker sends the three MAC address having the strongest signal strength.

The Sensolus platform uses this set of access points to try to determine the location of the device. The platform supports two types of Wi-Fi address resolution:

  • Public Wi-Fi resolution: Resolve the location using external web-services that maintain a global map of Wi-Fi AP locations. Here, public means that these underlying databases are constructed using public data collection (public does not mean this is a freely accessible online service).
  • Private Wi-Fi resolution: Resolve the address using a small private 'database'. This requires that an administrator has uploaded a list of MAC addresses with their location coordinates. The private Wi-Fi database should be used to compensate for possible inaccuracies and shortcomings in the public Wi-Fi resolution services.

Public and Private Wi-Fi resolution

Public Wi-Fi resolution means that the platform passes the set of Wi-Fi MAC addresses to a third-party online Wi-Fi resolution service and receives the location coordinates as response. Such a third-party maintains a global database of Wi-Fi access points locations. These Wi-Fi databases are generally built up by collecting data sent by phones and through dedicated site surveys. Phones are aware of their locations through multiple paths (network and GPS) and they frequently send this information to their platform providers.

It is important to understand that public Wi-Fi resolution is not always accurate: sometimes no location can be returned because the APs are not known in the database, or sometimes an incorrect location is returned because APs have been recently moved and the public database is not yet reflecting this. Mobile phone hotspots and modern car Wi-Fi networks are especially unreliable because they are not stationary. Such Wi-Fi resolution errors become visible to end-users when the location history of an asset suddenly makes large 'jumps' to other locations, that cannot have happened in reality.

Also, the location accuracy through public resolution increases when multiple access points are used. Conversely, when only one AP is used, these services even introduce a large inaccuracy of several hundred meters for privacy reasons.

The Sensolus solution contains several features to improve the accuracy of Wi-Fi resolution:

  • Trackers avoid reporting mobile hotspots access points by ignoring MAC addresses of a set of specific manufacturers.
  • The private Wi-Fi feature can be used. If possible, private Wi-Fi resolution always has priority over public Wi-Fi resolution. Whenever at least one MAC address is found in the private database, this is considered as accurate, and no public Wi-Fi resolution happens.
  • Two public Wi-Fi resolution service providers are used (the second provider is a fall-back when the first cannot return a result).
  • For Sigfox connected trackers, the public Wi-Fi localization resolution is cross-checked with the location of the Sigfox network antenna receiving the message. If the difference is too large (>50 km), then the public resolution result is discarded because it is very likely incorrect. This extra 'jumper filtering' only happens for live messages (not older than 20 minutes, and also not for data integrity messages). This feature is not available on NB-IoT connected trackers because currently the location of the network antenna's is not disclosed.

Wi-Fi resolution differences between Sigfox and NB-IoT

There are some differences between Sigfox and NB-IoT that have some impact on Wi-Fi resolution.

NB-IoT infrastructure providers do not include the identifier or the location of the network antenna where the message was received (theoretically it could be solved, but then power consumption would also increase too much), so, with NB-IoT it is not possible to perform the extra cross-check to filter out erratic 'jumper locations'. That is only available with Sigfox trackers.

With Sigfox, a set of three Wi-Fi addresses is sent in two messages containing 1.5 MAC address each (an individual Sigfox message contains insufficient bytes to send all information in one message).

There is no guarantee that the two associated Sigfox messages both arrive at the same time in the Sensolus cloud platform. The platform will already attempt a private Wi-Fi resolution when the first Sigfox message arrives (so, using only one AP mac address). This can be less accurate , but it is preferable to have this inaccurate location sooner instead of waiting for both messages and delaying the localization information until data recovery is complete. When the second message arrives and now the three APs are known, the platform will perform the Wi-Fi resolution again and update the (previously less accurate) location point.

With NB-IoT trackers, all the three Wi-Fi MAC addresses can be sent using a single NB-IoT message, so this partial processing logic is not applicable.

Note: NB-IoT trackers do not have network locations to validate if a Wi-Fi resolution of the external resolution service is completely wrong (and created strange jumpers when looking at the journey of a tracker). The setting of wrong locations via Wi-Fi AP's typically happens when trackers are on spaces where there are a lot of mobile Wi-Fi access points such as on airports or fairs and event spaces. To limit this mistake to be made by our NB-IoT trackers we only resolve a location via Wi-Fi when at least 2 MAC addresses are recoginized.

Advantages and disadvantages of Wi-Fi localization

Table 1. Advantages and disadvantages of Wi-Fi localization
Advantages Disadvantages
Works both indoors and outdoors, with high density in urban areas. Only works when Wi-Fi access points are available and resolvable.
No extra infrastructure required. In contrast with a successful GPS fix, a Wi-Fi scan with multiple MAC addresses does not necessary result in a location. This makes it for example difficult to define the conditions for the GPS fallback.
Wi-Fi scanning is more energy efficient compared to GPS localization. The tracker does not know its own location, GNSS based region switching is not possible.
Wi-Fi only trackers can be less expensive than GPS equipped trackers. Resolving Wi-Fi access points using public Wi-Fi location services also comes at an associated cost.
As the above-mentioned advantages and disadvantages indicate, it can be particularly useful to use trackers that are configured to use a combination of localization technologies (for example, using Wi-Fi localization when the tracker detects that it is currently indoor because it cannot see sufficient GNSS satellites).

Troubleshooting & tips

Wi-Fi localization often works great, especially in urban environments. Sometimes, however, it may be difficult to understand why or how a particular Wi-Fi location was acquired. Here are some common and less common cases why Wi-Fi localization doesn't work as expected:

  • Resolving of one access point is less accurate: A resolution with 1 access points is always less accurate than with two or three. In rural areas or remote sites, this can happen. Also, for Sigfox trackers, you should understand how the splitting in two messages can cause a Wi-Fi resolution with one access point only.
  • Public location resolving is not perfect: When new access points are installed, or when they are moved, or when mobile hotspots are not detected, they can be wrong. There always is a time delay for these databases to adapt to the new reality.
  • Sigfox bases stations with invalid locations: The platform uses Sigfox antenna locations to filter out unrealistic locations to reduce 'jumpers'. However, if someone deploys Sigfox base stations without setting the correct location, it will cause Wi-Fi resolution of Sigfox trackers to fail more often.
  • Use private Wi-Fi resolution for access points of which you know the location: Your IT department often maintains an inventory of access points, anyway, so it could be easy to request that list and upload it into the Sensolus platform.
  • Most trackers only scan the 2,4Ghz frequency band. This is generally sufficient because most wireless access points are deployed in dual 2,4Ghz and 5Ghz mode for broader compatibility reasons.