Limit for transfer rate of bluetooth low energy on iOS

Hi there,


I have developed a simple tool based on Apple's BTLE Transfer sample to measure maximal transfer rate for bluetooth low energy connection between two iOS devices. Peripheral sends data as fast as possible, central receives the data, computes and displays the results. Maximal MTU was 132 bytes for iOS 7 devices and 20 B for iOS 6, low latency configured (CBPeripheralManagerConnectionLatencyLow). I can provide source code if it is needed for analysis.


The highest transfer rate that I measured was about 3717 B/s between two iPads both running iOS 7 (average, about 5 MB transfered). The devices were located very close to each other, wi-fi disabled. All other tested variations were slower (medium/high latency configured, two iOS 6 devices, iOS 6 and iOS 7 device, iOS 7 and iOS 6 device, iPad and iPhone, wi-fi enabled, distance two meters, one device partially in a metal case, etc.).


I have available non-iOS BLE devices here that support MTU 512 B, but the numbers above should be construction limit caused by shared bluetooth/wi-fi/cellular antena according to Apple. Simply: bigger sizes can't be used with corebluetooth API, error is returned for them. Also connection interval and number of PDU per connection interval are set directly by iOS and are transparent for applications that uses corebluetooth API.


My questions:


- Are my measured results a limit for transfer rate of iOS devices available on market at the moment (November 2013)?

- Was someone from you able to reach a higher one?

- Can you optionally provide details how?


Any answer will be very appreciated.


Thanks,
Michal

iOS 7.0.3

Posted on Nov 5, 2013 8:20 AM

Reply
5 replies

Mar 10, 2014 2:17 AM in response to turekm1

Hi there,


I don't work on this project any more, so I only forwarded the email notification to colleagues and thought somebody will answer. I will share what I remember.


We developed a proof of concept application transfering real data from a real device with real timing that verified the mentioned transfer rate 3717 B/s with iOS 7 was enough in our case (about 3000 B/s was a real peek). We finally decided to support only iOS 7+ and to NOT support iOS 6 at all because the speed was just too slow and we were unable to make a reliable connection with it.


To your questions... yes, we have a working iPhone/iPad application for this testing, but no, I can't provide it. I was told I can write such offer when the sitiation was critical and we needed any possible help. But the situation changed and the small tool "became a property and it is very difficult to release it publicly; no we won't ask anybody to allow that". I'm very sorry :-(


But if you still need it, start with Apple's BTLE Transfer (google the sources) and update the central to send the data in a loop as fast as possible. Then update the peripheral part to count the amount of incoming bytes and the time from the start of the transfer. The rest is only a GUI and presenting of the results, nothing difficult. It can took about a day max.


Regards,

Michal

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Limit for transfer rate of bluetooth low energy on iOS

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.