<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>BLE data transfer latencty between peripherals in a multi-connection-system</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/119246/ble-data-transfer-latencty-between-peripherals-in-a-multi-connection-system</link><description>Dear all, 
 I&amp;#39;m developing a 1 VS 4 BLE connection system, using 1 nRF52840 as BLE central and 4 nRF52832 as BLE peripherals. 
 I&amp;#39;m trying to send the same command to 4 peripherals, how to minimize the delay between each peripherals? 
 For now I&amp;#39;m using</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 07 Mar 2025 08:12:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/119246/ble-data-transfer-latencty-between-peripherals-in-a-multi-connection-system" /><item><title>RE: BLE data transfer latencty between peripherals in a multi-connection-system</title><link>https://devzone.nordicsemi.com/thread/526295?ContentTypeID=1</link><pubDate>Fri, 07 Mar 2025 08:12:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fb85a2d-b1bc-4c4a-9ee0-e4d76c7f6545</guid><dc:creator>Susheel Nuguru</dc:creator><description>[quote user="Avadacadabara"] then the central would turn to the next peripheral connection. In this way, all peripherals have already been served in one connection interval, no?&amp;nbsp;[/quote]
&lt;p&gt;That is very simplistic way of multiplexing, but the underlying scheduler that reserves timeslots for each event with each peripheral tries to get a free timeslot, and there might be times where one of those request might be rejected due to something else already reserved a timeslot at the requested time. Apart from that, yes your understanding is right,&amp;nbsp; You should also know some other variables like priorities for this &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/softdevice_controller/doc/scheduling.html"&gt;scheduler&amp;nbsp;&lt;/a&gt;to know that sometimes it is not just a round robin selection between peripherals.&lt;/p&gt;
[quote user="Avadacadabara"]&amp;nbsp;What will be different if I set&amp;nbsp;&lt;span&gt;gap_event_length&amp;nbsp;to 20ms and connection interval to 20ms?&lt;/span&gt;[/quote]
&lt;p&gt;If you set the connection interval to 20ms in central, then the four peripheral &lt;strong&gt;Event Length&amp;nbsp;&lt;/strong&gt;slows might not fit within the 20ms and&amp;nbsp;Peripheral 1 gets served in the first 20ms interval. Peripheral 2 gets served in the next 20ms interval. Peripheral 3 in the next, and so on.&amp;nbsp;With 30ms connection interval and 7.5ms even&amp;nbsp; length, all four peripherals get a turn within one connection interval (30ms).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;With 20ms connection interval and 20ms event length, only one peripheral gets served per interval, so each peripheral gets a chance to communicate only once every 80ms, increasing latency.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE data transfer latencty between peripherals in a multi-connection-system</title><link>https://devzone.nordicsemi.com/thread/524958?ContentTypeID=1</link><pubDate>Thu, 27 Feb 2025 03:48:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c0a6073f-c395-4502-823f-ccd01ebbf302</guid><dc:creator>Avadacadabara</dc:creator><description>&lt;p&gt;Just wanna double check my understanding: current setup(7.5ms gap_event_length &amp;amp; 30ms connection interval) allows BLE central to connect 1 peripheral at a time, connection would be hold for 7.5ms then the central would turn to the next peripheral connection. In this way, all peripherals have already been served in one connection interval, no?&amp;nbsp;What will be different if I set&amp;nbsp;&lt;span&gt;gap_event_length&amp;nbsp;to 20ms and connection interval to 20ms?&lt;/span&gt;&lt;/p&gt;
[quote userid="6207" url="~/f/nordic-q-a/119246/ble-data-transfer-latencty-between-peripherals-in-a-multi-connection-system/524341"]so that all peripherals can be served in one connection interval[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Additionally, can I set peripheral PHY or ble parameters by central device?(without modifying peripheral firmware)&amp;nbsp;&lt;/p&gt;
[quote userid="6207" url="~/f/nordic-q-a/119246/ble-data-transfer-latencty-between-peripherals-in-a-multi-connection-system/524341"]Also try using 2M phy instead of 1M[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE data transfer latencty between peripherals in a multi-connection-system</title><link>https://devzone.nordicsemi.com/thread/524341?ContentTypeID=1</link><pubDate>Mon, 24 Feb 2025 12:59:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e71a714-c86e-4545-acc5-1176b228c9b9</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Your observations are correct—the delay between the responses from peripherals is mainly influenced by the GAP event length and the connection scheduling of the&amp;nbsp;BLE controller.&lt;/p&gt;
&lt;p&gt;Try increasing GAP event length to 15ms or more, so that all peripherals can be served in one connection interval.&amp;nbsp;Try setting connection interval to 15ms or 10ms while ensuring enough GAP event length. Also try using 2M phy instead of 1M&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE data transfer latencty between peripherals in a multi-connection-system</title><link>https://devzone.nordicsemi.com/thread/524245?ContentTypeID=1</link><pubDate>Mon, 24 Feb 2025 08:06:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:95c47f56-f4b9-4226-acfb-e05cd71987cb</guid><dc:creator>Avadacadabara</dc:creator><description>&lt;p&gt;Sorry I just found somthinig wrong with my experiment setup.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After modification, I&amp;#39;m monitoring the ble response timing in central ble_nus_data call back, and the delay between each response is about 7~8ms, match the connection parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connection interval: 30ms&lt;/li&gt;
&lt;li&gt;scanning interval: 30ms&lt;/li&gt;
&lt;li&gt;scan window: 7.5ms&lt;/li&gt;
&lt;li&gt;gap_event_length: 7.5ms&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Seems like the minimum delay between slaves is the gap_event_length value. Since connection will turn unstable if I further decrease the gap_event_length. I guess this is the optimize BLE setup?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;THX, AVA&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>