Configuring transmission power
You can configure the radio transmitter power (TX power) of your device to increase or decrease the wireless communication range of your device. The radio transmitter power configuration must be modified separately for every wireless technology used in the Matter applications.
TX power settings can have a significant impact on the device’s power consumption when Reducing power consumption in Matter.
Default TX power
The following table lists the default TX power values.
Sample |
Board name |
Output power for Thread (dBm; range from -40 to 20) |
Output power for Bluetooth® LE (dBm; range from -40 to 3 or 8) |
---|---|---|---|
nrf52840dk |
8 |
0 |
|
nrf5340dk |
3 |
0 |
|
nrf7002dk |
3 |
0 |
|
nrf21540dk |
20 |
0 |
|
nrf54l15dk |
0 |
0 |
|
nrf52840dk |
0 |
0 |
|
nrf5340dk |
0 |
0 |
|
nrf7002dk |
0 |
0 |
|
nrf21540dk |
0 |
0 |
|
nrf54l15dk |
0 |
0 |
|
nrf52840dk |
0 |
0 |
|
nrf5340dk |
0 |
0 |
|
nrf7002dk |
0 |
0 |
|
nrf21540dk |
0 |
0 |
|
nrf52840dk |
8 |
0 |
|
nrf5340dk |
3 |
0 |
|
nrf7002dk |
3 |
0 |
|
nrf21540dk |
20 |
0 |
|
nrf54l15dk |
0 |
0 |
|
nrf52840dk |
0 |
0 |
|
nrf5340dk |
0 |
0 |
|
nrf7002dk |
0 |
0 |
|
nrf21540dk |
0 |
0 |
|
nrf54l15dk |
0 |
0 |
Changing TX power for Thread
To change the radio TX power used by the Thread protocol, set the CONFIG_OPENTHREAD_DEFAULT_TX_POWER
Kconfig option to the desired dBm value in a range from -40
to 20
dBm.
The following table lists the maximum output power values in dBm for each board. The maximum value of 20 dBm is only recommended for devices that are using radio Front-End Modules.
Board name |
Min - max TX power (dBm) |
---|---|
nrf52840dk |
-40 to +8 |
nrf5340dk |
-40 to +3 |
nrf7002dk |
-40 to +3 |
nrf21540dk |
-40 to +20 (more information) |
nrf54l15dk_nrf54l15 |
-8 to +8 |
You can provide the desired value also as a CMake argument when building the sample.
To build a Matter sample with a custom Thread TX power in the nRF Connect for VS Code IDE, add the CONFIG_OPENTHREAD_DEFAULT_TX_POWER
Kconfig option variable and the dBm value to the build configuration’s Extra CMake arguments and rebuild the build configuration.
For example, if you want to build for the nrf52840dk/nrf52840
board target with the default Thread TX power equal to 2 dBm, add -DCONFIG_OPENTHREAD_DEFAULT_TX_POWER=2
.
See nRF Connect for VS Code extension pack documentation for more information.
To build a Matter sample with a custom Thread TX power from the command line, add the CONFIG_OPENTHREAD_DEFAULT_TX_POWER
Kconfig option variable and the dBm value to the build command.
For example, if you want to build for the nrf52840dk/nrf52840
board target with the default Thread TX power equal to 2 dBm, run the following command:
west build -b nrf52840dk/nrf52840 -- -DCONFIG_OPENTHREAD_DEFAULT_TX_POWER=2
Changing TX power for Bluetooth LE
To change the radio TX power used by Zephyr’s Bluetooth LE controller, set the CONFIG_BT_CTLR_TX_PWR
Kconfig option to the desired value.
However, you cannot set this config value directly, as it obtains the value from the selected CONFIG_BT_CTLR_TX_PWR_MINUS_<X>
or CONFIG_BT_CTLR_TX_PWR_PLUS_<X>
, where <X> is replaced by the desired power value, in an irregular dBm range from -40
to 3
or 8
dBm (depending on the SoC).
For example, to set Bluetooth LE TX power to +5 dBM, set the CONFIG_BT_CTLR_TX_PWR_PLUS_5
Kconfig option to y
.
Check the Kconfig Reference for the full list of possible values for CONFIG_BT_CTLR_TX_PWR_MINUS and CONFIG_BT_CTLR_TX_PWR_PLUS, as well as their dependencies.
The only exception is the value of 0 dBm, which is set with the CONFIG_BT_CTLR_TX_PWR_0
Kconfig option.
The following table lists the minimum and maximum output power values in dBm for each board.
Board name |
Min - max TX power (dBm) |
---|---|
nrf52840dk |
-40 to +8 ( |
nrf5340dk |
-40 to +3 ( |
nrf7002dk |
-40 to +3 ( |
nrf54l15dk |
-40 to +8 ( |
nrf21540dk |
For multicore boards, the configuration must be applied to the network core image.
You can do this by either editing the prj.conf
file or building the sample with an additional argument, as described in the following tabs.
To build a Matter sample with a custom Bluetooth LE TX power in the nRF Connect for VS Code IDE, add the desired CONFIG_BT_CTLR_TX_PWR
Kconfig option for the network core to the build configuration’s Extra CMake arguments and rebuild the build configuration.
To build for the network core, make sure to add the childImageName_
parameter between -D
and the name of the Kconfig option.
The parameter name varies depending on the devices you are building for.
For example:
If you want to build for Thread devices for the
nrf5340dk/nrf5340/cpuapp
board target with a Bluetooth LE TX power equal to 3 dBm, add-Dmultiprotocol_rpmsg_CONFIG_BT_CTLR_TX_PWR_PLUS_3=y
as the CMake argument.If you want to build for Wi-Fi® devices for the
nrf7002dk/nrf5340/cpuapp
board target with a Bluetooth LE TX power equal to 3 dBm, add-Dhci_ipc_CONFIG_BT_CTLR_TX_PWR_PLUS_3=y
as the CMake argument.
See nRF Connect for VS Code extension pack documentation for more information.
To build a Matter sample with a custom Bluetooth LE TX power from the command line, add the desired CONFIG_BT_CTLR_TX_PWR
Kconfig option for the network core to the build command.
To build for the network core, make sure to add the childImageName_
parameter between -D
and the name of the Kconfig option.
The parameter name varies depending on the devices you are building for.
For example:
If you want to build for Thread devices for the
nrf5340dk/nrf5340/cpuapp
board target with a Bluetooth LE TX power equal to 3 dBm, run the following command:west build -b nrf5340dk/nrf5340/cpuapp -- -Dmultiprotocol_rpmsg_CONFIG_BT_CTLR_TX_PWR_PLUS_3=y
If you want to build for Wi-Fi® devices for the
nrf7002dk/nrf5340/cpuapp
board target with a Bluetooth LE TX power equal to 3 dBm, run the following command:west build -b nrf7002dk/nrf5340/cpuapp -- -Dhci_ipc_CONFIG_BT_CTLR_TX_PWR_PLUS_3=y
Changing TX power for Wi-Fi
Changing TX power for the Wi-Fi protocol is currently not supported.
The maximum TX power for Wi-Fi depends on the frequency band and the modulation used. See Electrical specification for nRF7002 for reference values.
Changing TX power for FEM
The Matter application can support optional radio Front-End Modules. When you work with Matter over Thread, you can control the TX power of the device by configuring the FEM’s TX gain.
By default, the TX FEM gain is handled automatically by the FEM driver.
After setting the desired TX output power, for example using the CONFIG_OPENTHREAD_DEFAULT_TX_POWER
Kconfig option, the radio driver configures the FEM gain to reach the desired value.
However, you can disable this feature and set the FEM gain TX power value manually.
For information about how to do this, read the Developing with Front-End Modules page, in particular Setting the FEM output power with nRF21540.
The RX FEM gain is set to 13 dB by default, so the signal received at the antenna port will gain 13 dB and it will be provided to the SoC.