How to do accurate indoor positioning with Bluetooth beacons?

Bluetooth beacons are small, easy and cost-efficient way to build a connection between the real word and your mobile application. Using beacons for push notifications, coupon delivery and presence detection is fairly straightforward. But if you wish to create accurate indoor positioning with beacons, things get a bit more complex. There are a number of things both from the software development side, and the beacon placement aspect that you need to take into account. That being said, with careful preparations it is possible to reach 1-2metres positioning accuracy also with Bluetooth beacons. Let’s walk through the steps of how to prepare beacon-based indoor positioning for optimum accuracy- whether you are building it from scratch or utilizing the Proximi.io platform.

Bluetooth beacons & Software

Determining location for beacons. Let’s start from the basics. A Bluetooth beacon has no location intelligence built into it. Like their name gives away – they are like lighthouse beacons transmitting Bluetooth signal around them, expecting nearby smart devices to pick it up and understand its meaning. Depending on whether you utilize the iBeacon, Eddystone protocol or some other protocol, your beacons will be either transmitting their UUID, major and minor values or their namespace and instance IDs. In order to turn these values into real-world coordinates, you need to assign each of these beacons physical coordinates either inside your app, or in an external database. Upon comparing the received signal values with your registered beacons and their coordinates, you will be able to get the first, rough position estimate through the RSSI. RSSI stands for Received Signal Strength Indicator which represents a value of the power of a received radio signal. The longer the distance is, the lower the RSSI signal is.

Trilateration. The second most important thing to know is that beacons don’t have a directional antenna – you can only receive an estimation of the distance to the beacon, not from which direction the signal is coming from. In order to understand that, you need to have a line-of-sight to three or more beacons, and compare the RSSI values to each of them. When the beacons are well placed, the calculation pintpoint you to one specific location within the room. Like the term says, you do need a minimum of three beacons for deducting accurate position. One exception to this are narrow corridors or other situations, where you may be able to calculate position between two beacons.

Bluetooth beacons in trilateration

Kalman filters. Unfortunately, even with the best beacon models there are irregularities in the transmitted signal, and it can be further affected by unwanted noise. Therefore, a common solution is to add a set of filters and algorithms on top of the trilateration calculation. Shortly said, Kalman filters are an algorithm that considers the history of the measurements into account. With them a lot of the position jumping can be ceased.

Proximi.io Platform

If you are using the Proximi.io platform, you don’t need to worry about any of the above-mentioned software issues. In nutshell, Proximi.io platform provides you an access to all position technologies through a single SDK and API. Our libraries handle all the logic for beacon positioning, triangulation and filtering automatically in the background. In addition to beacons, you can combine IndoorAtlas, Wi-Fi, GPS and cellular positioning.

Important things to keep in mind, when utilizing Proximi.io platform for beacon-based positioning is that placing the beacons’ positions on the web portal needs to be done very carefully. We recommend linking a detailed floor plan for each floor to assist you in the placing process. If you need further instructions for how to add and place beacons, please visit this link: Part 3. BLE Beacons. While you are adding them, keep in mind that only beacons within the same department are used in the trilateration calculation. If you are aiming to achieve accurate location, add the beacons in the same room or area always under the same department. If your smart device is still struggling to calculate trilateration, make sure you have not switched it off from “Advanced settings”. This can be found under “Manage Applications”.

 

Bluetooth beacons & Physical World

Selecting hardware. Regarding the physical devices you utilize, there are dozens of Bluetooth beacon manufacturers. We highly recommend you to review the technical specifications before making any decisions. You don’t want to end up with beacons with irregular signal or weak battery life. Regarding the protocol you utilize, you can use any of the available options for positioning. However, if you utilize Proximi.io platform, you need to opt for either iBeacon or Eddystone, which are supported by nearly all beacons.

When aiming for great location accuracy results, it’s the best to place the beacons on the walls at around 2m height. When the signal is coming from above, it’s easier for your smart device to receive it. We recommend you to place them somewhere visible, obstacles made of iron and other heavy material can cause disturbance.

Beacon placement. When you are planning where to install the beacons, please find the floor map of the environment. It’ll help you to measure dimensions of the rooms and calculate the number of Bluetooth beacons you’ll need. Start with placing one beacon in each corner of the room. If your square shaped room is larger than the beacon signal’s reach, you need more beacons in between the corners to provide location accuracy of 1-2 meters. When you are working with other than square shaped rooms, we suggest you also to take a look at the floor map and plan the beacon positions there. Make sure that the beacons are less than their signal’s reach away from each other. For example, if you have set their transmission power to equal 30m, preferred maximum distance is 20-25 metres to provide more accurate location. Also make sure that your room is large enough. The location accuracy falls usually between 1 and 2 meters so if your room is too small, your smart phone cannot calculate trilateration.

Here are examples of beacon positions in square shaped room. This picture is representing a large room, where more than one beacon per corner is required.

How to place Bluetooth beacons in a room for optimum trilateration
When you have room large enough and the dimensions of it, something you may want to think of is the indoor-outdoor transition. If you are placing beacons to e.g. a shop, you might want to add one of them right next to the entrance. When a customer with a smart device and your application installed on it enters or exits your shop, the event will be triggered. Besides to this scenario, there are multiple other circumstances where you may want to apply this information. If you are aiming for accurate location in a building with multiple floors, it’s recommended to add beacons right after entering/exiting staircase, escalator or a lift. Your smart device doesn’t understand the differences between the floors itself and that’s why it’s important to place a beacon right after the floor change happens. This is also important for potential wayfinding purposes.

We also recommend you to prioritize your rooms and environment. Do you have some rooms where you possibly don’t need that accurate location, e.g. toilets and storages? If you have these kind of rooms in mind, you can leave them with less beacons.

Pro Tip! If you want to test whether trilateration is possible or not with your current beacon positions, just grab some good old pen and paper and colour the distances! If you are not able to make the triangles between the beacons, most likely trilateration won’t happen. Remember your beacons’ signal strength and range. Happy colouring!

webp-net-gifmaker-3

 

Beacon settings. After you have placed your beacons, it’s good to take a look at their settings. Usually Beacon manufacturers send out their devices with great default settings so if you are lucky, you don’t even need to touch those settings at all. Beacons usually come with an application/web portal that you can use to manage them.

By default the transmission power is usually set somewhere around -4db and the transmission interval around 350 milliseconds maximum. These are good for accurate indoor positioning. If the transmission interval value has been set higher than that, it will weaken the speed and accuracy of the positioning. If you are lacking accurate location of your smart device and beacons have been placed correctly, these settings are something to look at.

 

So what to remember?

1. Place the beacons regularly and evenly in the environment. The number of beacons depends on your environment.
2. Place them on walls, around 2m height.
3. Make sure you have set the preferred settings on the beacons. Pay attention to transmission power & interval.
4. Pay attention to the dimensions of the environment. Keep in mind that the maximum beacon range.

If you want to read more about indoor positioning, please visit this link: How Events Can Benefit From Proximity Analytics – Case: Arctic15. This is a case study about setting up indoor positioning at the old Cable Hall, where the Arctic15 conference was held.

 

 

P.S. Check the video below! This will help you to find your beacon positions. Please subscribe also our YouTube channel here!

45 Comments

  • David JR says:

    Nice GIF and videos about beacon installation.

  • Homan X Huang says:

    Is the beacon came with SDK? How much is each one? Any detail about this beacon. I work with Android Studio. And I want to program with your beacon.

  • Fon Silvers says:

    I’m considering the use of beacons for a workflow environment. Go to Point A, next to Point B, etc. Can I use beacons to guide a person on foot to walk to a location inside a building and then another location and another location, etc.?

  • Rey says:

    Hi, Whats the estimate number of beacons needed to cover the area with 105 m² for instance?

    • Kalle says:

      Hi, Rey! If you are looking to get accuracy of 1-3m, then we would recommend 1 beacon per 50m². But for an area of 105m² to do accurate positioning, it would be beneficial to do trilateration, so 3-4 beacons would be optimal.

  • ehdtmd says:

    I know some company has developed IPS based on Beacon with 1m1s accuracy. Can you tell me your Performance? I would appreciate your reply by email.

    • I will send you a reply over email, but I’ll write my response here as well, in case someone else is interested.

      Our accuracy is generally between 1-2 metres, with position updating by default once every 4 seconds. The difficult things about indoor positioning is getting the positioning to function evenly across different types of buildings, different types of installations, different operating systems and different phone models. Even if you can really fine-tune the setup so that you can get 1 metre accuracy with a high-end phone, taking a second phone into test (particularly if lower-end), will very easily give you different results. We have been working hard on our algorithms to get to a good, reliable accuracy for all kinds of situations and use cases – also taking questions such as battery consumption and network traffic into consideration. In real-life scenarios we have established our current algorithms as the best compromise between these factors.

  • Brandon Sheng says:

    Is it possible to be used outdoor? How long can it cover considering the position accuracy is 1~2m?

    • Kalle says:

      I will send you a reply over email, but I’ll write my response here as well, in case someone else is interested.

      Our accuracy is generally between 1-2 meters indoors if you are using bleutooth beacons. Outdoors we use different positioning source, and that defines the accuracy. With a combination of GPS, Wi-fi and cellular networks, we can get an accuracy of 3-4m outdoors. Do you mind sharing more in detail what you meant by how long we can cover?

  • Ankur says:

    Impressive features.
    If say we need a super accurate setup, with a beacon every 1 metre. Can the accuracy come down to error of few inches or it will still be around a meter.

    • Hi Ankur, with standard mobile devices and Bluetooth beacons it is not possible to achieve greater accuracy that to around 1m. For most use cases this accuracy is sufficient, as depending on how you hold your mobile phone, you already get a degree of variation through that. If your use case would absolutely need a more detailed indoor positioning, and you would be ready to use custom hardware for the project, I recommend checking out UWB or technplogies such as Quuppa, http://quuppa.com/

  • Paul says:

    Hi,

    I am just wondering if you use both Trilateration and Triangulation in your algorythm to get accurate indoor positioning with beacons…
    Do you use both of them?

    • Kalle says:

      Hi Paul, thank you for your question! We use trilateration in our algorithmis, it the method commonly used in any RSSI values.

  • Gene Christian says:

    Can we use the beacons to locate the location of a specific box in a room? Basically we want to have a map in HTML that displays the area of the room and a dot where that specific box is located. Is it feasible using the beacons or not?

    • Hi Gene, our platform is aimed for the positioning of a mobile device. So the way to approach that task would be to attach a mobile device / smart device on the box you want to track. Depending on your use case, this might work for it or not.

  • Jorge Game says:

    Hello guys. I am in a middle in a project with beacons. One of the main goals is reward customers for make actions. Some of this actions demands trigger this rewrard when people are moving in and out of beacons range. I am using sensoro becons 4AA model with a platform (cant say the name) . But the results are not what i looking for. I dont now if is the beacons or the platform. So my queston is: Wich is more important or determining factor to achive accuracy and broadcasting frecuency. The beacons or the platform? and how your platform can contribute on fix beacons flaws on this matters? Thanks and contact me by mail to talk more

    • There can be large variation between beacons, and especially if you are aiming for very accurate indoor positioning, selecting the right model is important. However, we have been using the Sensoro beacon model you describe, and we’ve been very happy with them. Perhaps you could check the beacon configuration to make sure the transmission interval is not too high (max 300ms).

      But I believe in your use case the problem lies in the SDK side. We actually don’t use the beacon sightings alone for triggering anything, but use our own geofencing logic on top of beacons as well. This gives us more reliable results. I’ll email you with some more details.

  • MasterErelf says:

    One way to determine position is to match the data from the unknown location with a large set of known locations using an algorithm such as k-nearest neighbor . This technique requires a comprehensive on-site survey and will be inaccurate with any significant change in the environment (due to moving persons or moved objects).

  • M.Schulz says:

    Please let me know if I can use your platform for follow case:

    I will track the location (+-3m) of some boxes in a production building.
    The boxes goes from one end to other end with a build in crane.

    • Kalle says:

      Hi,

      We offer solutions to track mobile applications on the mobile phones with the accuracy of 1-3m. If you are looking to track mobile phones, then we can help you in your use case. If are looking more for an asset tracking solution so you could check out http://www.Quuppa.com. Hope this helps!

  • Vibe says:

    Hello Kalle,
    It was an wonderful article to know about indoor positioning with beacons. I have couple of questions, please help me to resolve it.
    1. Is it possible to know the distance between the beacon and the person came under the beacon range? if yes, how?
    2. How much accuracy we can have?
    3. Lets say, a shop has installed beacons at desired location, and it is expected that it captures the data of the every individual comes in the shop. So what if customer’s phone Bluetooth is turned-Off. How can we capture the data?

    Thanks
    Regards

    • Hi Vibe,
      Thank you for your comment and questions.
      1. Yes it is, but the reading is not very accurate. Due to fluctioation in the BLE signal, the reading could be easily 10m wrong. With filtering the result can be improved, but just measuring the distance form a single beacon is less reliable than using multiple beacons for trilateration.
      2. With individual beacons I would not promise too much, due to the reason described above. With trilateration, up to 1-2m accuracy could be achieved.
      3. First of all, the requirement for using beacons for this kind of store analytics is that each individual that enters into the store has a corresponding mobile app installed on their phone. If the store has a mobile app that has a large installation base, that could work well for the purpose. It used to be a requirement that the end user mobile phones need to have Bluetoothturned on. However, with the latest iOS and Android operating systems, the device is capable of doing some BLE scanning even when it is turned off. Also, especially Apple is pushing very much towards having all end users having Bluetooth enabled all the time, as a lot of the accessories require it.

      Hope this answered your questions!

  • Muhammad Umair Atiq says:

    Hi,
    how it works ? if i want to track my assets that are change its position in the ware house after every week and the size of ware house is 1km by 2km.
    And i want to see real time indoor position of each and every stocks.

    how it covers a such big area?
    What are the possible solutions ?

  • Isha says:

    May i know what is the best possible accuracy of the beacon if we are considering no signal loss and proper environment?

    • The best possibly accuracy is between 1-2 metres in ideal setup situations. Normally we try to balance the amount of beacons needed in a large installation, and aim for around 2-3 metre accuracy. That works really well with our wayfinding that further improves the accuracy.

  • Noor says:

    Hi ..
    what kind of beacons may I use to determine weather the mobile phone is now inside the room or outside the room ?
    + can beacon change some setting in the phone (e.g. put the mobile in silence mode) ? or we should have an mobile application as an intermediary ?

    • Hi,
      We don’t specialize in the sensor data coming from beacons (temperature etc). I would recommend checking out some of the beacon manufacturers directly regarding this information, e.g. https://store.kontakt.io/next-generation/45-smart-beacon-sb18-3.html.

      A beacon can only act via a mobile application, and it is in fact the mobile application or even some server-level logic that typically reacts to the beacon sighting. Even with a mobile application I believe it is not possible to change phone settings automatically without any user interaction.

  • Henry says:

    Good morning, I have 3 questions about the beacons
    1. In order for it to work, I have to have the mobile bluetooth active, which is something that many people have deactivated, because it consumes a lot of battery.
    2. In order for the message or notification to arrive, I have to have the restaurant app installed, but if I have never been to that restaurant and I go through it, the notification should arrive, but since I do not have the app, it does not work , Right??
    3. If you need to have the app, you have to spread this app, you have to promote it, converse to the client to download it, and this is in all businesses, right?

    • Hi Henry,
      1. Actually with the newest iOS and Android operating system models turning off Bluetooth does not fully turn it off. A phone is still able to use Bluetooth for positioning if it is turned off – just pairing to Bluetooth devices is turned off.
      2. That’s correct.
      3. This is also correct. Our platform provides the best results for companies that already have a popular application – or that are otherwise interested in developing one. We have some amazing partners for that, if you are interested in hearing more.

  • Sonu mishra says:

    Hi,

    This article is really helpful to know about the basics of Beacons. I have some questions related:

    1. I have Proximity Beacons with me which already is provided to me with the inbuilt app from the company. My question is: Can I find the coordinates using Proximity beacons within my room? If so, how?

  • Sangamesh says:

    Hello
    Actually I wanted to know, can I use proximity beacons from estmote for indoor localization? i.e., to find the position or coordinates

  • Boris Todem says:

    hello,
    I have for my University Project 5 to 6 Blueup beacons and a Raspberry pi 3 B +. I wanted thanks to my beacons to be able to locate my Raspberry Pi and any other raspberry that is there (3 in total). I would like to know if I can use your Sdk for this and if yes or I can download it ?

  • Chucky says:

    Hello,
    I have some question about the algorithms:
    1. Can I know how to calculate the distance base on RSSI of beacon ?
    2. To locate position, we need at least 3 beacons but I saw that it just use for 2D map, but in 3D map we need to estimate the height of position so need 4 beacons. Is it correct with your algorithm ?

    • Hi,
      1. The calculation is based on the strength at which the signal is received by the phone. When we know at what strength the beacon is transmitting the signal, we can calculate how far you are from it.
      2. We recommend that beacons are installed at around 2-3m height. The calculation is calibrated for that height. Only if you would need to install the beacons much higher, you would need to specify their installation height in our portal.

  • Zac says:

    Hi there, I am currently doing a university project which aims to help the blind navigate in eateries. Will your SDK be helpful in this case with a beacon purchased elsewhere? Another question would be, would buying a ready-made beacon or making your own BLE Beacon would be a better choice for my scenario?

    Hoping for a reply!
    Thank you!

    • Hi Zac! Our SDK would be perfect for your needs. If you are interested in using our SDK in the project, check out our devkit: https://proximi.io/devkit/ .

      Our SDK works with all beacons, but we want to pre-test beacon models used by our customers to ensure that the hardware is good quality and not causing issues with positioning accuracy. Stable transmission is crucial for the accuracy needed in guiding visually impaired users. I would definitely recommend utilizing existing beacon hardware in your project. Developing the beacons from scratch would be a huge workload for you, and it would be hard to reach the same quality as manufacturers that have worked nearly 10 years on the topic.

  • Ditmar Zuiderwijk says:

    Hi there,

    I’m currently working on a big project for a company where we let vehicles roll out temporary carpets of solar panels on sport fields (max size 110×70 meters). This operation is currently manually, and we are designing a vehicle which can roll the carpets in and out at any time autonomous. To make this possible the vehicles need to drive in a straight-line forward and a straight-line backward with only a deviation of 50 mm from the ideal trajectory line. To accomplish this, we need to know the position of the vehicle at any time. My question for you, is it possible to locate the vehicle with an accuracy of +- 50 mm any where on the field? even when the beacons are on the outer side of the fields (110×70 meters)?

    Hoping for a reply! Thank you!

    Ditmar Zuiderwijk

Leave a Reply