<?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>Comunicating at least 300 kbp/s via BLE nrf5340 with Android phones</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/85258/comunicating-at-least-300-kbp-s-via-ble-nrf5340-with-android-phones</link><description>Hello, 
 I&amp;#39;m trying to achieve at least 300 kbp/s via BLE nrf5340 with Android phones (Bluetooth ver.4.2 and ver.5.x). 
 I use the &amp;quot;nRF Connect&amp;quot; and &amp;quot;Serial Bluetooth&amp;quot; apps. On board I use custom GATT service. 
 Unfortunately, the maximum effective throupoint</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 10 Mar 2022 14:23:08 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/85258/comunicating-at-least-300-kbp-s-via-ble-nrf5340-with-android-phones" /><item><title>RE: Comunicating at least 300 kbp/s via BLE nrf5340 with Android phones</title><link>https://devzone.nordicsemi.com/thread/357443?ContentTypeID=1</link><pubDate>Thu, 10 Mar 2022 14:23:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:065f171c-4830-4bc0-9279-4cb6ecd88b71</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello Martin,&lt;/p&gt;
&lt;p&gt;I would expect highest throughput from the Android phones. iOS seems to always cap the data rate at around 300 kbps.&lt;/p&gt;
&lt;p&gt;The output you posted is showing a connection with the iPhone. Do you also get the phy update when you test with your android phones.&lt;/p&gt;
&lt;p&gt;This is log message you will get if the PHY has been updated to 2M:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;inf&amp;gt; app: PHY updated. RX PHY: 2, TX PHY: 2&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Comunicating at least 300 kbp/s via BLE nrf5340 with Android phones</title><link>https://devzone.nordicsemi.com/thread/357255?ContentTypeID=1</link><pubDate>Wed, 09 Mar 2022 15:52:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eeedaf55-8a03-4dc3-9d3a-b80615482f95</guid><dc:creator>Martin K</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;my output is:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;[00:00:03.776,702] &amp;lt;inf&amp;gt; app: Connected 72:78:7B:51:C3:73 (random)&lt;br /&gt;[00:00:04.285,797] &amp;lt;inf&amp;gt; app: PHY updated. RX PHY: 2, TX PHY: 2&lt;br /&gt;[00:00:04.346,069] &amp;lt;inf&amp;gt; app: Data length updated. RX length: 251, TX length: 251&lt;br /&gt;[00:00:04.406,066] &amp;lt;inf&amp;gt; app: ATT MTU size updated to 247 bytes&lt;br /&gt;[00:00:04.436,889] &amp;lt;wrn&amp;gt; bt_l2cap: Ignoring data for unknown channel ID 0x003a&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I tried several phones (Realme 8 PRO, Xioami Redmi 5, iPhone 11). What phone did you use?&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;Martin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Comunicating at least 300 kbp/s via BLE nrf5340 with Android phones</title><link>https://devzone.nordicsemi.com/thread/356014?ContentTypeID=1</link><pubDate>Thu, 03 Mar 2022 11:51:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2107b077-b7dc-4f35-83a4-418b7dfc4571</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Maybe the phone is not requesting a PHY update? If so, the connection will stay on the slower 1M bitrate.&amp;nbsp; But you can try to request a PHY update from the application as well. For instance, from the data length update callback here:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void data_len_updated(struct bt_conn *conn, struct bt_conn_le_data_len_info *info)
{
	int err;

	LOG_INF(&amp;quot;Data length updated. RX length: %d, TX length: %d&amp;quot;, info-&amp;gt;rx_max_len,
		info-&amp;gt;tx_max_len);

	err = bt_conn_le_phy_update(conn, BT_CONN_LE_PHY_PARAM_2M);
	if (err) {
		LOG_ERR(&amp;quot;bt_conn_le_phy_update() returned %d&amp;quot;, err);
	}
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Also, the throughput can vary quite a bit between different phones/chipsets and by how much priority the connection is given. Wifi and other connections can result in a lower priority for your connection.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Comunicating at least 300 kbp/s via BLE nrf5340 with Android phones</title><link>https://devzone.nordicsemi.com/thread/355979?ContentTypeID=1</link><pubDate>Thu, 03 Mar 2022 09:56:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e7c6d8c-ae18-4b05-8f54-c06aec2117e1</guid><dc:creator>Martin K</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;you example works great @ 200-600kb/s. Based on the example code I was able to correct missing configurations in prf.conf file. Now my GATT service works at similar speeds.&lt;/p&gt;
&lt;p&gt;For comparason your&amp;nbsp;measurement is around 1Mbit/s, I tried two different phones (BLE 4.x 5.x) but none of that have throupoint above 600kb/s. Do you have any idea why?&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;Martin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Comunicating at least 300 kbp/s via BLE nrf5340 with Android phones</title><link>https://devzone.nordicsemi.com/thread/355815?ContentTypeID=1</link><pubDate>Wed, 02 Mar 2022 12:44:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb506989-5cf6-42bd-8346-9c53a626fab6</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Attached below is an example I made to test notification throughput on the nRF5340. All you have to do on the Android side is connect with the nRF connect app and enable the notification. It will then start sending a notifications as fast and possible and print the measured throughput out on the UART. Could you please try this and see if it gives you any better throughput with the Android phone you are using?&lt;/p&gt;
&lt;p&gt;Example log:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:06:11.570,281] &amp;lt;inf&amp;gt; nus_throughput: Connected FF:5B:6D:CB:57:9A (random)
[00:06:11.595,031] &amp;lt;inf&amp;gt; nus_throughput: ATT MTU size updated to 247 bytes
[00:06:11.631,988] &amp;lt;inf&amp;gt; nus_throughput: Data length updated. RX length: 251, TX length: 251
[00:06:12.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:13.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:14.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:15.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:16.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:17.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:18.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:18.853,302] &amp;lt;inf&amp;gt; nus_throughput: PHY updated. RX PHY: 2, TX PHY: 2
[00:06:19.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:20.316,436] &amp;lt;inf&amp;gt; nus_throughput: 0 kbps
[00:06:21.316,467] &amp;lt;inf&amp;gt; nus_throughput: 55 kbps
[00:06:22.316,497] &amp;lt;inf&amp;gt; nus_throughput: 1014 kbps
[00:06:23.316,528] &amp;lt;inf&amp;gt; nus_throughput: 1050 kbps
[00:06:24.316,558] &amp;lt;inf&amp;gt; nus_throughput: 1046 kbps
[00:06:25.316,589] &amp;lt;inf&amp;gt; nus_throughput: 1042 kbps
[00:06:26.316,619] &amp;lt;inf&amp;gt; nus_throughput: 905 kbps
[00:06:27.316,650] &amp;lt;inf&amp;gt; nus_throughput: 1016 kbps
[00:06:28.316,680] &amp;lt;inf&amp;gt; nus_throughput: 1029 kbps
[00:06:29.316,711] &amp;lt;inf&amp;gt; nus_throughput: 1027 kbps
[00:06:29.804,595] &amp;lt;inf&amp;gt; nus_throughput: Disconnected: FF:5B:6D:CB:57:9A (random) (reason 19)
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Example tested with SDK v.1.9.0:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/peripheral_5F00_uart_5F00_throughput.zip"&gt;devzone.nordicsemi.com/.../peripheral_5F00_uart_5F00_throughput.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>