BLE Connection parameters choice for multiple connection

Hi

I am looking for an advise about selection of the optimal connection parameters. I am using couple of nrf52832 devices as the nus peripherial. As the central device I use esp32 that acts as gateway. It collects data from NRF peripherial devices. I don't know how to select connection parameters for multiple connection. The maximum payload is 20bytes. The nrf devices collects data and raport it to the ESP32 gateway. There might be a lot of data available. The number of data to send is unpredictable and asynchronous. So the question is how to select connection parameters for this multiple connection? Have you got any expiernce with such problem or have you got some good information source? Is it better to use the shortest connection interval and what consequences brings it for multiple connection.

Thank you in advise for your support.

Parents
  • Hi,

    There is a section in the Softdevice specifications about Suggested intervals and windows. I would recommend you to have a look at this and also the Bluetooth Low Energy data throughput page. The best configuration depends on the number of links and additional roles (advertising/scanning), your latency requirements, throughput requirements, etc.

    Best regards,
    Jørgen

  • I had to read it few times to finnaly undarstand something but still I have got some questions in my head that I cannot figure out.

    So I assumed that if I use 7.5ms event lenght and 4 connection I should set interval as 7.5 * 4 = 30ms or multiple of 30ms. In my system there is no additional roles advertising/scanning. The devices are based on "nus" example with tx, rx services. So I think in this case for 4 connection I should set 30ms interval.

    The throughput should be the fastest possible. I have to transfer all asynchronous data to the ESP32 gateway. So I see here Bluetooth Low Energy data throughput that increasing MTU increases data throughput.

    1. The question for me is: Is there any reason to increase it when maximum data lenght that I send is so far 20bytes? I've found information that increasing mtu shouldn't have negative conequences. Should the connection interval or event lenght increased when I increase MTU?

    2. When I decide to use Connection Event Lenght Extension should I better increase the connection interval from 30ms to 60ms? I don't see possibility to set this in ESP32, so is it enought to set it only in NRF peripherials devices? I can't imagine which side (central or peripherial) decides about this extensions.

    3.. One more thing, the number of packet send between connection events are somewhere defined and set for example to 3? I found information that maximum is 6 packets. So I am curious what can happened when I send 5 messages between 2 events. Will it send for example 3 because it's somewhere defined or try to send them all.

Reply
  • I had to read it few times to finnaly undarstand something but still I have got some questions in my head that I cannot figure out.

    So I assumed that if I use 7.5ms event lenght and 4 connection I should set interval as 7.5 * 4 = 30ms or multiple of 30ms. In my system there is no additional roles advertising/scanning. The devices are based on "nus" example with tx, rx services. So I think in this case for 4 connection I should set 30ms interval.

    The throughput should be the fastest possible. I have to transfer all asynchronous data to the ESP32 gateway. So I see here Bluetooth Low Energy data throughput that increasing MTU increases data throughput.

    1. The question for me is: Is there any reason to increase it when maximum data lenght that I send is so far 20bytes? I've found information that increasing mtu shouldn't have negative conequences. Should the connection interval or event lenght increased when I increase MTU?

    2. When I decide to use Connection Event Lenght Extension should I better increase the connection interval from 30ms to 60ms? I don't see possibility to set this in ESP32, so is it enought to set it only in NRF peripherials devices? I can't imagine which side (central or peripherial) decides about this extensions.

    3.. One more thing, the number of packet send between connection events are somewhere defined and set for example to 3? I found information that maximum is 6 packets. So I am curious what can happened when I send 5 messages between 2 events. Will it send for example 3 because it's somewhere defined or try to send them all.

Children
No Data
Related