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

Optimising throughput in case of small data

Hi Team,

I am using nRF52832 to develop a device that sends Bluetooth signals to a smartphone.
I am sending only small, 1-byte pieces of data, but it is critic to send them as quickly as possible.
I am trying to optimise the data throughput, I have read that the following parameters can affect it: 
- connection interval
- PHY data rate
- MTU size
- DLE

I am not sure if I understood them correctly, but only modifying connection interval is valid in my case, and everything else is useful only with larger data amount, right?

Thank you,
Tibor
Parents
  • Hello Tibor,

     

    I am sending only small, 1-byte pieces of data, but it is critic to send them as quickly as possible.

     So you don't want to optimize the throughput, but you want to optimize the latency.

    You can use 2MBPS if possible, but the difference between 2MBPS and 1MBPS is not very large in this case, since the payload size is so small. The main delay in this case is simply the connection interval, and unfortunately phones are quite strict on connection intevrals. You can request a short connection interval (by adjusting your MIN_CONN_INTERVAL and MAX_CONN_INTERVAL in the peripheral's project), but it is always the central that has the final saying in what connection interval that is used. Typically for phones this is 15ms, but it depends on the phone.

    So if the connection interval is fixed to 15ms, then you will have a latency between 1-2ms and 15ms, based on when you queue your data.

    For low latency, you should always use notifications from the peripheral to the central.

    Best regards,

    Edvin

  • Hi Edvin,

    Thank you very much for the clarification!

Reply Children
No Data
Related