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

Increase speed of transmission

Hello everyone, 

I am a beginner with BLE and the nRF52, so I apologize in advance if this question is pretty simplistic. Basically, I am trying to achieve the most data transfer as possible. I've read this blog post (and the accompanying links) https://devzone.nordicsemi.com/f/nordic-q-a/25859/nrf52832-ble-maximum-throughput. But, I think my issue stems from my receiver side.

I am using a Raspberry Pi (with bled112 bluetooth dongle) to read the characteristic value from the nRF52. I have experimented with different sizes of the characteristic value to see how that affects the time per read: the fastest I've been able to achieve is 429 Bps. This is pretty far off from what the specs say is possible. Does anyone have any advice for how to increase throughput? I've enabled notifications, and set the following parameters since that's what it says to do in the blog post above. I really appreciate any advice that you might have, and thank you in advance for helping a beginner out.

MIN_CONN_INTERVAL = 400
MAX_CONN_INTERVAL = 400
Parents
  • Hello,

    I am a beginner with BLE and the nRF52, so I apologize in advance if this question is pretty simplistic.

    Welcome! Do not worry about it, we were all new to this sometime.

    To familiarize yourself with the different connection parameters and their impact, I would recommend taking a look at the ATT_MTU throughtput example from the SDK. This example requires two nRF boards - do you have this available? I would think you could run it partially against the BLED112, but I have never tried this myself and cant guarantee how it will behave(I do not know what firmware the BLED112 is running, or anything about its BLE stack).
    You might also benefit from seeing this implementation of an image transfer demo, to see the difference between the 1 Mbps and 2 Mbps PHY, and how to achieve high transfer speeds when connected to an Android smartphone.

    I am using a Raspberry Pi (with bled112 bluetooth dongle)

    Be advised that the BLED112 Bluetooth adapter might not support the full capacity of BLE transfers. A brief search for the BLED112's capacity yielded this forum thread, which seems to indicate that the BLED112's buffers limits it to 170 kbps. I have no personal experience with the BLED112 module, and I do not know which firmware and IC version you have, so the forum post I linked might be inaccurate.
    Given this information, I would think that you would be able to increase your transfer speed the most by reducing the connection interval, and making sure that the packets are collected from the buffers of the BLED112 quick enough to avoid congestion. Could you try this out, and see what difference it makes for your throughput?

    Best regards,
    Karl

  • Hi Karl,

    Thank you so much for the detailed reply! I really appreciate the guidance. I will go through everything you mentioned, and hopefully it makes a difference. Thanks again!

  • Hello,

    JakeSprenger said:
    Thank you so much for the detailed reply! I really appreciate the guidance.

    No problem at all, I am happy to help!

    JakeSprenger said:
    I will go through everything you mentioned, and hopefully it makes a difference.

    Great, I hope you achieve the desired results!

    Do not hesitate to open a new ticket if you should encounter any other issues or questions.

    Good luck with your development!

    Best regards,
    Karl

Reply
  • Hello,

    JakeSprenger said:
    Thank you so much for the detailed reply! I really appreciate the guidance.

    No problem at all, I am happy to help!

    JakeSprenger said:
    I will go through everything you mentioned, and hopefully it makes a difference.

    Great, I hope you achieve the desired results!

    Do not hesitate to open a new ticket if you should encounter any other issues or questions.

    Good luck with your development!

    Best regards,
    Karl

Children
No Data
Related