I have experimented the sigfox geolocation service

Sigfox has announced end of last week the opening of the device Geo-location service. This solution allows to get the location of a device based on its radio signal.

Different announced has been made in this domain by Sigfox and its competitors LoRaWan. The technics in place are not the same and the Sigfox solution is based on BigData.


From the beginning Sigfox was returning a device location based on the signal measured by the different base-stations. This location was previously rounded to the nearest lat/lng degree. This information has a precision of 100km x 150km basically. Even if it was not possible to locate a device precisely, i was interesting to know in what country corner it was located.

With the service launched in February 2017 Sigfox is moving to a more precise location based on radio signal, according to different discussions I had the precision goes from a couple of meters to some kilometers depending on situation, data already gathered at this position, number of antennas …

Basically the solution is based on bigdata analysis : to locate your device, the system takes the received power of each of the network antennas (rssi from the gateways) and analyses these data regarding an history of real known position and rssi combination.

Compared with standard approach using signal propagation and antenna location it sounds really better : in standard models the propagation is really impacted by the possible buildings and mountains interfering the signal path and strength. It is also impacted by the radio quality of the device changing the estimated position based on its real emitted power. The solution based on bigdata allow to avoid all these problem as the model is taking them into account thanks to the historical data used.

The main “problem” of this method is the quantity of data you have to teach your machine learning systems and improve day after day the quality of the solution. I know Sigfox is working for many month now to capture these data and they will also take benefit of its existing user to enrich this database and make the system clever & clever.

According to the quick experimentation I’ve made this weekend, the functionality is really interesting and easy to use (as Usual). For sure you won’t be able with a such solution to track someone or to find your lost keys, but if you want to have a good idea of where is a device, I mean in what city and in what area of the city, it works well. The positive side effect of this is that this solution preserve the user privacy by tracking the device location with a certain error margin saving also the battery power. We can imagine a lots of use cases related to mobility business where you do not need exactly to know where the user is to offer a service. Thanks to ultra-lower cost devices like Wizol / OnSemi you can create tracking devices for less than 10€.

The main element impacting the precision (after the quantity of existing data for this area) is the number of antenna receiving your signal. According the tests I’ve done, the precision is twice better with 7 base-stations receiving the device than 2 of them. This makes sense…

To access this functionality, what is really good is you do not need anything special, your device emits data, you can get its location. The only thing you need is a specific contract to get this access. According to what I know you have to pay an extra to access to this function. I’m not sure I can tell you how much, so you just have to know it is a small percentage of your negotiated price.

Practically, once your account has been set to accept geo-location, you will have a new service callback you can activate :

This call back have 4 important informations

  • latitude
  • longitude
  • radius => precision of the given coordinate
  • sigfox sequense id & time

For each of the message your device will now send, this callback will be fired and you will be able to get the device estimated position like this : (once transformed in my backend)

{ "id" : "xxxxxx", 
  "htime" : "2017-02-19 18:43:46", 
  "time" : "1487529826", 
  "type" :"geoloc", 
  "sigSeq" :"1074", 
  "lat" :"45.78808072048324", 
  "lng" :"3.0837877459367293", 
  "radius" :"zzzzz"

As beta tester, I’m not yet authorized to report the radius data, but in my point of view this feature is a killer 😉


5 thoughts on “I have experimented the sigfox geolocation service

  1. Great to see an application combining real-time data with statistical info to produce something useful. I don’t think the problem of ultra low power outdoor location tracking (I.e. no GPS) on a state or country scale could be solved without that ever growing body of radio path/propagation performance info Sigfox is able to collect.

  2. Hello,
    I’m a student and I’m starting to work with SIGFOX. I followed several steps to making a tracker, but I have difficulty creating the right one callback.I want if I can see the values of the GPS and Temperature i using TD1205p.If you can help i will be happy.Thank you in advance!

    • Take a look to my post on starting with sigfox, you may find good exemple on how to make a callback

  3. Hello,
    Do we need to pay extra fees to activate this geolocation service enabled by Sigfox?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.