RP2 BLE Tracker
The rp2_ble_tracker component scans for Bluetooth Low Energy advertisements on the
Raspberry Pi Pico W and Pico 2 W — the platform analog of
ESP32 BLE Tracker. It builds on the
RP2040 BLE stack component and loads it automatically.
Scanning is active by default: the tracker sends scan requests asking devices for
more data, and the scan response (which can carry extra data such as some device names)
arrives as a separate advertisement report rather than being merged into the
advertisement. Set active: false under scan_parameters for a lighter passive
scan. The radio is shared
between WiFi and Bluetooth on these boards; the default scan parameters use a 30% duty
cycle to leave the radio mostly free for WiFi.
NOTE
BLE sensor platforms such as ble_presence do not yet bind to this tracker; support
arrives as those platforms migrate to the shared BLE layer in follow-up releases.
NOTE
bluetooth_proxy works with this tracker in
advertisement-only mode — see
Platform Support.
# Example configuration entryrp2_ble_tracker:Configuration variables
Section titled “Configuration variables”-
scan_parameters (Optional): Tune how the scan runs.
- interval (Optional, Time): How often the
radio opens a scan window. The controller accepts 2.5 ms to 10240 ms in 0.625 ms
steps. Defaults to
100ms. - window (Optional, Time): How long the radio
listens within each interval. Must not be larger than the interval; the same range
and step apply. Defaults to
30ms. - duration (Optional, Time): Length of one
scan period. In continuous mode the scan period restarts every
duration; in non-continuous mode the scan stops after this long. Must cover at least three scan intervals. Defaults to5min. - active (Optional, boolean): Whether to send scan requests asking devices for
more data after their advertisement. The scan response arrives as a separate report;
it is not merged into the advertisement. Turning this off saves power on the
advertising devices and radio time on the shared CYW43439. Defaults to
true. - continuous (Optional, boolean): If true, scanning starts at boot and runs
forever. If false, scanning does not start automatically; a scan must be started
from a lambda (
id(my_tracker).start_scan();) and stops again afterduration. Defaults totrue.
- interval (Optional, Time): How often the
radio opens a scan window. The controller accepts 2.5 ms to 10240 ms in 0.625 ms
steps. Defaults to
-
rp2040_ble_id (Optional, ID): Manually specify the ID of the RP2040 BLE component this tracker uses.
-
id (Optional, ID): Manually specify the ID used to reference this component.