Hi,
Short of redesigning the antenna on the custom board, which is not something we can easily do at this time, is there anything we can try from a configuration perspective to improve the range?
Have you tuned the antenna on your board?
Best regard,
Kaja
My apologies as I did not word that last point correctly. To clarify, the module we are using is the BMD-350 which has a built-in chip antenna. I meant to ask if there is anything we can try before we explore doing a board redesign.
Hi Piotr
Are you pushing a lot of data, or is the issue with range mostly related to the connection dropping?
Do you know what connection parameters you are using?
The connection interval, slave latency and connection supervising timeout parameters can affect the reliability of the link when encountering packet loss.
Did you see any difference in RSSI when increasing the output power using the CONFIG_BT_CTLR_TX_PWR_PLUS_* configuration?
Best regards
Torbjørn
Thank you for getting back to me
Are you pushing a lot of data, or is the issue with range mostly related to the connection dropping?
Yes, we are trying to push lots of data through the links. This works fine on our benches for the 1 central and 5 peripherals (~1m distance) but as soon as the peripherals are about a couple of metres away we see a connections start to drop (usually just 1 will drop but this significantly affects the data we process). We have seen a connection drop when a person walks between the central and peripherals even at a distance of 2 metres or so.
Do you know what connection parameters you are using?
Yes, we are using the default parameters BT_LE_CONN_PARAM_DEFAULT (Connection Interval: 30-50 ms Latency: 0 Timeout: 4 s). Are there any guides on how we can optimize the parameters for our use case (5 peripherals, streaming lots of data and improved range), I have not seen any in the docs. I realize this optimizing means we have to make trade-offs, in our case we can tolerate dropped packets if it means our connections don't drop.
Did you see any difference in RSSI when increasing the output power using the CONFIG_BT_CTLR_TX_PWR_PLUS_* configuration?
I will have to do some additional testing on this to make sure, we did our initial testing with NCS 1.9 which didn't yet support this config option. Although we did try to set the tx_power as per How to set transmit power for BLE in nRF Connect SDK? but found it did not seem to make much difference.
Hi Piotr
In general the range sounds very poor. Even with a sub-optimal antenna you should be able to get 2m of range with a person in between in an indoor scenario, because the signal will reflect off of walls etc without having to go through the body.
Would you say that the range you get when using standard DK's is satisfactory, or is this also too short for your application?
It is possible that you could configure the Bluetooth stack in such a way as to be more robust when sending a lot of data from 5 devices at the same time.
You mention that one link typically breaks while the others remain connected. How much is the throughput going down for the links that don't disconnect?
In other words, will all the links be affected, or is it just the link that disconnects that seem to be affected?
Are the 5 peripherals close together, or placed at different locations?
Do you know if you use the SoftDevice controller or the Zephyr controller for Bluetooth?
Could you try with a shorter connection interval, 15ms for instance, and see if you get a more robust link?
Best regards
Torbjørn