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

BLE Nordic UART service speed

Hi!

For my master's dissertation I am currently investigating the possibilities of Bluetooth Low energy in terms of speed. I am using the Nordic UART service to send as much data as possible from an nRf51822 to my phone (using a custom app). I was wondering if there is a known theoretical maximum speed limit using this service, and if and how this depends on my phone. I also would like to know if there are better services/profiles to use for fast data transfer. And finally, how long does it take to develop such a service (just out of curiosity)?

Thanks in advance!

Parents
  • Hi GJ,

    There are numbers about theoretical maximum throughput in Nordic SoftDevice specifications because that's mainly depending on BLE stack configuration and capabilities. We could take it as "theoretical" maximum. Note that you can go with other variants like open source projects (e.g. Zephyr, Mynewt, mbed...) or complete custom BLE stack. These will again give you some other maximums (note that choosing nRF52 instead of nRF51 would give you way more options as that chip is bigger, has already some BT5 features and most of the projects focus on it). There are surprisingly many factors affecting maximum theoretical and practical speed of BLE connection. Some of them are discussed in this Q&A but with new standards, devices (phones as well as SoCs) and stacks this is becoming more and more complex.

    Regarding better transfer methods Nordic BLE UART (NUS) service seems to be without any overhead on (G)ATT layer so you can consider it "ideal" (although it's harder to use it for APPlication protocols which limited buffers and thus they need some "last fragment" or some "explicit length header" indication) but if you are thinking about BLE overall indeed you can go directly on L2CAP or LL layers and you will again save some overhead. Nordic SoftDevices support API for direct L2CAP access.

    Developing of any new (G)ATT or L2CAP based protocol with good knowledge of underlying stack and HW platform (e.g. nRF5x SoC) is matter of weeks (2-6?).

    Cheers Jan

Reply
  • Hi GJ,

    There are numbers about theoretical maximum throughput in Nordic SoftDevice specifications because that's mainly depending on BLE stack configuration and capabilities. We could take it as "theoretical" maximum. Note that you can go with other variants like open source projects (e.g. Zephyr, Mynewt, mbed...) or complete custom BLE stack. These will again give you some other maximums (note that choosing nRF52 instead of nRF51 would give you way more options as that chip is bigger, has already some BT5 features and most of the projects focus on it). There are surprisingly many factors affecting maximum theoretical and practical speed of BLE connection. Some of them are discussed in this Q&A but with new standards, devices (phones as well as SoCs) and stacks this is becoming more and more complex.

    Regarding better transfer methods Nordic BLE UART (NUS) service seems to be without any overhead on (G)ATT layer so you can consider it "ideal" (although it's harder to use it for APPlication protocols which limited buffers and thus they need some "last fragment" or some "explicit length header" indication) but if you are thinking about BLE overall indeed you can go directly on L2CAP or LL layers and you will again save some overhead. Nordic SoftDevices support API for direct L2CAP access.

    Developing of any new (G)ATT or L2CAP based protocol with good knowledge of underlying stack and HW platform (e.g. nRF5x SoC) is matter of weeks (2-6?).

    Cheers Jan

Children
No Data
Related