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)

Light Bulb (FTD)

nrf52840dk

8

0

nrf5340dk

3

0

nrf7002dk

3

0

nrf21540dk

20

0

nrf54l15dk

0

0

Light Switch (SED)

nrf52840dk

0

0

nrf5340dk

0

0

nrf7002dk

0

0

nrf21540dk

0

0

nrf54l15dk

0

0

Lock (SED)

nrf52840dk

0

0

nrf5340dk

0

0

nrf7002dk

0

0

nrf21540dk

0

0

Template (MTD)

nrf52840dk

8

0

nrf5340dk

3

0

nrf7002dk

3

0

nrf21540dk

20

0

nrf54l15dk

0

0

Widow Covering (SSED)

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.

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 (CONFIG_BT_CTLR_TX_PWR_MINUS_40 to CONFIG_BT_CTLR_TX_PWR_PLUS_8)

nrf5340dk

-40 to +3 (CONFIG_BT_CTLR_TX_PWR_MINUS_40 to CONFIG_BT_CTLR_TX_PWR_PLUS_3)

nrf7002dk

-40 to +3 (CONFIG_BT_CTLR_TX_PWR_MINUS_40 to CONFIG_BT_CTLR_TX_PWR_PLUS_3)

nrf54l15dk

-40 to +8 (CONFIG_BT_CTLR_TX_PWR_MINUS_40 to CONFIG_BT_CTLR_TX_PWR_PLUS_3)

nrf21540dk

Handled automatically by the FEM driver

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.

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.