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

Maximizing Scanning Results

Hi,

I have nRF52 dev boards. The device is programmed as a custom beacon. For saving the battery, the device send 3 advertisements at 300ms interval, then sleep for 10 seconds. I would expect 3 scanning results every 11seconds. But the scanning results is much lower than I expected. I tried both on Linux host and Android Phone with nRFConnect app.

What is the explanation for such lower scanning results? How to improve and maximize it?

Thank you,

David

Parents
  • Hi,

    I assume that you are using nRF5 SDK v17.0.2 and the S132 or S140 SoftDevice?

    While advertising sends one packet on each advertising channel for each advertising event, the number of advertisement packets received depends also on the scan parameters (scan interval and scan window), and on any interference with other nearby 2.4 GHz activity. Further, the advertising events actually getting executed may differ from the advertising settings if the device has other radio tasks, or CPU blocking activity such as writing to flash.

    What frequency of scan results do you see, for what scan parameters, and what other tasks (if any) are scheduled on your device?

    Regards,
    Terje

  • Hi Terje,

    Thank you for your reply.

    I tested more and found that this is a complicated issue and related to many factors, as you said.

    I think more likely the scanners on the host side, such as Linux, are not scanning at full window.

    If nRF52840 device sends 1 beacon every 6s, scanning results are 2-5 per minute . Expected to be 10.

    If nRF52840 device sends 3 beacons (300ms apart) every 6s, scanning results are 4-7 per minute . Expected to be 10.

    Thank You,

    David

  • Hi,

    I do not have much to add to that, as scan window shorter than scan interval would easily explain it.

    You could try scanning with another device, such as a smartphone with the nRF Connect app, to compare.

    The best would be to use a BLE sniffer, such as the nRF Sniffer, which scans at 100 % duty cycle and should get most of the advertising events.

    Regards,
    Terje

Reply Children
No Data
Related