Indoor location using multiple gateways and RSSI triangulation

Hi all,

I was wondering if it would be possible to create a rudimentary (indoor) location system using three or more Indoor Gateways and a simple Node sending a ping periodically.

Does the Node transmit to all Gateways in range or does it just pick the one thats closest/latest/…? If a single message is picked up by multiple Gateways, would the data show each Gateway with the respective RSSI for each? This way we could do triangulation, right?

I know there is lengthy discussion about Location by triangulation but this goes more in-depth about using timing between send/receive moments to provide a more precise location. Also it seems to be centered at outdoor long range.

He Mark,
I would say it can, because the node send it’s signal to all off the gateways (that’s the principle off “LoraWan” on the server part (TTN) it will be collect and put together.
If you had done some test by yourself you see it

“time”: “2020-10-05T12:57:29.965672176Z”,
“frequency”: 868.5,
“modulation”: “LORA”,
“data_rate”: “SF7BW125”,
“coding_rate”: “4/5”,
“gateways”: [
“gtw_id”: “ttn-xxxxxxxxx”,
“timestamp”: 3628310891,
“time”: “2020-10-05T12:57:29Z”,
“channel”: 0,
“rssi”: -66,
“snr”: 7.25
“gtw_id”: “eui-58a0cbfffexxxxxxx”,
“timestamp”: 4226068211,
“time”: “2020-10-05T12:57:29.973081111Z”,
“channel”: 0,
“rssi”: -65,
“snr”: 7.75
“gtw_id”: “eui-00800000000xxxx”,
“timestamp”: 2931527723,
“time”: “”,
“channel”: 2,
“rssi”: -71,
“snr”: 8.5
“gtw_id”: “eui-dca632fffexxxxx”,
“timestamp”: 702565321,
“time”: “2020-10-05T12:57:28.954416Z”,
“channel”: 2,
“rssi”: -52,
“snr”: 11

I this example you see the receive off a message in the application over 4 gateway’s.
If you want to do something with it install 3 or more Gateways around(in) your house and make for that a algorithme/calculation or a chart on experience.
I looks me a interesting project, but I have more off these :slight_smile:

1 Like

Not a chance without extensive modelling of the environment and any moving objects within it.
Any obstacles within the environment will influence the radio signal. So if someone stands between the node and a gateway during one transmission and not during the next the signal values will be very different. Then there are reflections to account for which will change when objects move around.

To complicate things even more, even with no changes to the physical environment I’m seeing fluctuation in signal values from one transmission to the next with the same node and gateways. (I happen to have a couple of gateways operational within my home office)

So it might be possible but will require a lot of effort.

Basic LoRaWAN knowledge: yes a node broadcasts any transmission and all receivers within range can receive it. LoRaWAN is not WiFi and does not use beam forming and binding to an accesspoint or anything like it.

1 Like

Thanks for your complete reply.

I understand that triangulation based on RSSI is not ideal. My use case would require about 5-10 meters accuracy. This should be possible right?

Hi @markdegroot, the LoRa Alliance has published a whitepaper on geolocation that includes information about both LoRaWAN RSSI (signal strength) and TDoA (time of arrival).

The paper shows RSSI based geolocation with an accuracy of 1000 to 2000 meters.

Indoor RSSI measurements are likely to be distorted by a number of factors:

  • Device antennae are not omni-directional.
  • Gateway antennae are not omni-directional.
  • Walls will significantly reduce the uplink RSSI at the gateway; typically 10dB to 30dB per wall.

In my opinion it would be an interesting project but unlikely to deliver operationally useful information.


Not ideal is a significant understatement.

Assume your object is 100m away from where the RSSI is being measured. If the signal reduces by a mere 3dB then the object is now majically 140m away. 3dB is a very small RSSI variation. A person obstructing the path could reduce the signal by 10dB, so the object is now 300m away.

Out of doors there are problems too. I often test radio comms in the streets around where I live. There is a location about 300m away from my house, where the signal drops by 10dB if I cross from one side of the road (5m) to another, so on one side of the road I am 300m from home and on the other (5m away) I am 900m from home ?

Possibly things might improve with a lot of gateways and a lot of transmissions to carry out averaging, but thats hardly a TTN compatible application.

1 Like

There is a solution to indoor positioning however;



A other solution could be the Juniper mist platvorm

All the technical responses aside, back to basics with solving the actual problem :wink:

  1. What are you trying to track?
  2. How fast does it move?
  3. How heavy can the tracker be?
  4. How big is the building?
  5. How many floors does the building have?
  6. What is the building made of?
  7. Are there lots of other things moving in the building?

A bit more about my idea:

I want to develop a tracking solution for objects and/or people both indoor and outdoor.
For outdoor GPS would be the go-to solution, using LoRa as the data carrier. This is all clear and beyond the scope of this forum post.

For indoor location I was thinking about using BLE beacons with the Nodes periodically scanning for beacons and reporting their RSSI’s.
Then I saw the Things Indoor Gateway and it got me thinking. With BLE Beacons I would need about 1 beacon per 10 meters to allow each node to receive at least 3 beacons for triangulation.
Using the LoRa signal instead of BLE would kill two birds with one stone. Firstly the LoRa coverage is guaranteed, but more importantly: I’d need fewer “devices” (gateways or beacons) in the building since the LoRa signal carries further than BLE (right?).

Exact position precision is not that important to me. If I can see on which floor and which corridor the Node is, this would be enough. Even an indication of the strongest receiving gateway could achieve this (1 gateway per corridor).


The detail is still somewhat lacking to be able to make any concrete suggestions - particularly if it’s a generic solution that needs to work in a wide range of indoor environments and building structures / levels / materials.

So buy a few TTIGs and a couple of devices and give it a try.

PS, the phrase “LoRa coverage is guaranteed” is invalid in all known languages, human and digital.

1 Like

More realistic is to just say “which is it closest to”

BLE beacon scanners cost about 1/20th of what LoRaWAN gateways do.

Another benefit is that ble has much shorter range than LoRaWAN (especially if tx power is dialled down) which helps a lot with positioning.

802.11mc might be something to look into as an alternative.

Would my idea of using LoRa Gateways make sense battery-wise? The LoRa Node’s won’t have to scan for BLE Beacons. All they’ll do is send a ping every now and then.

Some points to ponder.

Localisation of devices, indoors and outdoors has a great many applications. Where is that wheelchair in the hospital, where is that pallet of items in a factory, where is the supervisor?

A DIYer could put an RF beacon together for maybe £3, made in volume they could be as low as £1 perhaps. Receivers don’t need to be TTN gateways, simple RF receivers could be plugged into a nearby network connection or connected by Wi-Fi. Given we have devices such as the ESP32 these receivers would be cheap too.

Lots of people come up with the ‘idea’ of using RSSI for a good level of localisation, almost along the lines of “no-one has thought of this before”. Over in the Arduino forums its suggested as an ‘idea’ pretty much on a weekly basis.

If low cost localisation systems are viable where are they?

BLE doesn’t have to scan constantly either as you can program it when to do stuff - like when it detects movement.

There are modules that do both LoRa & BLE so you could have the best of both worlds.

In the same filing cabinet I reserve for the NDA’s I signed over the years for someone who’s ultimate idea was “write a copy of FaceBook”.

Hi everyone, I think that the most common industrial approach to this kind of asset/location tracking is UHF RFID. The RFID tags are very cheap (a few cents/pennies) and therefore can be put on almost anything including consumables. The tags do not have batteries so there is no tag-level maintenance.

I have been involved in deploying UHF RFID systems (for livestock traceability) with the backhaul from the RFID reader to central processing over LoRaWAN. It works very well with RFID range up to about 5m depending on the radio and the antenna.

There are also lots of “pistol-style” RFID tag readers for mobile use that backhaul over cellular radio or WiFi. The RFID readers are often built into discrete “airport-security” type gates.

Note: most of the RFID tags and security gates that you see in large retail stores are LF RFID which uses a completely different technology.

Hi All!

First of all, great community! Thanks for helping me out and thinking along!

UHF RFID has also crossed my mind, but given the low range and expensive equipment I don’t see this as a viable option.

For now let’s assume I want to track employees in an office building and wheelchairs in a hospital.

I think the BLE and LoRa approaches are both interesting. I’ll be using LoRa as the communication protocol in both solutions. Here is my pro’s and cons list, feel free to comment and expand the list.

Distribute simple BLE Beacons across the building that emit a ping periodically. The Node will scan for BLE Beacons and report the detected Beacons, battery state and RSSI over LoRa to the application.


  • BLE Beacons are low cost and don’t need any backhaul network connection
  • No dedicated LoRa Gateways required if there already is decent coverage, can be expanded by adding a Gateway if needed
  • Nodes can detect if no BLE Beacons are in range and act on this
  • Precision can be improved by adding more BLE Beacons


  • Many BLE Beacons required to provide full coverage
  • Nodes have to actively scan for BLE beacons periodically, probably impacting battery life (right?)
  • BLE Beacons can run out of battery and have to be serviced
  • No way to know if Beacons run out of battery when no Node picks up their signal

Distribute LoRa Indoor Gateways across the building. The Node will emit a ping periodically with its battery state which the Gateways will report to the application along with RSSI.


  • With just a few LoRa Gateways full coverage should be achievable, so less equipment in the building
  • Node does nothing more than emit a ping, so battery life should be great (right?)
  • LoRa Gateways have to be powered, so no batteries to replace


  • LoRa Gateways have to be powered and connected to the internet
  • Node cannot detect when it’s out of range of our “own” Gateways
  • Gateways are more expensive

LoRa Cons:

Wheelchair goes to the local park, to the bandstand at the top of the hill, about 1km away, gets line of sight through the window of a 3rd floor window with a gateway - registers ping - no one has the slightest idea where it is.

RSSI, as LoRaTracker says, is the hot solution no-one ships because it hasn’t been shown to work because of physics - LoRa Alliance consider RSSI to be in the 1-2km accuracy range - which is fine for tractors in Kansas but even telling which floor on would be problematic - if the person is one floor up above a gateway, you’re going to have to figure out the profile on the RSSI for that - although probably having the gateways in the same location on each floor may help.

You are definitely in the “buy some stuff, try it out” zone.