Bluetooth LE scan interval and scan window timing diagram

Bluetooth LE scan parameters tell a Bluetooth module how to execute Bluetooth LE scanning. They affect both scanning speed and power consumption during reception of Bluetooth LE advertisements. There are three parameters: scan interval, scan window, and scanning mode.


Scan parameters

Scan interval

The duration of time between two consecutive times the scanner wakes up to receive advertising messages. This parameter is defined in units of 0.625 ms and has a range between 4 and 16384. The default is 189, equivalent to 118.125 ms.

Scan window

Defines how long to scan at each interval. This parameter is also defined in units of 0.625 ms and has the same range as the interval. The default is 29, equivalent to 18.125 ms. The scan window must be equal to or smaller than the scan interval.

Scanning mode

Defines how a BLE receiver collects information about advertising Bluetooth LE devices. Two modes are available:

  • Active — after an advertisement is received, the radio sends a scan request, and the advertiser responds with information such as the friendly name and supported profiles.
  • Passive — the radio only listens to other devices' advertisements. When an advertisement is detected, the radio reports the discovered device and all advertisement packets without sending a scan request.

Support in Bluetooth Framework

Microsoft added the ability to set scan parameters only in recent Windows 11 versions. The Bluetooth Framework provides a unique feature that allows applications to set Bluetooth LE scan parameters even on Windows 10 using the standard Microsoft Bluetooth driver. The BLED112 dongle also supports this, but the ability to do so with native Microsoft drivers is what makes the feature valuable.

Microsoft removed the widely used workaround that allowed setting scan parameters in Windows 11 24H2. The Bluetooth Framework can still do it on that Windows version.

In Windows versions newer than Windows 11 24H2, Microsoft added a documented way to set Bluetooth LE scan parameters, but only two predefined settings are available: Coexistence Optimized and Low Latency. The Bluetooth Framework removes this limitation and allows any custom values.

The framework defines four scan parameter types:

  • Default — the framework does not modify the parameters and lets the system choose.
  • Coexistence Optimized — the framework applies the system's predefined coexistence-optimized parameters.
  • Low Latency — the framework applies the system's predefined low-latency parameters.
  • Custom — scan interval and scan window can be set to any custom values.

To learn how to set Bluetooth LE scan parameters for the wclBluetoothLeBeaconWatcher class, refer to the Beacons sample application in the Bluetooth Framework package.


Configuring scan parameters

The snippet shows how to set the scan parameter type, scan interval, scan window, and scanning mode before starting the scan. This is taken directly from the Beacons sample.

BeaconWatcher.ScanParametersType := ptCustom;
BeaconWatcher.ScanInterval := 100;
BeaconWatcher.ScanWindow := 50;
BeaconWatcher.ScanningMode := smActive;
BeaconWatcher->ScanParametersType = ptCustom;
BeaconWatcher->ScanInterval = 100;
BeaconWatcher->ScanWindow = 50;
BeaconWatcher->ScanningMode = smActive;
BeaconWatcher.ScanParametersType =
    wclBluetoothLeScanParametersType.ptCustom;
BeaconWatcher.ScanInterval = 100;
BeaconWatcher.ScanWindow = 50;
BeaconWatcher.ScanningMode =
    wclBluetoothLeScanningMode.smActive;
BeaconWatcher.ScanParametersType =
    wclBluetoothLeScanParametersType.ptCustom
BeaconWatcher.ScanInterval = 100
BeaconWatcher.ScanWindow = 50
BeaconWatcher.ScanningMode =
    wclBluetoothLeScanningMode.smActive
BeaconWatcher.ScanParametersType = ptCustom;
BeaconWatcher.ScanInterval = 100;
BeaconWatcher.ScanWindow = 50;
BeaconWatcher.ScanningMode = smActive;

Frequently asked questions

What are Bluetooth LE scan parameters?
They define how a BLE module scans for advertisements and include scan interval, scan window, and scanning mode (active or passive).
Can I set custom scan parameters on Windows 10?
Yes. The Bluetooth Framework provides a unique feature that allows setting custom BLE scan parameters even on Windows 10 using the standard Microsoft Bluetooth driver.
Does Bluetooth Framework still work with Windows 11 24H2 scan restrictions?
Yes. Microsoft removed the old workaround, but the Bluetooth Framework can still apply custom scan parameters, bypassing the limitation.