This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE settings for max data transfer speed to iOS

Hello

I'm trying to send a dataset from the nRF51-DK over BLE to an iOS device. The total data to be sent is around 500 kB. What is the best method for transmitting this data quickly and what are the optimum BLE settings to achieve this? I am testing this using the iOS nRF UART app.

I am currently using the ble_app_uart_s110_pca10028 example in Keil v5. I have the code working sending strings of bytes using ble_nus_string_send command but it seems a bit slow. From reading other questions here on Devzone such as that linked below, sending 6 packets per interval is the maximum that can be achieved, how do I setup the code to transfer 6 packets on every interval?

devzone.nordicsemi.com/.../

What baud rate should I set the UART to, the default in the example code is 38400 with hardware flow control enabled. Or is UART over BLE even the best approach to transmit a reasonably large dataset with? Does iOS support hardware flow control?

Thanks

Parents
  • You should be able to get a connection interval of 11.25ms with iOS whe using it as a HID keyboard and it should be possible a add a proprietary service along with it. You can then discover that proprietary Service on your iOS app and use it to transfer data. This should get you a faster link and better bandwidth. The other parts of the answer by the other poster still stands in addition.

    Edit: Unfortunately when the link is at 11.25ms for HID, iOS 9.x and lower seems to restrict the number of packets in a connection interval to 1, which means this will not improve your bandwidth.

Reply
  • You should be able to get a connection interval of 11.25ms with iOS whe using it as a HID keyboard and it should be possible a add a proprietary service along with it. You can then discover that proprietary Service on your iOS app and use it to transfer data. This should get you a faster link and better bandwidth. The other parts of the answer by the other poster still stands in addition.

    Edit: Unfortunately when the link is at 11.25ms for HID, iOS 9.x and lower seems to restrict the number of packets in a connection interval to 1, which means this will not improve your bandwidth.

Children
Related