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

nRF51 Dongle as a standard Bluetooth Smart 4.2 Dongle

I have 2 nRF51 Development kits and a nRF51 dongle that I am using for proof of concepts. I am mainly using the nRF51 IoT SDK because we are looking at using IPv6 with 6LoWPAN. I have a standard Bluetooth 4.0 dongle that is connected to my Linux box and I have done several client/server experiments between the linux box and the development kits. The next item that I want to do is to do a speed test to show the difference between a connection that has two 4.2 devices however I can not find a standard bluetooth 4.2 compliant dongle (4.2 is suppose to be 10X faster than 4.0) for sale therefore I thought I could configure the nRF51 development dongle as a standard dongle that I could connect to my Linux box. I may be totally missing something obvious (would not be the first time) but is there a way I can configure (soft device + application) to make the nRF51 development dongle act as a standard Bluetooth 4.2 compliant dongle that I can use with my Linux box?

Parents
  • Throughput depends mainly on three parameters, amount of data in each packet, connection interval, and the number of packets in each connection interval.

    The nRF51/IoT SoftDevice should support a minimum connection interval of 7.5 ms and 6 packets in each connection interval. The on-air maximum packet length is 31 bytes, and then you need to subract the BLE headers and the IPv6 headers to get the actual data that is sent. Let's just say it is 20 bytes of data, or a bit less, in each packet.

    Pushing the limits a throughput close to 20 bytes * 6 / 0.0075 = 16kB/s should be achieveable. However, the throughput also depends on the central device, or the dongle you have connected to your Linux box. I know that for example BCM43340 only supports 1 packet per connection interval. Then the throughput would be 20 bytes * 1 / 0.0075 = 2667 B/s, which is closer to what you are experiencing. This could be a coincidence, and you are actually using a bigger connection interval. I'm not sure.

    Data packet length extension is currently not supported by any of our SoftDevices, for nRF51 or nRF52. It will not be supported on nRF51, but of course this is something we are interested in implementing on nRF52. As you may know the latest release of the IoT SDK/SoftDevice was for the nRF52, and future releases will only be for the nRF52. So that it will not be supported for the nRF51 doesn't really matter for IoT.

    If you are interested in if and when data packet length extension will be supported by the IoT SoftDevice for the nRF52 I suggest you contact the regional sales manager for your area. If you don't know who it is, send me a PM with your location and I'll let you know.

Reply
  • Throughput depends mainly on three parameters, amount of data in each packet, connection interval, and the number of packets in each connection interval.

    The nRF51/IoT SoftDevice should support a minimum connection interval of 7.5 ms and 6 packets in each connection interval. The on-air maximum packet length is 31 bytes, and then you need to subract the BLE headers and the IPv6 headers to get the actual data that is sent. Let's just say it is 20 bytes of data, or a bit less, in each packet.

    Pushing the limits a throughput close to 20 bytes * 6 / 0.0075 = 16kB/s should be achieveable. However, the throughput also depends on the central device, or the dongle you have connected to your Linux box. I know that for example BCM43340 only supports 1 packet per connection interval. Then the throughput would be 20 bytes * 1 / 0.0075 = 2667 B/s, which is closer to what you are experiencing. This could be a coincidence, and you are actually using a bigger connection interval. I'm not sure.

    Data packet length extension is currently not supported by any of our SoftDevices, for nRF51 or nRF52. It will not be supported on nRF51, but of course this is something we are interested in implementing on nRF52. As you may know the latest release of the IoT SDK/SoftDevice was for the nRF52, and future releases will only be for the nRF52. So that it will not be supported for the nRF51 doesn't really matter for IoT.

    If you are interested in if and when data packet length extension will be supported by the IoT SoftDevice for the nRF52 I suggest you contact the regional sales manager for your area. If you don't know who it is, send me a PM with your location and I'll let you know.

Children
Related