I have a custom built board with the nRF52840 and I'm trying to consistently transmit roughly 8 kilobytes per second or 64 kbits/s which seems way under the what Bluetooth 5 is capable of. However, when using the nRF Connect app on a Galaxy Note 8 and 10, I am unable to consistently receive this data rate for even a minute.
I have the connection priority set to high which seems to default to 15 ms intervals and the MTU is set to 244. Any ideas on what I could be doing wrong or what I could do differently?
Have you tested this with a development kit? Please do so in order to rule out whether this is a hardware or software issue. And how are you transferring the data between the nRF chip and the phone?
I have tested this with the nRF52840 development kit and I am experiencing the same occurrence. I'm not sure I understand your question but the data is being transferred via Bluetooth between the nRF chip and the phone and on the phone-side, I am using the nRF Connect app to view the data. I have also tried to send randomly generated data to make sure that it wasn't my specific application that was causing the issue. I have a feeling that Android has some kind of protocol to handle Bluetooth connections and is not allowing the user to dedicate additional time to a single Bluetooth connection. Any ideas or insights would be much appreciated.
You should be able to transfer data at these speeds between an nRF52 device and a Bluetooth 5.0 compatible phone. The connection interval seems to be good, but can you show me how you've configured the MTU and data length parameters in your application? This blog post shows you how to maximize throughput in your application.
You can also, if you have a spare DK, try sniffing the connection using the nRF Sniffer and check out / upload the sniffer log to see what happens in the connection itself.