RSSI readings on different phones (Galaxy S5 & S8 & others)

Today, I noticed these huge differencies between phones’ Bluetooth receivers.

In these tests, I ran Ruuvi FW in RAW mode (0dBm) and listened the broadcasts using Nordic Semiconductor’s nRF Connect Android app.

Samsung Galaxy S5:

Samsung Galaxy S8 (RuuviTag positioned same way as with the S5):

Would be interesting to see what kind of RSSI readings your phone is getting.

Hi Lauri, this is almost like “welcome to business”, isn’t it?:slight_smile: I’ve seen mobile apps compensating RSSI discrepancies up to ±10dBm since the beginning of BLE APIs 4 years ago. I was actually told by mobile developers they need to have lists of top 10/100/1000 phones in their backend DB (or hardcoded in the app) and automatically compensate differences for any RSSI based solution. Sometimes this even changes with Android FW update on given HW! Would be great to validate this with other devs here;)

1 Like

Let’s define a standard setup how to measure/calibrate RuuviTag’s TX power to collect more data?

@otso what do you think? RuuviTag taped to a wall, measured from a meter distance, Eddystone-UID 100ms 0dBm:

Here is some material from other beacon manufacturers:

Sounds great! I would even do static FW build which everyone can update to their HW and measure it. In-room set-up can be tricky, any metal objects which are 1-5m away can disturb the topology, ideally somewhere outdoors, put the beacon to certain height above the ground (1-2m, to be fixed in guideline) and do several measurement in range 1-10m (e.g. 1, 3, 5 and 10). Then it should be enough data to see if devices act “linear” and what would be calibration constant for given HW+FW bundle.