<?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>Maximum data throughput.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/13004/maximum-data-throughput</link><description>I wanted to know what&amp;#39;s the maximum data throughput if one device has both roles (Client/Server) working at the same time. I already saw the tables for the different SoftDevices (s110, s120 and s130) but not sure if the maximums they display are for one</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 23 Jun 2016 07:36:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/13004/maximum-data-throughput" /><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49572?ContentTypeID=1</link><pubDate>Thu, 23 Jun 2016 07:36:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2306d61a-4e1d-49fb-87d4-c4dee1b16d95</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;I now have a lot more on my project and it isn&amp;#39;t easy to change the code to do the measures. But if you want you can do a workaround to if the packet is not sent correctly send it again. this way you are not going to have packet loss. And the throughput shouldn&amp;#39;t change a lot. it can decrease a bit, but I think is not going to lower so much.&lt;/p&gt;
&lt;p&gt;regarding the new softdevice, I didn&amp;#39;t hear about it, not sure if it has to do, already, with the new Bluetooth 5, but if you can support 250 bytes packet size on the same interval connection is a increase of 12.5 times.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49574?ContentTypeID=1</link><pubDate>Thu, 23 Jun 2016 01:49:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29b23ba4-6276-4b59-9e32-8c4f9a8e3433</guid><dc:creator>djqtsg</dc:creator><description>&lt;p&gt;how big is your packet size, 20 bytes?&lt;/p&gt;
&lt;p&gt;I heard coming softdevice will support 250 bytes packet size. If that happens, the data rate can be increased at least 10 times, isn&amp;#39;t it? I am looking forward to its release.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49573?ContentTypeID=1</link><pubDate>Thu, 23 Jun 2016 01:27:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88e9207a-b3d8-434e-aaf7-bac1caeda728</guid><dc:creator>djqtsg</dc:creator><description>&lt;p&gt;yes, I am using timer, which I copied from sample code ble_app_hrs.&lt;/p&gt;
&lt;p&gt;I care about packet loss, because my application at PC side will have problem if packet loss is more than 10%. Can you do a simple estimation on success ratio (success packets)/(total tx attempts)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49571?ContentTypeID=1</link><pubDate>Wed, 22 Jun 2016 10:51:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:64fce779-ac97-484c-88ed-bf2e07970376</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;And the measure I got is the minimum throughput I measured. I&amp;#39;m now doing fullduplex (sending both ways at the same time) and I can achieve 123kpbs (63kpbs on both sides). Not sure what could be your problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49570?ContentTypeID=1</link><pubDate>Wed, 22 Jun 2016 10:31:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0d8c77c0-047e-4a99-afa5-e831f9795b1e</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;I&amp;#39;m always sending, I didn&amp;#39;t put a interval to send. How you are putting this interval? timer, delay?&lt;/p&gt;
&lt;p&gt;What I did is a while on the main function that always sends data. But when I&amp;#39;m counting the packets I only count the ones that return SUCCESS. I got some packets lost but that it is not taking in count for the throughput measure.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49569?ContentTypeID=1</link><pubDate>Wed, 22 Jun 2016 09:59:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9adde4f7-b359-44d6-96c8-c905b8ab6a2e</guid><dc:creator>djqtsg</dc:creator><description>&lt;p&gt;I also used the ble_app_uart_c and ble_app_uart, for central and peripheral. The intervals that I used are: 7.5ms on min and max interval connection, and slave latency 0.&lt;/p&gt;
&lt;p&gt;I used two nRF52 boards: one as transmitter T, one receiver R.
I modified the sample application of nRF5_SDK_11.0.0_89a8197\examples\ble_peripheral\ble_app_uart as T, examples\ble_central\ble_app_uart_c as R.&lt;/p&gt;
&lt;p&gt;When R sends one char &amp;#39;s&amp;#39; to T, T will start to transmit 250 packets at a regular interval i. The packet size is of 20 bytes, one of them is packet sequence from 1 to 250. At receiving side, R will count how many packets it receives.&lt;/p&gt;
&lt;p&gt;During my experiment, interval i can be as small as 3 ms, R has no problem receiving all 250 packets within .766 second, even T and R are 3 to 4 meters away.&lt;/p&gt;
&lt;p&gt;So the achieved data rate is 20 bytes/pkt * 8 bits/byte * 250 pkt/second * (1/.766) = 52 kbps.&lt;/p&gt;
&lt;p&gt;If interval below 3 ms, packet drop started to happen.&lt;/p&gt;
&lt;p&gt;I wonder how you achieve &amp;gt; 100 kbps. My HW and SW are newer than yours. The softdevice i used is S132.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49568?ContentTypeID=1</link><pubDate>Wed, 22 Jun 2016 09:35:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5250f8ca-828c-4683-99f9-81df84c9277a</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;HI,&lt;/p&gt;
&lt;p&gt;I used the ble_app_uart_c and ble_app_uart, for central and peripheral. The intervals that I used are: 7.5ms on min and max interval connection, and slave latency 0. I then started a timer with one second and just printed a counter that is counting every time a transfer is completed. I was using two nrf51-dk with the SD130v2. If you need something else just say. Or maybe make a question and post the link here, so I can answer you there.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49567?ContentTypeID=1</link><pubDate>Wed, 22 Jun 2016 08:35:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28a4e169-6cee-43e9-b4fc-1b6e07d77da4</guid><dc:creator>djqtsg</dc:creator><description>&lt;p&gt;Hi Jorge,&lt;/p&gt;
&lt;p&gt;Can you elaborate how you achieve 137 kbps peripheral-2-central throughput? Which sample application did you use or do you have your own app? What are the parameters you play with?&lt;/p&gt;
&lt;p&gt;Thx
DJ&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49566?ContentTypeID=1</link><pubDate>Tue, 26 Apr 2016 09:41:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bcacf257-d8c0-4726-9a63-f7637d9c0ceb</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;I found &lt;a href="https://devzone.nordicsemi.com/question/74019/how-to-transmit-6-packets-in-s130-uart-central/"&gt;this question&lt;/a&gt; that he wants to change also to the High Bandwidth. I&amp;#39;m still not able to change the bandwidth to high, I think it has to do to the RAM, but not sure, if I have a solution to change to High I&amp;#39;ll post here. From what I understood for the counts it&amp;#39;s like this&lt;/p&gt;
&lt;p&gt;&lt;code&gt;{&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;uint8_t high_count;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;uint8_t mid_count;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;uint8_t low_count;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;}ble_conn_bw_count_t&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;so it should be (high_count, mid_count, low_count) don&amp;#39;t understand the default numbers either.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49565?ContentTypeID=1</link><pubDate>Tue, 26 Apr 2016 00:14:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:510f1a33-ef18-4954-815e-03fb6a7a4592</guid><dc:creator>karl</dc:creator><description>&lt;p&gt;Could my problem be I&amp;#39;m not setting the bandwidth to high in the Central?  I tried that, and now of course I&amp;#39;m getting NRF_ERROR_NO_MEM when I attempt to connect.&lt;/p&gt;
&lt;p&gt;I find the 2.0 documentation (API and SDS) on the bandwidth configuration confusing.  For example, why are there high, mid, and low memory pool counts while the common bandwidth connection option can only be set to a single mode?  Are 2 of the counts ignored?  How do I determine the values for the counts?  Looking at the default counts doesn&amp;#39;t make a lot of sense either -- 192, 7, 0 for tx and 0, 209, 6 for rx.  Finally, I couldn&amp;#39;t find any examples in the SDK using the bandwidth configuration APIs.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49564?ContentTypeID=1</link><pubDate>Mon, 25 Apr 2016 13:13:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:206edd35-8ae4-4e49-9395-3119d90cdf3d</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;It may not be a BLE_EVT_TX_COMPLETE for each transmitted notification. However, the BLE_EVT_TX_COMPLETE event contains the number of packets that were transmitted during that event, see the  &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s130.api.v2.0.0%2Fgroup___b_l_e___c_o_m_m_o_n___a_p_p___b_u_f_f___m_s_c.html&amp;amp;cp=2_6_2_1_0_2_0_4_0"&gt;app TX packet managment message sequence chart&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The best way to find the number of transmitted packets per connection interval is to use the sniffer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49563?ContentTypeID=1</link><pubDate>Mon, 25 Apr 2016 07:24:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d170dc6c-3707-4dd7-8014-ffaf53d77374</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;I also had this problem sending from the central to the peripheral (write without request), getting only 1 packet for connection, which give me a 27kpbs. But if i send from the peripheral to the central by notification I have a throughput of 137kbps. both on, I have 27kbps from the central and 125kbps from peripheral which give me a 152kbps on the worst cases. I think I&amp;#39;m only sending one packet because I&amp;#39;m not defining the bandwidth to high on the central side, but still have to look. To count the packets you can use BLE_EVT_TX_COMPLETE, yes. I&amp;#39;m using another variable, because I&amp;#39;m using NUS also.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49562?ContentTypeID=1</link><pubDate>Fri, 22 Apr 2016 23:38:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90f7758c-3946-4c32-935f-9291923f9976</guid><dc:creator>karl</dc:creator><description>&lt;p&gt;I&amp;#39;m testing S130 v2.0 throughput and don&amp;#39;t seem to be able to get anywhere near 128kb/s?  My application rapidly sends 12 20-byte notifications and its taking an average of 37ms, which  comes out to less than 60kb/s (assuming 23 bytes/pkt).  I&amp;#39;m using nRF51s with the new stack on both Central and Peripheral devices.  And I&amp;quot;m using 7.5ms connection interval.&lt;/p&gt;
&lt;p&gt;By the way, is the best way to tell if you are getting 6 packets per connection event is to see a tx_complete count of 6 in the BLE_EVT_TX_COMPLETE event?  I&amp;#39;m only seeing a count of 1.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49561?ContentTypeID=1</link><pubDate>Thu, 07 Apr 2016 13:32:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e46aaff1-14db-465d-a83f-e6287b0add66</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;Thank you for the answer, that was all I wanted to know!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49560?ContentTypeID=1</link><pubDate>Thu, 07 Apr 2016 12:28:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1969ac5e-7c28-4100-a810-2f059f941e82</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Yes, your understanding is correct.&lt;/p&gt;
&lt;p&gt;If the peripheral change from client to server, a new link is not needed. As long as there is only one link, i.e. one central and one peripheral the throughput will still be the same.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49559?ContentTypeID=1</link><pubDate>Thu, 07 Apr 2016 10:03:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9850191f-d404-42eb-8824-32a4f0c80ca4</guid><dc:creator>Jorge</dc:creator><description>&lt;p&gt;sorry if I understood incorrectly, but from what you explained the S130 can send/receive :
6(packets)*20B(packet_size)*1/0.0075(connection interval)=16kB/s=128kbps
Is this correct? this is for one link only.&lt;/p&gt;
&lt;p&gt;What I want to know is if in this link I can change the peripheral from client to server or when I change it if I need to connect on a new link? If so I would have the 64 instead of the 128kbps, right?&lt;/p&gt;
&lt;p&gt;Sorry if I&amp;#39;m not being clear in what I want to do, and thank you for the help&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Maximum data throughput.</title><link>https://devzone.nordicsemi.com/thread/49558?ContentTypeID=1</link><pubDate>Thu, 07 Apr 2016 08:44:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b095e77-2213-4879-a355-2b17152aa2e8</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;S130 and S132 v.2.0 supports up to 6 packets per connection interval per connection, no matter if the device is central or peripheral. However, the minimum connection interval depends on the number of connected links.&lt;/p&gt;
&lt;p&gt;For one connected link, central or peripheral, the minimum connection interval is 7.5 ms.&lt;/p&gt;
&lt;p&gt;For two links, the minimum connection interval is 15 ms if you want to be able to transmit 6 packets per connection interval per link.&lt;/p&gt;
&lt;p&gt;As you understand, if you want to be able to transmit 6 packets per connection interval, the connection interval has to be at least  total number of connected links * 7.5 ms. The reason is that it requires some time to transmit packets over the air, and more packets to transmit, more links, require more time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>