This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Connection latency between several BLE devices

Hi all,

I would like to setup a system where a single central BLE device (a smartphone) has to talk sequentially to several BLE perihperals (Nordic chips).

I need to send data to all the BLE peripherals, say 8 of them, in a short time (<1.5s).

Is there a way to compute the time it would require to switch from one BLE connection to the other?

In this thread, it is described how to compute the throughput for a BLE link. But I do not know how to compute the time the central BLE (smartphone) needs to switch from one connection to the next one.

Thank you

  • Hi Alex

    This is a bit difficult to answer, as there are many factors that affect the disconnection and connection time.

    On the lower level BLE can disconnect and reconnect very quickly. If the master knows which device to connect to it can connect after receiving just a single advertise packet from the peripheral, and the connection establishment phase is very quick (< 5ms). That being said, the time it takes to receive the first advertise packet depends both on the advertising interval of the peripheral, the scanning window and interval on the phone (varies from phone to phone), and on potential delays in the phone OS.

    The advertising interval in particular is critical if you are trying to conserve power on the peripheral side. Make it too high and it will burn your battery quickly, but make it too low and it will increase connection time considerably.

    The boring answer here is that you would probably need to run some practical tests to be able to get a fair estimate of this. To simplify the test you could reduce the number of devices in total, as the switching time should be more or less the same (unless you are sending advertise packets very quickly and causing interference between the advertisers).

    Best regards
    Torbjørn

  • Hi Torbjørn, Thank you for your answer, I get what you mean. So it would be easier to make some practical tests rather than compute a theoretical value which would be derived from several parameters, some of which cannot be controlled (delays in the phone OS). To speed up the process, I could actually connect and send the data to the next device before the connection to the current device is over. I would then run two BLE connections in parallel.

  • Hi Alex. You are correct, most phones should be able to keep several connections running at a time, so you can use that to speed up the process. Again this will differ from phone to phone, but you could always try to keep adding more connection until it fails, and then start to drop the old connections.

Related