<?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>Maximizing NRF52 &amp;amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/40597/maximizing-nrf52-ios-ble-throughput-in-both-directions</link><description>Hello 
 I&amp;#39;m trying to maximize the throughput between a NRF52832 and iOS devices in both directions. 
 Currently, I seem to achieve about 400 Kbps from an iPhone 8 to the NRF52 using: 
 
 CBCharacteristicWriteWithoutResponse 
 maximumWriteValueLengthForType</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 03 Jun 2019 12:56:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/40597/maximizing-nrf52-ios-ble-throughput-in-both-directions" /><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/190519?ContentTypeID=1</link><pubDate>Mon, 03 Jun 2019 12:56:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dffb069e-ec64-486b-a40f-fa79cf8983d6</guid><dc:creator>aaronxu</dc:creator><description>&lt;p&gt;Great experiment! Any update since iOS13 will be released soon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/159974?ContentTypeID=1</link><pubDate>Mon, 03 Dec 2018 13:25:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:617fb1af-b9f3-4af3-9267-3add7ac82dfd</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Based on your result (&lt;span&gt;380 kbps) and the settings you use I&amp;#39;m pretty sure the throughput is again limited by the iPhone. We have&amp;nbsp;measured 1447.2 kbps between two nordic devices.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158795?ContentTypeID=1</link><pubDate>Fri, 23 Nov 2018 10:39:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53874f30-a300-4944-b509-733160b63d00</guid><dc:creator>Juju</dc:creator><description>&lt;p class="p1"&gt;Yes I have my own app and needed to experiment with different values for:&lt;/p&gt;
&lt;ul&gt;
&lt;li class="p1"&gt;tx_mps / tx_queue_size for l2cap config&lt;/li&gt;
&lt;li class="p1"&gt;ble_data.len for sd_ble_l2cap_ch_tx()&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I used:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;tx_mps=512&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;tx_queue_size=6&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;ble_data.len = 255 (in my case&amp;nbsp;data comes directly from SPI easyDMA)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Not sure how I can optimize further since I don&amp;#39;t know about low level L2CAP transmission.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158789?ContentTypeID=1</link><pubDate>Fri, 23 Nov 2018 09:47:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd7cf3c7-699b-4fe2-a5ce-782ccd07292d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Thanks for sharing the results. Are you using a custom app to establish the L2CAP channel?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158774?ContentTypeID=1</link><pubDate>Fri, 23 Nov 2018 09:22:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d8fb4899-023b-4971-a0e9-5a37d4837afc</guid><dc:creator>Juju</dc:creator><description>&lt;p&gt;I was able to achieve around 380 kbps using a L2CAP channel with the stream going from the NRF52 to the iPhone which is much better than the original 128 kbps.&lt;/p&gt;
&lt;p&gt;However, this is still below below the 400 kbps obtained in the other directions and without&amp;nbsp;the lightweight protocol advantage of L2CAP.&lt;/p&gt;
&lt;p&gt;I still need to try the L2CAP channel from the iPhone to the NRF52.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158333?ContentTypeID=1</link><pubDate>Wed, 21 Nov 2018 08:59:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:beb46a8e-fe71-4049-a275-a60726ca5e3d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;It actually supports 2 mbit even though it&amp;#39;s LE v4.2. I confirmed the bitrate with a BLE sniffer.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158324?ContentTypeID=1</link><pubDate>Wed, 21 Nov 2018 08:50:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d39a135a-bac5-47fa-a327-e1691b176238</guid><dc:creator>Juju</dc:creator><description>&lt;p&gt;Just to confirm, the iPhone 7 is Bluetooth LE 4.2 so the figures you are getting are with PHY=1 right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158312?ContentTypeID=1</link><pubDate>Wed, 21 Nov 2018 08:11:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1673f43-dbdf-4cd8-afca-51540d648424</guid><dc:creator>Juju</dc:creator><description>&lt;p&gt;Thanks, I will put some figures when I have them.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158308?ContentTypeID=1</link><pubDate>Wed, 21 Nov 2018 08:00:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4061db01-251a-451d-94fc-3de2da6b12c7</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;We have not tested a L2CAP channel with iOS as far as I know, but we have the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.2.0/ble_sdk_app_ots.html?cp=4_0_0_4_1_2_30"&gt;OTS &lt;/a&gt;example if you want to try it.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158259?ContentTypeID=1</link><pubDate>Tue, 20 Nov 2018 17:11:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88186194-e9a5-450f-a4a9-28a755aae50b</guid><dc:creator>Juju</dc:creator><description>&lt;p&gt;Thanks for your reply so it seems to match what I am currently getting.&lt;/p&gt;
&lt;p&gt;Did you ever check the possible throughput improvement using a L2CAP channel between iOS and NRF52?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximizing NRF52 &amp; iOS BLE throughput in both directions</title><link>https://devzone.nordicsemi.com/thread/158214?ContentTypeID=1</link><pubDate>Tue, 20 Nov 2018 14:36:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e309f4e-e219-482d-859f-e9d6a895ddc6</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I expected the throughput to be roughly the same in both directions.&amp;nbsp; To&amp;nbsp;verify this I modified the ble_app_uart example in sdk 15.2.0 to transmit dummy packets and request 2mb phy. With this I was able to&amp;nbsp;achieve&amp;nbsp; ~400kbps+ with an&amp;nbsp;iphone 7 running ios 12.1 (15ms CI, PHY=2, 185 byte MTU). However, the results seems to have been impacted by the fact that I&amp;nbsp;had been running the ANCS example on the same DK prior to this test. After rebooting the phone (clears device cache) I was not able to get more than 128 kbps. In other words, it&amp;nbsp;looks like the iphone is capping throughput at 128 kbps in some cases. I haven&amp;#39;t found any relevant Apple documentation on this so not sure if it there&amp;#39;s a proper way to override this.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here are some&amp;nbsp;throughput numbers with Nordic on both sides in case you haven&amp;#39;t seen it:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.sds/dita/softdevices/s130/ble_data_throughput/ble_data_throughput.html?cp=2_3_1_0_16"&gt;Bluetooth Low Energy data throughput&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>