<?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>Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/46748/max-throughput-on-ble-uart-using-coded-phy</link><description>Hi! 
 I am evaluating BLE UART Demo with longe range (BLE_GAP_PHY_CODED). 
 Max. data throughput (using different parameters for ATT_MTU size and connection inverval) seems to be aroung 3 KB/s. 
 Can anyone confirm this? Shouldn&amp;#39;t there be a higher throughput</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 15 May 2019 09:35:44 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/46748/max-throughput-on-ble-uart-using-coded-phy" /><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/187183?ContentTypeID=1</link><pubDate>Wed, 15 May 2019 09:35:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:141ae0c2-4afa-4a9a-a4f0-381cbfb0494e</guid><dc:creator>Andreas48752</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;Does anybody know if the sniffer will support coded PHY in future? And maybe when?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/187182?ContentTypeID=1</link><pubDate>Wed, 15 May 2019 09:32:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4682c870-a8a0-4a71-a1bc-933c436b820e</guid><dc:creator>Andreas48752</dc:creator><description>&lt;p&gt;That is interesting. I also would like to know if data length extension is not working with coded phy. As far as I can see it sdk does not return with an error if set. I have no sniffer so I cannot tell if it is used.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/186080?ContentTypeID=1</link><pubDate>Thu, 09 May 2019 07:13:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:79c5a5d8-d593-4718-8891-6c645725caab</guid><dc:creator>4xM</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/47010/support-for-coded-phy-and-data-length-extension-together"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/47010/support-for-coded-phy-and-data-length-extension-together&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;HI i found this which is telling Data length Extension is not working which explains why the data throughput is so low. I can not manage to geht the 32Kbs which should be possible too so this are my calc perhaps there is something wrong:&lt;/p&gt;
&lt;p&gt;1sec/connection interval*packnumber per interval/(6)phycodedslow down factor*20bytes of data use*8bit&lt;/p&gt;
&lt;p&gt;1000ms/7.5ms*6/4*20*8=32000bit&lt;/p&gt;
&lt;p&gt;with mtu i would expect a little bit more but i can not reach 20Kbs perhaps the max number off pack per interval is wrong. i m using on both sides the NRF52840 but on the one side with Zephyre which should can handle that too.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you please provide the setting you are using to get a rate over 24Kbs?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Interval 7,5ms&lt;/p&gt;
&lt;p&gt;Data Length extension Yes but not working?&lt;/p&gt;
&lt;p&gt;extended MTU 247&lt;/p&gt;
&lt;p&gt;connection event Length extension 7.5ms?&lt;/p&gt;
&lt;p&gt;latency 5&lt;/p&gt;
&lt;p&gt;supervision timeout 4sec&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Edit&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I found that if i start a scanner for BLE to get the advertisement while i m connected the connection is dropped&amp;nbsp;&lt;/p&gt;
&lt;p&gt;so what is there the relation ship? i guess it is sharing the time so that&amp;#39;s why it is disconnected&lt;/p&gt;
&lt;p&gt;If i plan to connect to devices i guess my max data throughput is just the half of the total?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184782?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 08:21:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cbc86fe5-96bf-47c9-9e3a-5d2706c2e8c1</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;The differences&amp;nbsp;are the connection settings that you use in the throughput example.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are four BLE connection settings that you want to tweak:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.&amp;nbsp;Connection interval&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I belive the minimum connection interval for BLE is 7.5ms at the moment. For standard packet sizes of&amp;nbsp;23 byte payload the Connection Interval is the determining factor&amp;nbsp;for throughput, other than your Link Budget that is (who&amp;#39;s determined by the physical RF link quality).&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;This is because you will only send one packet per Connection Interval.&amp;nbsp;&lt;br /&gt;You can request to update the Connection Interval by calling&amp;nbsp;&lt;a title="sd_ble_gap_conn_param_update" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html?cp=3_4_2_1_2_1_2_10#gaf89b434841998ab384e0612dca9e12f8"&gt;sd_ble_gap_conn_param_update&lt;/a&gt;&amp;nbsp;with the wanted settings.&lt;br /&gt;&lt;br /&gt;When using the lowest possible connection interval it might be difficult for your devices to maintain multiple connections (larger networks). If you want the device to be able to connect to multiple devices I suggest you choose a longer Connection Interval of approx 20-30ms and use Extended MTU.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Extended MTU&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The MTU is the payload that is sendt between the application layers and the&amp;nbsp;BLE Host layers (L2CAP) in each peer. By increasing the MTU from the standard 23bytes to 247bytes you can send longer packets and this reduces the overall overhead.&amp;nbsp;&lt;br /&gt;There&amp;#39;s a caveat thought, a 247byte MTU packet will be split into&amp;nbsp;23 byte packets in the&amp;nbsp;BLE Controllers unless your&amp;nbsp;Link Layers&amp;nbsp;have enabled Data Length Extension.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;This can be set&amp;nbsp;by first calling&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="sd_ble_cfg_set" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___c_o_m_m_o_n___f_u_n_c_t_i_o_n_s.html?cp=3_4_2_1_2_0_2_2_0#ga4edae2bac8c68b672c0fa101ed2c687f"&gt;sd_ble_cfg_set&lt;/a&gt;&amp;nbsp;&lt;span&gt;with a&amp;nbsp;&lt;em&gt;cfg_id&lt;/em&gt;&amp;nbsp;of&amp;nbsp;&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___c_o_m_m_o_n___e_n_u_m_e_r_a_t_i_o_n_s.html#ga779434fafdab8139b77388c96adb1d81"&gt;BLE_CONN_CFGS&lt;/a&gt;, a&amp;nbsp;&lt;em&gt;p_cfg&lt;/em&gt;&amp;nbsp;pointer that points to a&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/structble__conn__cfg__t.html"&gt;ble_conn_cfg_t&lt;/a&gt;&amp;nbsp;that contains a&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/structble__gatt__conn__cfg__t.html"&gt;ble_gatt_conn_cfg_t&lt;/a&gt;&amp;nbsp;with a&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/structble__gatt__conn__cfg__t.html#a3fac0ed97a3a75cf21e9ed8432b95193"&gt;att_mtu&lt;/a&gt;&amp;nbsp;of 23-247 bytes. This configuration must be set prior to calling&amp;nbsp;&lt;a title="sd_ble_enable" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___c_o_m_m_o_n___f_u_n_c_t_i_o_n_s.html?cp=3_4_2_1_2_0_2_2_1#ga8a92420df90945526d4c89d09486508d"&gt;sd_ble_enable&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Then you can start negotiating for new MTU sizes with a call to&amp;nbsp;&lt;a title="sd_ble_gattc_exchange_mtu_request" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___g_a_t_t_c___f_u_n_c_t_i_o_n_s.html?cp=3_4_2_1_2_2_2_6#ga269894b0415de8c4ae76343b74f6e655"&gt;sd_ble_gattc_exchange_mtu_request&lt;/a&gt;. This is done upon connection establishment by our GATT library in our SDK&amp;nbsp;by a call to&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="sd_ble_gattc_exchange_mtu_request" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___g_a_t_t_c___f_u_n_c_t_i_o_n_s.html?cp=3_4_2_1_2_2_2_6#ga269894b0415de8c4ae76343b74f6e655"&gt;sd_ble_gattc_exchange_mtu_request&lt;/a&gt;.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Data Length Extension&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In order for the two Link Layers to use larger packet sizes they have to request the use of DLE.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This can be enabled by calling&amp;nbsp;&lt;a title="sd_ble_opt_set" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___c_o_m_m_o_n___f_u_n_c_t_i_o_n_s.html?cp=3_4_2_1_2_0_2_2_4#ga511d431bc3d9ccf9bef09ad20cbf855a"&gt;sd_ble_opt_set&lt;/a&gt;&amp;nbsp;with a&amp;nbsp;&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/unionble__opt__t.html"&gt;ble_opt_t&lt;/a&gt;&amp;nbsp;of&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/unionble__opt__t.html#a3becddeb5c692d603c116a348b69770a"&gt;common_opt&lt;/a&gt;&amp;nbsp;where&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/unionble__common__opt__t.html#aee5ed29b5363978e53faeedcfc83c359"&gt;conn_evt_ext&lt;/a&gt;&amp;nbsp;is set to 1/true.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After this is done the SoftDevice will negotiate the use of DLE automatically.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Connection Event Length Extension&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At this point you&amp;#39;re still limited to one packet per Connection Event. Connection Event Length Extensions enables the Link Layers to continuously transmit packets throughout each Connection Interval, limited by the time set aside&amp;nbsp;with a call to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="sd_ble_cfg_set" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___c_o_m_m_o_n___f_u_n_c_t_i_o_n_s.html?cp=3_4_2_1_2_0_2_2_0#ga4edae2bac8c68b672c0fa101ed2c687f"&gt;sd_ble_cfg_set&lt;/a&gt;&amp;nbsp;&lt;span&gt;with a&amp;nbsp;&lt;em&gt;cfg_id&lt;/em&gt;&amp;nbsp;of&amp;nbsp;&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/group___b_l_e___c_o_m_m_o_n___e_n_u_m_e_r_a_t_i_o_n_s.html#ga779434fafdab8139b77388c96adb1d81"&gt;BLE_CONN_CFGS&lt;/a&gt;, a&amp;nbsp;&lt;em&gt;p_cfg&lt;/em&gt;&amp;nbsp;pointer that points to a&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/structble__conn__cfg__t.html"&gt;ble_conn_cfg_t&lt;/a&gt;&amp;nbsp;that contains a&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/structble__gap__conn__cfg__t.html"&gt;ble_gap_conn_cfg_t&lt;/a&gt;&amp;nbsp;with an&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.1/structble__gap__conn__cfg__t.html#af0d1990cc5d30840313f2467d0b8987a"&gt;event_length&lt;/a&gt;&amp;nbsp;of x multiple of 1.25ms units&lt;/span&gt;.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;If you have a 20ms Connection Interval you&amp;#39;ll want to set an event_length of 20ms / 1.25ms = 16.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;br /&gt;There&amp;#39;s a trade-off between low Connection Intervals and BLE coexistence, shorter intervals will make it more difficult for the&amp;nbsp; BLE Controller to establish connections to other devices.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;There&amp;#39;s also a trade-off between packet sizes and packet loss, because lost packets are re-transmitted, longer packets are more susceptible to noise, and longer packets takes more time to transmit, you might not want to use the maximum packet size available in noisy environments as you will spend more time re-transmitting lost packets.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184524?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 10:35:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b0c7c13-d07b-44da-a83a-4e7f9823dbba</guid><dc:creator>Andreas48752</dc:creator><description>&lt;p&gt;If I set the slave latency to 2 (if higher app crashes?) than throughput decreases from about 57 kbps to 17 kbps?&lt;/p&gt;
&lt;p&gt;another question: What is the difference between the ATT MTU Throughput Example and UART Example? I can&amp;#39;t get the same througput from the UART as from the ATT MTU?&lt;/p&gt;
&lt;p&gt;Sorry for all that questions, but I am fairly new to BLE...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184470?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 08:21:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56a805c3-41cc-4989-8367-94463c1bab8e</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;You really should increase the slave latency to at least 5. If you miss a connection event with a slave latency of zero then your link is dead and you&amp;#39;ll spend time re-initiating the link. This is true for all BLE links.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184462?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 08:12:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5adfbdae-bbaa-4258-87dc-d4109dff81b9</guid><dc:creator>Andreas48752</dc:creator><description>&lt;p&gt;Supervisor timeout is 4 seconds an slave latency is 0.&lt;/p&gt;
&lt;p&gt;I really would appreciate if you could try this tommorow. Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184457?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 07:55:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c327dd37-9e75-45df-9814-02b8a89215b8</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;You can use a PCA10040 or a PCA10056 as the sniffer, and two PCA10059 as the BLE peers. Do note that the sniffer does not support Coded PHY yet, but we&amp;#39;re interrested in finding the true Connection interval so it does not really matter in this case.&lt;br /&gt;&lt;br /&gt;I just estimated 80-90kbps as being 1/8th of a decent 1mbps link. There is one factor that might reduce the throughput and that is packet loss. Coded PHY is more susceptible to&amp;nbsp;interference&amp;nbsp;because of its packets being 8 times as long, this in turn means that you will have to re-transmit packets that are themselves more susceptible to noise.&amp;nbsp;&lt;br /&gt;I suggest lowering the MTU and DLE to 1/8 of maximum as well as decreasing the Connection Interval&amp;nbsp;to 400/8 = 50ms, and event length of 50ms. This way you&amp;#39;ll reduce both the chance of packet loss and the time it takes to re-transmit a lost packet.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;I can get 57 kbps. Is this the practical limit? &lt;br /&gt;It might be, I&amp;#39;ve not checked myself, I&amp;#39;ll do that tomorrow.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;What&amp;#39;s your Supervisor Timeout and Slave Latency settings?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184436?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 06:48:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:23e73f04-796e-4848-b2df-bcf8322caa3e</guid><dc:creator>Andreas48752</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;I have two PCA10056 and two PCA10059.&amp;nbsp;As far as I see it, I would need a third PCA10056 to run the sniffer on?&lt;/p&gt;
&lt;p&gt;Did you or someone&amp;nbsp;else have some real results with this setup (example and PCA10056)? I think your mentioned 80-90 kbps is just an estimation, right? I read another post and tried connection intervall 400 and data length 247. I can get 57 kbps. Is this the practical limit?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184368?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 14:34:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5cd37e86-8a9d-4181-894a-d26b268e5784</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;It looks like you&amp;#39;re getting the correct options, but I can&amp;#39;t see the actual connection interval.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I suggest you set up as sniffer as described here:&amp;nbsp;&lt;a title="nRF Sniffer User Guide v2.1" href="https://infocenter.nordicsemi.com/pdf/nRF_Sniffer_UG_v2.1.pdf?cp=6_4_0"&gt;nRF Sniffer User Guide v2.1&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184316?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 12:45:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f77a8567-7e88-449f-b451-0a8820831e46</guid><dc:creator>Andreas48752</dc:creator><description>&lt;p&gt;Well, UART log is simple, but how to make a sniffer trace?&lt;/p&gt;
&lt;p&gt;throughput example:~$ config print&lt;br /&gt;==== Current test configuration ====&lt;br /&gt;Board role: tester&lt;br /&gt;ATT MTU size: 247&lt;br /&gt;Data length: 27&lt;br /&gt;Connection interval: 6 units&lt;br /&gt;Connection length ext: on&lt;br /&gt;Preferred PHY: Coded&lt;br /&gt;GAP event length: 400&lt;br /&gt;throughput example:~$ config data_length 244&lt;br /&gt;Data length set to 244.&lt;br /&gt;throughput example:~$ run&lt;br /&gt;[00:00:00.083,435] &amp;lt;info&amp;gt; app: Preparing the test.&lt;br /&gt;[00:00:00.083,465] &amp;lt;info&amp;gt; app: Starting advertising.&lt;br /&gt;[00:00:00.083,587] &amp;lt;info&amp;gt; app: Starting scanning.&lt;br /&gt;[00:00:00.087,707] &amp;lt;info&amp;gt; app: Connected as a peripheral.&lt;br /&gt;[00:00:00.087,738] &amp;lt;info&amp;gt; app: Discovering GATT database...&lt;br /&gt;[00:00:00.087,768] &amp;lt;info&amp;gt; app: Sending PHY Update, Coded.&lt;br /&gt;[00:00:00.003,692] &amp;lt;info&amp;gt; app: Data length updated to 244 bytes.&lt;br /&gt;[00:00:00.010,894] &amp;lt;info&amp;gt; app: ATT MTU exchange completed. MTU set to 247 bytes.&lt;br /&gt;[00:00:00.084,075] &amp;lt;info&amp;gt; app: PHY update accepted. PHY set to Coded.&lt;br /&gt;[00:00:00.009,002] &amp;lt;info&amp;gt; app: AMT service discovered at peer.&lt;br /&gt;[00:00:00.016,540] &amp;lt;info&amp;gt; app: Notifications enabled.&lt;br /&gt;[00:00:00.022,216] &amp;lt;info&amp;gt; app: Test started&lt;br /&gt;[00:00:00.005,401] &amp;lt;info&amp;gt; app: Sent 1 KBytes&lt;br /&gt;[00:00:00.018,737] &amp;lt;info&amp;gt; app: Sent 2 KBytes&lt;br /&gt;[00:00:00.031,951] &amp;lt;info&amp;gt; app: Sent 3 KBytes&lt;br /&gt;[00:00:00.060,302] &amp;lt;info&amp;gt; app: Sent 4 KBytes&lt;br /&gt;[00:00:00.018,066] &amp;lt;info&amp;gt; app: Sent 5 KBytes&lt;br /&gt;[00:00:00.005,706] &amp;lt;info&amp;gt; app: Sent 6 KBytes&lt;br /&gt;[00:00:00.034,027] &amp;lt;info&amp;gt; app: Sent 7 KBytes&lt;br /&gt;[00:00:00.006,774] &amp;lt;info&amp;gt; app: Sent 8 KBytes&lt;br /&gt;[00:00:00.027,526] &amp;lt;info&amp;gt; app: Sent 9 KBytes&lt;br /&gt;[00:00:00.048,339] &amp;lt;info&amp;gt; app: Sent 10 KBytes&lt;br /&gt;[00:00:00.028,564] &amp;lt;info&amp;gt; app: Sent 11 KBytes&lt;br /&gt;...&lt;br /&gt;[00:00:00.030,822] &amp;lt;info&amp;gt; app: Sent 1020 KBytes&lt;br /&gt;[00:00:00.074,157] &amp;lt;info&amp;gt; app: Sent 1021 KBytes&lt;br /&gt;[00:00:00.091,918] &amp;lt;info&amp;gt; app: Sent 1022 KBytes&lt;br /&gt;[00:00:00.041,992] &amp;lt;info&amp;gt; app: Sent 1023 KBytes&lt;br /&gt;[00:00:00.029,724] &amp;lt;info&amp;gt; app: Sent 1024 KBytes&lt;br /&gt;[00:00:00.004,119] &amp;lt;info&amp;gt; app: Done.&lt;br /&gt;[00:00:00.004,119] &amp;lt;info&amp;gt; app: =============================&lt;br /&gt;[00:00:00.004,119] &amp;lt;info&amp;gt; app: Time: 378.844 seconds elapsed.&lt;br /&gt;[00:00:00.004,150] &amp;lt;info&amp;gt; app: Throughput: 22.14 Kbps.&lt;br /&gt;[00:00:00.004,150] &amp;lt;info&amp;gt; app: =============================&lt;br /&gt;[00:00:00.004,150] &amp;lt;info&amp;gt; app: Sent 1048712 bytes of ATT payload.&lt;br /&gt;[00:00:00.004,150] &amp;lt;info&amp;gt; app: Retrieving amount of bytes received from peer...&lt;br /&gt;[00:00:00.010,498] &amp;lt;info&amp;gt; app: Peer received 1048712 bytes of ATT payload.&lt;br /&gt;[00:00:00.010,498] &amp;lt;info&amp;gt; app: Disconnecting...&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I did a test with 1M. There i get Throughput of around 260 kbps. So 1/8 would be around 32.5 kbps on coded PHY which I can see under good conditions. It seems that regardless of actual PHY my set-up is to &amp;quot;slow&amp;quot;...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184309?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 12:32:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43d6bd88-1d35-465d-8f96-a4a5b9ea0163</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Can you share the UART log, I&amp;#39;d like to see if the negotiated parameters are what you think they are. A sniffer trace would also be very helpful.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184286?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 11:43:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0abc530a-ed21-47e7-a434-f6f2ba6bbb75</guid><dc:creator>Andreas48752</dc:creator><description>&lt;p&gt;Thank you for your reply.&lt;/p&gt;
&lt;p&gt;I am already playing around with&amp;nbsp;this example but I cannot get more than 32 kbps even if the boards are close together. I am using coded phy, connection interval 7.5 ms, GAP event length 400, data length 244, ATT MTU size 247. &lt;br /&gt;&lt;br /&gt;Changing connection interval or other parameters does not increase throughput...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Max. throughput on BLE UART using coded phy</title><link>https://devzone.nordicsemi.com/thread/184281?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 11:37:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e446a3e7-a190-4fbc-a696-648f1a4e9852</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;You&amp;nbsp;should try the&amp;nbsp;&lt;a title="Experimental: ATT_MTU Throughput Example" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/ble_sdk_app_att_mtu.html?cp=5_0_4_2_1_0"&gt;Experimental: ATT_MTU Throughput Example&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You should be able to get almost 1/8th the throughput of 1mbps who&amp;#39;s about 700kbps practical limit. I&amp;#39;m guessing that you should be able to get 80-90kbps with Coded PHY on a decent link.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>