This blog is to demo how to do the channel survey and update the channel map at the central role.
Since Softdevice S132/S140 v6.x or later, it has started to support the feature to do the channel survey (Quality of Serivce [QoS]. This feature provides to measure of the energy levels on specify channels. The application level can use those result to make the decision whether update the channel map in order to avoid all noisy / busy channels.
The frequency band of the Bluetooth Low Energy is between 2400 MHz and 2480 MHz. For the connected mode, BLE would use the frequency hopping on between the data channel [0..36].
In order to prevent interference from other 2.4GHz protocol particular Wifi channel, it would be better to do the channel survey and update the channel map (clear /quiet channels).

In the Bluetooth Specification, the channel map update is only requested from the master side.
Step 1: Enable the Channel Survey during the stack init
Step 2: Start the (QoS) Channel Survey
Step 3: Get the Qos Result
Step 4: Update the channel map request from central role
Here is the example code on the Nordic SDK 15.3 .
https://github.com/jimmywong2003/nrf52-central-channel-map-update-with-survey
By press the button 1 on the DK board, the result of channel survey would be shown through RTT terminal.
By press the button 2, the central would send the channel map update to peripheral.
Hi,Jimmy.Thanks to your nice blog entry.
I already downloaded the code and run it,but I can’t view any logs when I press the button through jlink rtt viewer,I can’t find the solution on the internet,could you please help me out,thanks a lot.
sdk version:nRF5 SDK 15.3.0
broad:nrf52840DK
Best Regards,
Hao
LikeLike