This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to have a couple hundreds of nrf51822 using S130 advertise at the same time

Hi all,

Short version: I want to make 200 devices using nrf51822 (and S130 v0.5.0-1alpha), all advertising/scanning at the same time, and process RSSI readings for proximity estimation. I'm only interested in short range proximity (<3m), but I'd like to have an estimation as responsive as possible (by advertising as fast as possible). I was successful with 20 devices, but now I wonder about scalability for 10x this number. Has anyone here had experience with this type of scenario and would have advice on the feasibility of it and the best settings I could use (for advertisement speed, tx power,...)?

Longer version: First sorry for how dry my introduction was, but I figured out other people might look for the same question (or not) and a short intro will help them decide if they want to read the rest :) I want to make interactive badges which (roughly) guess how many people are close to you by advertising/scanning and estimating proximity by using rssi readings. I was pretty successful with 25 of those, but I'm concerned about the scalability to 200 of them. My understanding is that there's 3 channels for advertising, the faster everyone want to advertise, the more likely collision will happen. So it's about finding the right balance between responsiveness for the proximity estimation and collision rate.

  1. Is there an easy way to measure collision rate (either by sniffing BLE communication from the pc, or on the chip for adaptive settings) and predict the evolution of collision rate when the number of device/packet increases ?
  2. As I'm only interested in short range proximity, I was thinking of decreasing the power on the antenna -- It's not a big deal if there are 200 badges, if they can only "see" on a 10m radius, and there are never more than 30 devices in that radius. So my second question is : what would happen if a collision happens but out of the two packets colliding, one as a stronger signal than the other. Would error correction be good enough to pick up the strong packet or would it just throw both of them away (I guess the answer is not black or white but more depending on how much one of the packet can be seen as noise)
  3. If anyone has graph or formulas for the two previous question, I'd love to see them :)

Thanks for those reading so far, I'll happily share as much of my findings as I can (as it seem quite a few people are interested in proximity sensing using multiple devices)

Related