Bluetooth LE Scan Parameters


Bluetooth LE scan parameters tell a Bluetooth module how to execute Bluetooth LE scanning and affect scanning speed and power consumption during receiving Bluetooth LE advertisements. These parameters are: scan interval, scan window, and scanning mode.

  • Scan Interval
    In BLE terminology, the scan interval is the duration of time between two consecutive times that the scanner wakes up to receive the advertising messages. This parameter is defined in units of 0.625ms and has a range between 4 and 16384. By default, it is set to 189, which is equivalent to 118.125ms.
  • Scan Window
    The scan window parameter defines how long to scan at each interval. This parameter is defined in units of 0.625ms and has a range between 4 and 16384. By default, it is set to 29, which is equivalent to 18.125ms. The scan window parameter must be equal to or smaller than the scan interval.
  • Scanning Mode
    The scanning mode defines how a BLE receiver collects information about advertising Bluetooth LE devices. There are two scanning modes:
    • Active
      In the active scanning, the radio will request more information once an advertisement is received by sending the scan request, and the advertiser will answer with information like friendly name and supported profiles using scan response.
    • Passive
      In the passive scanning, the BLE radio just listens to other devices advertisements. When one of these advertisements is detected, the radio reports the discovered device and all the advertisement packets.

Microsoft added the ability to set scan parameters only in the latest Windows 11 versions. However, the Bluetooth Framework provides a unique feature that allows your application to specify Bluetooth LE scan parameters even on Windows 10 using just the standard Microsoft Bluetooth driver. Of course, you can always use the BLED112 USB Bluetooth dongle. But the possibility to do this with native Microsoft Bluetooth drivers is a great feature.

Microsoft removed the widely used "hack" that allowed setting scan parameters in Windows 11 24H2. However, the Bluetooth Framework can still do it, even on this Windows version!

In Windows versions newer than Windows 11 24H2, Microsoft added a documented way to set Bluetooth LE scan parameters. However, you can only use two pre-defined settings: Coexistence Optimized and Low Latency. Once again, the Bluetooth Framework helps to avoid this limitation. With it, your application can set any custom scan parameters.

The Bluetooth Framework defines four scan parameter types: Default, Coexistence Optimized, Low Latency, and Custom. If an application selects the Default scan parameter type, the Bluetooth Framework will not modify it and allows the system to choose the scan parameters. If an application selects either the Coexistence Optimized or Low Latency scan parameter type, the Bluetooth Framework applies the system's predefined scan parameters. If an application selects the Custom scan parameter type, the values of the Scan Interval and Scan Window can be set to any custom values.

To learn how to set the Bluetooth LE scan parameters for the wclBluetoothLeBeaconsWatcher, refer to the Beacons sample application in the Bluetooth Framework package. Should you have any questions, please do not hesitate to contact us.