<?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>nRF52840 Thread Stack Data Throughput</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/65315/nrf52840-thread-stack-data-throughput</link><description>I have an application that will have up to 20 devices communicating with a gateway. Each device will need to send around 2MB of data every 5 minutes. We would like to use Thread for this for several reasons. My question is has anyone has done any throughput</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 31 Aug 2020 14:10:28 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/65315/nrf52840-thread-stack-data-throughput" /><item><title>RE: nRF52840 Thread Stack Data Throughput</title><link>https://devzone.nordicsemi.com/thread/267279?ContentTypeID=1</link><pubDate>Mon, 31 Aug 2020 14:10:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7cbdd78-0f15-4097-965b-9c296bcd48a8</guid><dc:creator>JustinH</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;This is not the answer I was hoping for, but it is the answer I expected.&amp;nbsp; Unfortunately none of the main wireless protocols on the market do what we really need.&amp;nbsp; We need the&amp;nbsp;self-healing routing, commissioning, and back-up boarder router capabilities of Thread with the data throughput normally associated with&amp;nbsp;Wi-Fi.&amp;nbsp; Time to get creative.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52840 Thread Stack Data Throughput</title><link>https://devzone.nordicsemi.com/thread/267124?ContentTypeID=1</link><pubDate>Mon, 31 Aug 2020 07:13:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8b722ef-4a38-49ce-b12f-f7d4b35b12f5</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;So you are looking at a throughput of about:&lt;/p&gt;
&lt;p&gt;20nodes * 2*1024*1024Bytes / (60 * 5 sec) * 8bit/Byte = 1 118 481 bps&amp;nbsp;≈ 1Mbps.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Typical throughput for a Thread network depends on the number of hops. You can see some charts &lt;a href="https://openthread.io/testing/performance-dashboard/average-throughput" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As far as I am aware of, we have not conducted any similar tests, but I guess the numbers from the charts will be sufficient in this case. The best case for throughput is 1 hop, and a large payload size (512B), which you can see &lt;a href="https://doc-00-3s-docs.googleusercontent.com/docs/securesc/uua21133kkkcncge46ca5kfg17hfjfoa/lpguaeotlutqbfejdnumlhloa4aqi645/1598856375000/07329288224931329203/06010545906234339172/1zvxTXisLmbzWz1bE5R2OlQhIn2gZ3Vdu?authuser=0&amp;amp;nonce=c6d4np51n2s8q&amp;amp;user=06010545906234339172&amp;amp;hash=qjtkqnhnmf5kgeaki5la88np4rimhin2" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;. It shows a throughput of about 100Kbps.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So the short answer is that the throughput in a Thread network si not sufficient for your use case.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t know anything about your application. Have you considered BLE? Based on your description it sounds like a better alternative. You say that all the nodes are within range of the gateway, so perhaps&amp;nbsp;a network is not necessary.&lt;/p&gt;
&lt;p&gt;By default, it is possible to support 20 links in BLE using the softdevice in the nRF5 SDKs. However, if it is possible to save the data and transfer every 5 minutes, I suspect that it may be a better option to stay disconnected, and connect whenever a node has data to send (every 5 min). This will also allow you to not stick to the hard limit of 20 devices.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The throughput of BLE is maximum 1.3Mbps, under ideal conditions, using 2MBPS PHY, and a long connection interval. Even in this case, it may be pushing the limit. Under ideal conditions it will take 12 seconds to transfer the 2MB. This means it will take 4min 6sec to transfer 2MB from 20 nodes. If you need to use the standard 1MBPS, it will take 7min 50 seconds to transfer 20*2MB.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So to summarize. This&amp;nbsp;&lt;strong&gt;may&lt;/strong&gt; be possible if you use BLE, and the range is short enough to use 2MBPS. If not, not even BLE can handle this throughput. Openthread can not handle this throughput.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am sorry. It is probably not the answer you are hoping to get, but perhaps it works in case of BLE, but you would need to test it under the conditions that the devices will operate.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>