Abhinandan
Abhinandan

Reputation: 128

What is the maximum possible throughput that could be achieved through BLE Android Nexus 9 device?

I am trying to send around 10 MB of data through BLE from Android device, currently able to achieve 17Kbps, is this the best throughput through BLE or can it be improved by any means.

Upvotes: 0

Views: 1324

Answers (2)

Nithin P
Nithin P

Reputation: 531

17KBps is not very bad throughput. From the Android application side, the BLE throughput can be modified by two ways. You can try these methods.

(1) Use BLE write data without acknowledgement and do error checking of data from the application layer. This will improve the data transfer speed compare to write with response.

(2) Use the Data length extension feature in BLE 4.2. This can be used to increase the throughput if the host and controller of both devices support this feature. Normally when initializing a BLE connection both devices will negotiate to set maximum data length supported by both devices. If you want to manually set Data length in Android devices, use set MTU function. Data length will be set to “new MTU + 4 bytes”. 4 bytes are L2CAP overhead.

Upvotes: 1

chrisc11
chrisc11

Reputation: 844

There are many factors that go into controlling BLE throughput. The theoretical max you can achieve using GATT based APIs (and no LE Data Packet Length Extension) is 37.6 kilobytes / sec. In practice the best numbers you can achieve on an Android phone (with a good BLE chip) are going to be in the ~20kBps range

If you are interested in more details about the different factors controlling throughput check out this article

Upvotes: 2

Related Questions