<?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>Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/86154/measured-android-to-nrf52-maximum-throughput-over-ble-5-0</link><description>Hi 
 What is your maximum throughput experienced with Android devices over Bluetooth 5.0+? 
 On my side, I can reach 340 kbps from Android to a nrf52 based device while transferring a 3.4 MBytes file. In the other direction (i.e. nrf52 to Android), I</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Sep 2022 13:01:03 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/86154/measured-android-to-nrf52-maximum-throughput-over-ble-5-0" /><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/388151?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 13:01:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ad8640c-44ce-4e1f-9c63-0d7a3797f6df</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Please make a new question for this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/388146?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 12:47:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:653858bf-a17d-46b4-8565-e6deb87002df</guid><dc:creator>Samiulhaq</dc:creator><description>&lt;p&gt;Hi Einar, thanks again.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes Sir, I am using the&amp;nbsp;&lt;strong&gt;ble_app_uart&amp;nbsp;&lt;/strong&gt;example with the SD card read functionality added. Yes Sir, I have changed&amp;nbsp;&lt;strong&gt;NRF_SDH_BLE_GAP_EVENT_LENGTH 100&lt;/strong&gt; (of course by changing the RAM start address). by doing this I have increased the rate of &lt;strong&gt;chunks/second&lt;/strong&gt;(throughput), but still, I can&amp;#39;t increase the throughput greater than &lt;strong&gt;50Kbps&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Also, I have another issue with reading large file (234MB) from the SD card, I can only read&amp;nbsp;&lt;strong&gt;220000 bytes&lt;/strong&gt; from the SD card and when I am trying to increase the&amp;nbsp;&lt;strong&gt;FILE_SIZE_MAX&amp;nbsp;&lt;/strong&gt;then &lt;strong&gt;220000 bytes or&amp;nbsp;&lt;/strong&gt;when I change&amp;nbsp;&lt;strong&gt;static uint8_t file_buffer[FILE_SIZE_MAX]&lt;/strong&gt; (which is storing the read data from SD card) to &lt;strong&gt;uint16_t, &lt;/strong&gt;then&amp;nbsp;I am getting an error as shown in the attached snippet. how can I read the 234MB file from the SD card?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Sami&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/2072.ERROR.PNG" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/388142?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 12:30:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c02d3d4a-4240-4f03-81f0-04b534aace20</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Sami,&lt;/p&gt;
&lt;p&gt;I see, so you are using the nRF5 SDK. Then I suggest you take a look at the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/ble_sdk_app_nus_eval.html"&gt;BLE UART example&lt;/a&gt; which demonstrates a sensible configuration for high throughout. The main things to note are these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 (which you have already commented)&lt;/li&gt;
&lt;li&gt;NRF_SDH_BLE_GAP_DATA_LENGTH 251&lt;/li&gt;
&lt;li&gt;NRF_SDH_BLE_GAP_EVENT_LENGTH 6&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The last one is special. The event length could be longer, perhaps up to 100 ms if the RF environment is good (not much packet loss). The key point here is that the event length should be as long as the connection interval, so that you can send packets continuously.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/388139?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 12:23:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68fa939d-19d0-4706-a600-e9b8c93f3cf2</guid><dc:creator>Samiulhaq</dc:creator><description>&lt;p&gt;Hello Einar, thanks for the reply.&lt;/p&gt;
&lt;p&gt;Sir, I have the&amp;nbsp;&lt;strong&gt;NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247.&amp;nbsp;&lt;/strong&gt;My phone is jus&lt;span style="color:#808080;"&gt;t &lt;/span&gt;receiving the data I have sent from&amp;nbsp;&lt;strong&gt;NRF52.&amp;nbsp;&lt;/strong&gt; I&amp;nbsp; have a file on the SD card that has different sensor data and its size is about 240MB I want to send this file to the mobile App in the fastest possible way. Can you please help me which will be the fastest possible way to transfer the file? I am using&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/8204.ble_5F00_app_5F00_uart_5F00_fatfs_5F00_send_5F00_sdk_5F00_16.0.0.zip" rel="noopener noreferrer" target="_blank"&gt;this&lt;/a&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;example.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;I will be very thankful to you.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;Kind Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;Sami Ul Haq&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/388133?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 12:06:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1a01112-a2de-4b1f-aa07-889df258ecf1</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Sami,&lt;/p&gt;
&lt;p&gt;As mentionned, the capabilities of the phones differ greatly, and it also depends on what the phone is doing. However, the general way to send long packets is to use DLE and large ATT MTU, and send large notifications. You can see a demonstration of this seen from the nRF in the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.1.0/nrf/samples/bluetooth/throughput/README.html"&gt;throughput sample&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/388080?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 09:26:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d66ce5fd-1d4e-4cbf-b6bd-a110b64bf874</guid><dc:creator>Samiulhaq</dc:creator><description>&lt;p&gt;Hello Sir, I hope you will be fine. Sir, can you help me with how you achieved that much throughput? I am trying to increase throughput but I am unable to increase it. I can only send 55kbps to the mobile app. I have a large file of size 240MB and I want to send it to the mobile app in the fastest possible way. Can you please recommend me? I will be very thankful to you.&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;
&lt;p&gt;Sami&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/360040?ContentTypeID=1</link><pubDate>Fri, 25 Mar 2022 14:01:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0019dbe3-321b-4199-a1f9-71f630c84761</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;We do not have any overview of throughput with different phones. Even with the same phones, the throughput can vary in different situations, and also with new SW versions etc. You ca find some test results out there, though. For instance in &lt;a href="https://www.youtube.com/watch?v=K1ItqEZ2_tw"&gt;this video&lt;/a&gt;, a nRF is communicating with a Samsung S8 and get a&amp;nbsp;maximum throughput&amp;nbsp;of close to 1200 kbps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/359949?ContentTypeID=1</link><pubDate>Fri, 25 Mar 2022 09:34:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b60e5d4-ea69-4470-a51f-74e0a72f0da8</guid><dc:creator>Juju</dc:creator><description>&lt;p&gt;Many thanks for your reply.&lt;/p&gt;
&lt;p&gt;It would be nice though to have some real figures involving&amp;nbsp;smartphones so that we could know if we are far from what is achievable and if we need to pursue optimisation efforts either on nrf52 configuration or Android code side&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;nrf52 to nrf52 if obviously the ideal case as the hardware is awesome &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f603.svg" title="Smiley"&gt;&amp;#x1f603;&lt;/span&gt; but it&amp;#39;s also&amp;nbsp;where we have more control.&lt;/p&gt;
&lt;p&gt;It seems that&amp;nbsp;when Android is involved, the direction of the stream changes the throughput. nrf52 to Android being much faster than Android to nrf52.&lt;/p&gt;
&lt;p&gt;As a side note, on iPhone, I&amp;#39;m capped at about 500 kbps in both directions. I was expecting with Android to double the speed from Android to nrf52 compared to iPhone but it&amp;#39;s actually slower... Tests were done with Samsung S20 and Google Pixel 4a.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Measured Android to nrf52 maximum throughput over BLE 5.0</title><link>https://devzone.nordicsemi.com/thread/359731?ContentTypeID=1</link><pubDate>Thu, 24 Mar 2022 09:00:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71d577f3-f3bf-4666-a156-37d48ab7165c</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There are a lot of factors that affect throughput, and particularly when interfacing with a mobile phone, there are several of these factors you&amp;nbsp;do not fully control. That said, the &lt;em&gt;best&lt;/em&gt; case throughput you can expect using 1 Mbps PHY is about 700 kbps, and using 2 Mbps PHY it is about 1.4 Mbps.&amp;nbsp; You can read more about &amp;nbsp;measured throughput in this blog post: &lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/throughput-and-long-range-demo"&gt;Throughput and long range demo&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>