Hi,
Wanted to report an issue with iOS BLE transfer speed being lower than expected on nRF5340 (nRF connect SDK)
We tried to get the same throughput on BLE as nRF52840 and iOS, but failed. The iOS application, and code are unchanged between the tests.
For baseline testing:
Used the https://github.com/NordicPlayground/nrf52-ble-image-transfer-demo example
We modified this application to remove camera dependency. (attached in google drive link below)
And for iOS application, we used https://github.com/NordicPlayground/iOS-Image-Transfer-Demo as the iOS aplication for baseline testing.
With MTU=498, and 244 BLE transfer length (244+7 headers) is what gave us north of 80KBps - 100 KBps
For nRF5340 evaluation:
- We used the https://github.com/NordicPlayground/nrf70-wifi-ble-image-transfer-demo/tree/main/ncs_wifi_ble_camera/src as base fw, and modified it heavily to work with 5340, removed camera and wifi dependency.
- This should work with the iOS image transfer application
- Through put we achived was 30-40KBps / 200-350kbps
Another experiment we tried was taking a basicBLE Nordic UART example and modified it for maximux througput.
Tuned MTU, connection interval from 7.5ms, 15ms, and all values around it. MTU and payload size were also explored, but the best I got was the same settings as above, MTU=498, interval = 15ms.
Link to all code and experiments along with packaet captures is available here:
https://drive.google.com/drive/folders/1Oh1i5HmAwgHEyc-FIOyb4Uvi-NBMpFAr?usp=drive_link
File included are:
nRF_Connect_iOS_ble_image_transfer.zip (nRF5340 FW for image transfer demo)
peripheral_uart_2.6_sdk.zip(nRF5340 FW for image transfer demo over NUS)
image-transfer-demo_ios.zip (iOS application for image tasnfer demo)
Basic-Chat_ios.zip (iOS application for image tasnfer demo over NUS)
iOS-nRF_Connect_sdk_slow_throughput_x.pcap (slow throughput packet capture)
working_image_transfer_old_sdk_x.pcapng (nRF5 connect sdk high speed transfer)
Can you please help us achieve same speeds or better with nRF5 connect SDK.
On a side note, Android will happily give us the expected 1.2Mbps data throughput.