Nordic BLE scan

Gavrikov Paul <Paul.Gavrikov@...>

I have a question related to running Zephyr on a Nordic nRF52 DK and BLE:

Using a nRF52-DK2 (pca10040) I want to continously (passive) scan for advertisements, so I set the following params:

struct bt_le_scan_param scan_param = {

               .type       = BT_HCI_LE_SCAN_PASSIVE,

               .filter_dup = BT_HCI_LE_SCAN_FILTER_DUP_DISABLE,

               .interval   = 0x00A0,

                .window     = 0x00A0,


When I look at the energy consuption I see a weird behaviour: The enforced channel switching seems to turn off the radio and restart it every time. Causing a "gap" of different durations. Sometimes such a scan window cannot be established at all before switching to the next channel. This is very different to the implementation of Nordic. Their SoftDevice132 switches channels just like Zephyr but the "gap" between two windows is very short and always of almost the same length (roughly 1.6ms).
Using Zephyr checkout 935d0ce.

Image showing energy profile:


Paul Gavrikov


eMail: Paul.Gavrikov@...



NewTec GmbH

Heinrich-von-Stephan-Straße 8

D-79100 Freiburg

Geschäftsführer: Johannes Werbach, Harald Molle, Ulrich Schwer, Michael Tröscher Registergericht Memmingen - HRB 7236 USt.-IdNr. DE130850199


Join to automatically receive all group messages.