Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Maximum number of elements(Peripherals) under advertise

I am starting analysis for project of  BLE Central device that is only receive broadcasting packet (advertise) from peripherals.

However, it’s unclear to me. I doubt will be worked scanning 1000 peripherals.

Status

- Number of Peripherals  : 1000 advertiser

- Peripherals(advertiser) advertise every 3 seconds.

- I consider to using nRF52840 for Central.

Question

1. Do you think that the nRF52840  can see all peripherals if the installation is composed by 1000 modules sending advertise?

2. Are any of these project possible by nRF52840 ? If no, I'd be highly appreciated if someone could explain the details of the limitation.

Thanks! Hank

Parents
  • I'm not sure how much data you have in these advertisements, but if they are full one packet will be:

    Preamble(1) + Access Address(4) + ADV_NONCONN_IND PDU(39) + CRC(3) = 47 bytes = 376 bits

    And with 1Mbps this means that sending one packet takes 376us. So in 3 seconds a scanner can ideally receive 3s/376us = 7978 packets. I don't know what this number is in practice though.

    But typically you are sending out 3 packets each time, one on each of the advertising channels. And the scanner rotates its scanning through the advertising channels. It is possible to configure the SoftDevice to only advertise on one channel (but this makes you more vulnerable to noise on that channel), but it is not possible for the SoftDevice to scan on one channel (this may come soon though). It may be possible to set up scanning on a single channel by using timeslot (please see this example on GitHub).

    I hope this helps a bit in your statistical analysis of the feasibility of this.

    You could also try to do some simulations with fewer devices, just let them advertise more often, and see how many packets you are able to receive.

Reply
  • I'm not sure how much data you have in these advertisements, but if they are full one packet will be:

    Preamble(1) + Access Address(4) + ADV_NONCONN_IND PDU(39) + CRC(3) = 47 bytes = 376 bits

    And with 1Mbps this means that sending one packet takes 376us. So in 3 seconds a scanner can ideally receive 3s/376us = 7978 packets. I don't know what this number is in practice though.

    But typically you are sending out 3 packets each time, one on each of the advertising channels. And the scanner rotates its scanning through the advertising channels. It is possible to configure the SoftDevice to only advertise on one channel (but this makes you more vulnerable to noise on that channel), but it is not possible for the SoftDevice to scan on one channel (this may come soon though). It may be possible to set up scanning on a single channel by using timeslot (please see this example on GitHub).

    I hope this helps a bit in your statistical analysis of the feasibility of this.

    You could also try to do some simulations with fewer devices, just let them advertise more often, and see how many packets you are able to receive.

Children
No Data
Related