BLE Frequency Hopping
Understanding BLE Frequency Hopping
During a connection, both central and peripheral independently compute the next channel using the same algorithm and shared parameters (access address, channel map, event counter). CSA #1 (legacy) uses a simple modular hop; CSA #2 (BLE 5.0) uses a more sophisticated pseudo-random mapping for better uniformity across channels.
The hopping rate equals the connection event rate: at CI = 7.5 ms, the radio hops ~133 times/second. At CI = 1 s, it hops once per second. Each hop moves to a 2 MHz channel, so the signal never dwells on one frequency long enough for sustained interference to cause multiple consecutive packet losses.
unmapped_ch = (last_ch + hop_increment) mod 37
If unmapped_ch is bad: remap to good channel
Hop rate: 1/CI (1-133 hops/s)
Band coverage: 37 × 2 MHz = 74 MHz
BLE vs Classic Hopping
| Parameter | BLE | Bluetooth Classic |
|---|---|---|
| Channels | 37 (2 MHz) | 79 (1 MHz) |
| Hop rate | 1-133/s (CI dependent) | 1600/s |
| AFH | Yes (channel map) | Yes |
| Band | 2400-2480 MHz | 2402-2480 MHz |
| CSA version | #1 (legacy), #2 (5.0) | Basic/Adaptive |
Frequently Asked Questions
CSA #1 vs #2?
CSA #1: simple modular hop. CSA #2 (BLE 5.0): better pseudo-random distribution for more uniform channel utilization. Mandatory for BLE 5.0+ features.
How does hopping prevent interference?
Wi-Fi occupies 10-20 fixed BLE channels. BLE hops every event; most hops land on clean channels. AFH excludes bad channels, keeping PER below 1%.
BLE vs Classic hopping?
Classic: 79 ch, 1600 hops/s. BLE: 37 ch, 1-133 hops/s. BLE's wider channels and AFH provide comparable robustness at much lower power.