<?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>How to increase the number of packets sent in a single TX transmission?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/124525/how-to-increase-the-number-of-packets-sent-in-a-single-tx-transmission</link><description>I sent a 242-byte data packet, and using the NRF sniffer to capture the packets, I found that this packet was split into (27-byte per packet) for transmission. This caused the entire sending process to take 4ms, while our transmission timing is 3ms, ultimately</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 14 Nov 2025 13:45:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/124525/how-to-increase-the-number-of-packets-sent-in-a-single-tx-transmission" /><item><title>RE: How to increase the number of packets sent in a single TX transmission?</title><link>https://devzone.nordicsemi.com/thread/554401?ContentTypeID=1</link><pubDate>Fri, 14 Nov 2025 13:45:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d1fbef3d-e4f2-4259-bebb-2c80f7b10401</guid><dc:creator>SwRa</dc:creator><description>&lt;p&gt;Closing as discussion continued in&amp;nbsp;&lt;span&gt;#351708&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to increase the number of packets sent in a single TX transmission?</title><link>https://devzone.nordicsemi.com/thread/549630?ContentTypeID=1</link><pubDate>Wed, 24 Sep 2025 06:37:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b309a5b0-ca04-46c1-b3d9-0a3eb179f04a</guid><dc:creator>HHJ</dc:creator><description>&lt;p&gt;&lt;span&gt;I sent the wrong file for the 15ms connection interval earlier. This one is the correct file for the 15ms connection interval.&lt;/span&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/15MS_5F00_2.pcapng"&gt;devzone.nordicsemi.com/.../15MS_5F00_2.pcapng&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to increase the number of packets sent in a single TX transmission?</title><link>https://devzone.nordicsemi.com/thread/549623?ContentTypeID=1</link><pubDate>Wed, 24 Sep 2025 03:45:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f64c6b64-33b5-410e-9081-d03887c94009</guid><dc:creator>HHJ</dc:creator><description>&lt;p&gt;&lt;span&gt;I&amp;#39;m sorry, I think I didn&amp;#39;t express myself clearly earlier. My timer generates and sends a set of data every 3ms. However, regardless of whether the connection interval is 7.5ms or 15ms, Bluetooth will reply in the next connection interval after receiving the second data packet. Especially with the 15ms connection interval, Bluetooth will reply after more than 10ms. I believe this situation is abnormal and does not conform to our Bluetooth logic. Currently, we are not sure where the problem lies. These are the pcapng files captured by nrf niffer for the 7.5ms and 15ms connection intervals respectively. We look forward to your reply.&lt;/span&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/1172.15ms.pcapng"&gt;devzone.nordicsemi.com/.../1172.15ms.pcapng&lt;/a&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/0676.5ms.pcapng"&gt;devzone.nordicsemi.com/.../0676.5ms.pcapng&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to increase the number of packets sent in a single TX transmission?</title><link>https://devzone.nordicsemi.com/thread/549536?ContentTypeID=1</link><pubDate>Tue, 23 Sep 2025 11:13:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e18cb7cb-c45d-4413-b682-cd45cbc3894d</guid><dc:creator>SwRa</dc:creator><description>[quote user="HHJ"]ms and the transmission timing to 3ms. We found that Bluetooth can send data packets normally within the 7.5ms interval. However, after sending the second data packet, Bluetooth will force the next transmission to wait until the end of the 7.5ms connection interval, which causes blockage on the transmitting end.[/quote]
&lt;p&gt;That is expected.&amp;nbsp;&lt;span&gt;&amp;nbsp;In BLE, data can only be transmitted during a&amp;nbsp;&lt;/span&gt;connection event, which occurs at intervals defined by the&amp;nbsp;connection interval&amp;nbsp;parameter. See here:&amp;nbsp;&lt;a href="https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-3-bluetooth-le-connections/topic/connection-process/"&gt;https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-3-bluetooth-le-connections/topic/connection-process/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Connection Event Length Extension&amp;nbsp;is enabled by default in the nRF Connect SDK (SoftDevice Controller). You do not need to manually call a function like&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;sd_ble_opt_set(BLE_COMMON_OPT_CONN_EVT_EXT, &amp;amp;opt)&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;as you would in the nRF5 SDK. Refer:&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/softdevice_controller/doc/scheduling.html#connection_timing_with_connection_event_length_extension"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/softdevice_controller/doc/scheduling.html#connection_timing_with_connection_event_length_extension&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;code dir="ltr"&gt;CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT=7500&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;sets the maximum connection event length (in microseconds), which is correct for controlling the event window duration.&lt;br /&gt;&lt;code dir="ltr"&gt;CONFIG_BT_USER_DATA_LEN_UPDATE=y&lt;/code&gt;&lt;span style="font-family:inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:inherit;"&gt;and&lt;/span&gt;&lt;span style="font-family:inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;CONFIG_BT_CTLR_DATA_LENGTH_MAX=251&lt;/code&gt;&lt;span style="font-family:inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:inherit;"&gt;are the correct settings for enabling Data Length Extension and setting the maximum data length.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Best Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Swathy&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to increase the number of packets sent in a single TX transmission?</title><link>https://devzone.nordicsemi.com/thread/549517?ContentTypeID=1</link><pubDate>Tue, 23 Sep 2025 09:43:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9939c3e3-325e-4a95-946c-70bb0e2f2ccf</guid><dc:creator>HHJ</dc:creator><description>&lt;p&gt;Thanks beauty&lt;/p&gt;
&lt;div class="auto-hide-last-sibling-br paragraph-pP9ZLC paragraph-element br-paragraph-space"&gt;We have set the connection interval to 7.5ms and the transmission timing to 3ms. We found that Bluetooth can send data packets normally within the 7.5ms interval. However, after sending the second data packet, Bluetooth will force the next transmission to wait until the end of the 7.5ms connection interval, which causes blockage on the transmitting end.&lt;/div&gt;
&lt;div class="auto-hide-last-sibling-br paragraph-pP9ZLC paragraph-element br-paragraph-space"&gt;Currently, we have configured the connection event extension with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;CONFIG_BT_USER_DATA_LEN_UPDATE=y&lt;/code&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;CONFIG_BT_CTLR_DATA_LENGTH_MAX=251&lt;/code&gt;, and the GAP event interval with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT=7500&lt;/code&gt;.&lt;/div&gt;
&lt;div class="auto-hide-last-sibling-br paragraph-pP9ZLC paragraph-element br-paragraph-space"&gt;Are we missing any key configurations such as the &amp;quot;Connection event length extension&amp;quot; in nRF52840, like setting&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;opt.common_opt.conn_evt_evt.enable=true; err_code=sd_ble_opt_set(BLE_COMMON_OPT_CONN_EVT_EVT,&amp;amp;opt);&lt;/code&gt;? Or are there any existing configurations that need to be enabled in the main function?&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1758620590645v1.png" alt=" " /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to increase the number of packets sent in a single TX transmission?</title><link>https://devzone.nordicsemi.com/thread/549509?ContentTypeID=1</link><pubDate>Tue, 23 Sep 2025 09:22:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:11689e6c-2253-489e-b043-2400afb0323c</guid><dc:creator>SwRa</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In BLE, MTU has a default value of 23 bytes, and data length has a default value of 27 bytes. When MTU is larger than data length, the data will be segmented into chunks of the data length’s size. This means that, for your application, it appears like one message is being sent, but on the air, the data is actually split into smaller segments. To send&amp;nbsp;&amp;nbsp;a 242-byte data packet in a single Bluetooth LE transmission (i.e., without fragmentation into 27-byte packets), you need to increase both the&amp;nbsp;Data Length&amp;nbsp;and the&amp;nbsp;ATT MTU&amp;nbsp;in your BLE configuration.&amp;nbsp; Try adding the following in your prj.conf file:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;CONFIG_BT_CTLR_DATA_LENGTH_MAX=251&lt;br /&gt;&lt;/span&gt;&lt;span&gt; CONFIG_BT_BUF_ACL_RX_SIZE=251&lt;br /&gt; CONFIG_BT_BUF_ACL_TX_SIZE=251&lt;br /&gt; CONFIG_BT_L2CAP_TX_MTU=247&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Swathy&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>