BLE Advertising and Scanning: How Devices Discover Each Other
Advertising packets, scan responses, and connection setup
Advertising and Scanning
Advertising is how BLE devices announce their presence without an established connection. It is the foundation of device discovery, beaconing, and connectionless data broadcast.
Advertising Channels and Timing
BLE reserves three dedicated advertising channels to avoid ISM band congestion from Wi-Fi:
| Channel | Frequency | Wi-Fi Overlap |
|---|---|---|
| 37 | 2402 MHz | None (below Wi-Fi ch 1) |
| 38 | 2426 MHz | Between Wi-Fi ch 1 and 6 |
| 39 | 2480 MHz | Above Wi-Fi ch 13/14 |
The advertising interval controls how often a device advertises. Shorter intervals increase discoverability but raise average current draw.
| Advertising Interval | Avg current impact | Discoverability |
|---|---|---|
| 20 ms (minimum) | ~1.5 mA | Near-instant |
| 100 ms | ~300 µA | < 1 s |
| 500 ms | ~60 µA | ~1 s |
| 1000 ms | ~30 µA | ~2 s |
PDU Types
Legacy advertising uses four primary PDU types:
- ADV_IND — Connectable, scannable, undirected. Standard type for peripherals.
- ADV_NONCONN_IND — Non-connectable, non-scannable. Used by iBeacon and Eddystone.
- ADV_SCAN_IND — Non-connectable but scannable; allows a scan response.
- ADV_DIRECT_IND — Connectable, directed to a known central.
Each advertising PDU carries up to 31 bytes. A scan response adds another 31 bytes, sent only to active scanning centrals. Passive scanning centrals never trigger scan responses.
Extended Advertising (BLE 5.0+)
Extended advertising overcomes the 31-byte PDU limitation:
| Feature | Legacy Advertising | Extended Advertising |
|---|---|---|
| Max payload | 31 bytes | Up to ~1650 bytes (chained) |
| PHY options | LE 1M only | LE 1M, LE 2M, LE Coded |
| Periodic advertising | No | Yes (periodic advertising) |
| PAWR | No | Yes (PAWR) |
Periodic advertising enables time-synchronized broadcast for Auracast audio and large-scale sensor polling without individual connections.
To configure iBeacon and Eddystone payloads, use the Beacon Configurator. For connection-phase parameters after discovery, see Connection Parameters Optimization.
Frequently Asked Questions
Legacy advertising PDUs support a maximum payload of 31 bytes for the advertising data and an additional 31 bytes in the scan response. BLE 5.0 extended advertising increases this to 254 bytes per chained PDU, and multiple chained PDUs can carry up to 1650 bytes total for non-connectable extended advertising.
A passive scanner only listens to advertising PDUs without sending any requests, minimising its own power consumption and radio exposure. An active scanner sends a SCAN_REQ PDU to connectable or scannable advertisers to solicit a SCAN_RSP containing additional payload data beyond the initial 31-byte advertising frame.
Shorter advertising intervals (e.g., 20 ms) increase discoverability speed but raise average current draw significantly. Common production intervals are 100-1000 ms, balancing battery life against acceptable discovery time. A 1-second interval means a scanner needs up to ~1.3 seconds to reliably detect the device, while current draw drops to single-digit µA average.
Channels 37, 38, and 39 map to 2402 MHz, 2426 MHz, and 2480 MHz. These frequencies were selected to sit in the gaps between the three most widely deployed Wi-Fi channels (1, 6, 11), minimising collision probability in environments where 802.11 and BLE coexist. All advertising PDUs are transmitted on all three channels in sequence.
Yes, our guides range from beginner introductions to advanced topics. Each guide indicates its difficulty level and prerequisites so you can find the right starting point.