<?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 length of data over ble</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/9466/maximum-length-of-data-over-ble</link><description>I want to send a data of length 1024 bytes over the ble UART , but the maximum length of data is 20 bytes at a time. Is it possible to increase the data length per instance. Is that the only method to send long data over ble is to split into 20bytes.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Sep 2015 07:49:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/9466/maximum-length-of-data-over-ble" /><item><title>RE: maximum length of data over ble</title><link>https://devzone.nordicsemi.com/thread/34965?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2015 07:49:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ca6ae510-858f-4ab7-9777-b5c774eb5b87</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Our SoftDevices limit the payload of each packet to 20 Bytes. The problem is usually throughput, I&amp;#39;m not sure what your requirements are, but you can read more about throughput &lt;a href="https://devzone.nordicsemi.com/question/3440/how-do-i-calculate-throughput-for-a-ble-link/"&gt;here&lt;/a&gt;. But it seems you are talking about the actual input to the app, this is just how the app is made I think. You should be able to create some kind of buffer/queue between the user input to the app and the app output to the BLE module?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: maximum length of data over ble</title><link>https://devzone.nordicsemi.com/thread/34964?ContentTypeID=1</link><pubDate>Mon, 28 Sep 2015 15:13:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f8afdd0-dab8-419a-9977-fae8aea57bf1</guid><dc:creator>mukesh</dc:creator><description>&lt;p&gt;Thanks for the reply. What i have to achive  is, i need to send 1024 bytes over air to nrf51822.
But from the app the maximum data  i could send at a time is limitted to 20.bytes. I don&amp;#39;t know its exact  reason .
Even in the nrfuart app the maximum length of data i could type is 20 characters&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: maximum length of data over ble</title><link>https://devzone.nordicsemi.com/thread/34967?ContentTypeID=1</link><pubDate>Mon, 28 Sep 2015 14:47:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5655fc28-a396-414c-841b-a8a3ed19cae3</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;I just want to point out that long write will not increase throughput.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: maximum length of data over ble</title><link>https://devzone.nordicsemi.com/thread/34963?ContentTypeID=1</link><pubDate>Mon, 28 Sep 2015 14:47:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c837e6d-f70a-4e32-82a9-61b60cf6cfab</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;What do you mean by instance? What do you want to achieve? The current implementation of BLE UART gives you the highest throughput possible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: maximum length of data over ble</title><link>https://devzone.nordicsemi.com/thread/34966?ContentTypeID=1</link><pubDate>Mon, 28 Sep 2015 09:01:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53d28dc2-f011-4b20-8588-4b34fa14a1ce</guid><dc:creator>Michael Dietz</dc:creator><description>&lt;p&gt;Hey,&lt;/p&gt;
&lt;p&gt;One way of doing this is to implement long write. Just search the dev zone for questions on this topic as there are a lot. Follow this github example but repeat the steps for UART service: &lt;a href="https://github.com/NordicSemiconductor/ble_app_hrs---LongWrite"&gt;github.com/.../ble_app_hrs---LongWrite&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-It shouldnt be hard to implement this and BLE UART module in nRF toolbox for android will support this.&lt;/p&gt;
&lt;p&gt;However in some cases splitting the data into 20 byte packets is better. When doing a long write you will need to declare a buffer to store the read and this takes up a lot of ram. In your case to send 1024 bytes of data you might be looking at 1400 byte buffer because there is also overhead. And then you will need to parse the received buffer to extract your actual data.&lt;/p&gt;
&lt;p&gt;-Mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>