How to change radio TX power-ArduinoBLE

Hi,

Since there are obstacles between my peripherals (Nano 33 BLE) and central devices (Nano 33 IoT). The peripherals can be found, but the "Attribute discovery failed" happened frequently. I would like to increase the tx power to see whether it works or not. However, NRF_RADIO->TXPOWER=8 does not work. Does anyone know how to increase the TX power to 8dBm? Thank you very much.

I suppose, that there is some initialization whenever You call routines of ArduinoBLE or whenever background procedures are started via MbedOS.
Because in my use case without ArduinoBLE (Bypassing MbedOS) the power modification works via NRF_RADIO->TXPOWER. I tested it also the other way round with small TX power to check the influence of other BLE devices.
May be You can dig into the ArduinoBLE library and find the parameters to be set, or even a function to set TX power.
I fear, that there are no sources available for the bottom drivers, because it looks like the Nordic software modules (object code) are used by MbedOS.
Good luck.

Some idea:
I'd set TX power in Radio-State DISABLED via NRF_RADIO->TXPOWER. So may be You can check the state with NRF_RADIO->STATE in a loop and set TX power when state is DISABLED.

1 Like

Thank you very much for the professional suggestions. I will dig into the ArduinoBLE library to look for whether any function can achieve it. Many thanks.

I do not believe the code your are looking for is in the ArduinoBLE library. There is lots of binary code included in mbedOS.

Hi Klaus_K,

Many thanks for your kind reminder. Could you suggest how can I do? My central device is at about 3m to the peripheral, but there are some obstacles (walls and metal) between them. The peripheral (Nano 33 BLE) can be found by the central device (Nano 33 IoT), but it failed to discover attributes or during data transmission. Thank you very much.

What is the open air distance you can achieve with your boards? I have seen a few people with issues here in the forum. The main cause were missing components on the Arduino Nano 33 BLEs antenna area. The Nano 33 IoT seems to be mechanically more robust.

I do not believe this can be achieved regularly. The software was likely designed this way by the Arduino team to avoid any issues with non compliance.

Hi Klaus_K, thank you very much. Sorry that I did not test the longest distance it can achieve in the open air. But at the office, the RSSI measured with mobile APP "nRF Connect" is around -70dBm at about 3m distance. There are no obstacles. I checked all components on the antenna area are good. We have several Nano 33 BLE boards, I can confirm it is not the board issue. If the TX Power can be set manually, it may solve my problem. Many thanks for your kind help, Klaus_K.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.