ESP32C2 AT command BLE FW, configure tx power
Posted: Thu May 14, 2026 2:51 pm
I'm working with a 2MB ESP32C2 using AT commands, and I have the BLE firmware loaded.
I'm trying to change the transmission power. According to the official guide, this is what it should be:
<ble_adv_power>: RF TX Power of Bluetooth LE advertising. Range: [0,15].
0: -24 dBm
1: -21 dBm
2: -18 dBm
3: -15 dBm
4: -12 dBm
5: -9 dBm
6: -6 dBm
7: -3 dBm
8:0 dBm
9: 3 dBm
10:6 dBm
11:9 dBm
12: 12 dBm
13: 15 dBm
14: 18 dBm
15: 20 dBm
Note
When Wi-Fi is turned off or not initialized, the AT+RFPOWER command cannot set or query the RF TX Power of Wi-Fi. Similarly, when Bluetooth LE is not initialized, the command cannot set or query that of Bluetooth LE, either.
Since the RF TX Power is actually divided into several levels, and each level has its own value range, the value queried by the may differ from the value set by and is no larger than the set value.wifi_poweresp_wifi_get_max_tx_poweresp_wifi_set_max_tx_power
It is recommended to set the two parameters <ble_scan_power> and <ble_conn_power> to the same value as the <ble_adv_power> parameter. Otherwise, they will be adjusted automatically to the value of <ble_adv_power>.
I am using these commands
AT+RFPOWER?[2026-05-14 10:44:30.210] AT+RFPOWER?
[2026-05-14 10:44:30.210] +RFPOWER:0,8,8,8
[2026-05-14 10:44:30.210]
[2026-05-14 10:44:30.213] OK
[2026-05-14 10:44:30.718] AT+RFPOWER=40,15,15,15
[2026-05-14 10:44:30.718]
[2026-05-14 10:44:30.718] OK
[2026-05-14 10:44:31.221] AT+RFPOWER?
[2026-05-14 10:44:31.221] +RFPOWER:0,15,15,15
When I configure the following, the Wi-Fi is 40*0.625. I set the minimum, which is necessary for the command, but it doesn't take it into account because there's no Wi-Fi with this AT firmware.
AT+RFPOWER=<WIFI>,<ble_scan_power>, <ble_conn_power>,<ble_adv_power>.
AT+RFPOWER=40,15,15,15
It tells me it's configured, but when I use AT+BLEADVPARAM... it's set as follows:
[2026-05-14 10:44:36.775] AT+RFPOWER?
[2026-05-14 10:44:36.775] +RFPOWER:0,9,255,255
This sets it to 9 (3dBm). I don't see any command to change it in the registry.
[2026-05-14 10:44:29.703] +SYSMFG:"factory_param","max_tx_power",2,2,40
The registry entry only changes the Wi-Fi power, not the BLE power. I haven't found anything similar.
If you could explain why this is happening, what the response means: [2026-05-14 10:44:36.775] +RFPOWER:0,9,255,255
and how I can correctly configure the BLE tx power.
I'm trying to change the transmission power. According to the official guide, this is what it should be:
<ble_adv_power>: RF TX Power of Bluetooth LE advertising. Range: [0,15].
0: -24 dBm
1: -21 dBm
2: -18 dBm
3: -15 dBm
4: -12 dBm
5: -9 dBm
6: -6 dBm
7: -3 dBm
8:0 dBm
9: 3 dBm
10:6 dBm
11:9 dBm
12: 12 dBm
13: 15 dBm
14: 18 dBm
15: 20 dBm
Note
When Wi-Fi is turned off or not initialized, the AT+RFPOWER command cannot set or query the RF TX Power of Wi-Fi. Similarly, when Bluetooth LE is not initialized, the command cannot set or query that of Bluetooth LE, either.
Since the RF TX Power is actually divided into several levels, and each level has its own value range, the value queried by the may differ from the value set by and is no larger than the set value.wifi_poweresp_wifi_get_max_tx_poweresp_wifi_set_max_tx_power
It is recommended to set the two parameters <ble_scan_power> and <ble_conn_power> to the same value as the <ble_adv_power> parameter. Otherwise, they will be adjusted automatically to the value of <ble_adv_power>.
I am using these commands
AT+RFPOWER?[2026-05-14 10:44:30.210] AT+RFPOWER?
[2026-05-14 10:44:30.210] +RFPOWER:0,8,8,8
[2026-05-14 10:44:30.210]
[2026-05-14 10:44:30.213] OK
[2026-05-14 10:44:30.718] AT+RFPOWER=40,15,15,15
[2026-05-14 10:44:30.718]
[2026-05-14 10:44:30.718] OK
[2026-05-14 10:44:31.221] AT+RFPOWER?
[2026-05-14 10:44:31.221] +RFPOWER:0,15,15,15
When I configure the following, the Wi-Fi is 40*0.625. I set the minimum, which is necessary for the command, but it doesn't take it into account because there's no Wi-Fi with this AT firmware.
AT+RFPOWER=<WIFI>,<ble_scan_power>, <ble_conn_power>,<ble_adv_power>.
AT+RFPOWER=40,15,15,15
It tells me it's configured, but when I use AT+BLEADVPARAM... it's set as follows:
[2026-05-14 10:44:36.775] AT+RFPOWER?
[2026-05-14 10:44:36.775] +RFPOWER:0,9,255,255
This sets it to 9 (3dBm). I don't see any command to change it in the registry.
[2026-05-14 10:44:29.703] +SYSMFG:"factory_param","max_tx_power",2,2,40
The registry entry only changes the Wi-Fi power, not the BLE power. I haven't found anything similar.
If you could explain why this is happening, what the response means: [2026-05-14 10:44:36.775] +RFPOWER:0,9,255,255
and how I can correctly configure the BLE tx power.