Controlling BLE TX Power in nrf52840

Hello,

Currently, I am running a BLE application in my nrf52840 DK. I Need to increase the BLE TX power and for that, I have used the static TX power method via the KConfig macro

CONFIG_BT_CTLR_TX_PWR_PLUS_8=y.

I have used the NRF Connect mobile app to scan my BLE with the above macro and without the above macro and identified the difference in the BLE RSSI.

However, when I flash the same code into one of my custom boards running on nRF52840. However, I am not able to visualize the difference in the BLE RSSI in the same mobile app. 

Is there any other macro that I need to include along with the above macro?

One more thing, I have seen one other macro CONFIG_BT_CTLR_TX_PWR_ANTENNA in the same KConfig file. I wanted to know the difference between these two macros CONFIG_BT_CTLR_TX_PWR_ANTENNA and CONFIG_BT_CTLR_TX_PWR_PLUS_8.

  • Hi,

    Using RSSI to check the TX power isn't very reliable, especially if the antenna on the board haven't been tuned. A better way to check if the TX power is set correctly is to read the TXPOWER register for the radio peripheral.

    This can easily be done using nrfjprog:

    nrfjprog --memrd 0x4000150C

     

    Both CONFIG_BT_CTLR_TX_PWR_PLUS_8 and CONFIG_BT_CTLR_TX_PWR_ANTENNA can be used for setting the TX power. CONFIG_BT_CTLR_TX_PWR_ANTENNA will set the TX power at the antenna, so if a FEM is used it will calculate the required TX power from the SoC based on the TX gain of the FEM to give the final TX power requested using CONFIG_BT_CTLR_TX_PWR_ANTENNA.

    Best regards,

    Bendik

Related