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

Maximize data transfer rate

Hi. I'm developing solution for vehicle driving data gathering system.

Our customer want to get the driving data for 1000/s.

So, I was developed hardware and software, but I get only 420~440 data per seconds.

My connectino parameter is as follow:

conn_params.min_conn_interval = 8;	
conn_params.max_conn_interval = 16;	
conn_params.slave_latency     = 0;	
conn_params.conn_sup_timeout = 500;	

PHY is AUTO.

How can I maximize data transfer rate?

  • Hi,


    What is the unit of your result?

    It seems to be a byte but I am not sure what is the unit of your number.

    There are multiple factors for achieving maximum throughput such as connection interval, datarate, packet size, packet type, etc...

    If you are using nRF52 devices both central and peripheral, it can be reached out to around 1.3~1.4Mbps.

    There is an example in nRF5 SDK that measuring through between nRF5 DKs.

    I recommend you check this example first.

    Also, this post can be helped you for understanding the details

    If you are using a mobile device such as Android/iPhone for the central device, it might not be achieved 1.3Mbps due to there is a limitation in setting the minimum CI.

  • Hi. thank you for reply. I tested it using two nRF52 device that is self-designed circuit and unit is counts per seconds.

    (calculate using RTC2 compare interrupt every 1 seconds)

    As I know, nRF52832 can actually transmit over 1Mbps as you said so It is almost 125000Bytes/s.

    This system adopted hand-shaking method. 

    How can I get the data more fast?

  • Hi.

    It is not possible to reach 125kB/s with 1Mbps.

    Here is another throughput result that was tested with the S132 stack.

    As you can see, the maximum result with 1Mbps/DLE/400ms CI is 771kbps.

    That means it is possible to send 96kB(771kb/8) per second.

    If you are implemented in your own bi-directional communication, it will be slower than this result.

    I would suggest you try the configuration stated in the link and also try with 2Mbps and DLE if you are not using the DLE.

Related