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

How to achieve higher throughput in Piconet using Nordic UART Service?

I have created a Piconet using nrf52840(s140). The 'Central' application was built on ble_app_uart_c example, which is now successfully connecting up to 7 peripherals. The Peripherals are also using NUS service to send data with(ble_nus_string_send) to Central.

I am generating some random data in peripherals. Data ranges are from 12kB/s to 10B/s in different peripheral device. I want to send total 15kB/s of data from 7 peripherals to Central.

My problem is- ALL the peripherals are only successfully sending data while I am sending limited amount of data. The central can receive upto 1kB/s in total, but the connection drops while I want to introduce a peripheral with a higher data rate(more than 1kB/s).The Central cannot maintain that connection in that case any longer.

I kept all the Connection Parameters same as examples. My question is- How I can achieve higher throughput in that system? Please feel free to ask additional questions. Thanks in advance.

PS: I am not sending/receiving any data via UART.

Parents
  • I was trying DLE by by EXACTLY following this and this . According to the recommendation for multiple connection from your link- I have set the connection event length around 50ms. But, the connection is still dropping in case of higher data throughput. Max data length achieved is 155. I tried only for one connection by setting connection event length to 400. It is still the same problem. if I try to #define NRF_BLE_GATT_MAX_MTU_SIZE 247 in sdk_config, the central device doesn't scan at all.

Reply
  • I was trying DLE by by EXACTLY following this and this . According to the recommendation for multiple connection from your link- I have set the connection event length around 50ms. But, the connection is still dropping in case of higher data throughput. Max data length achieved is 155. I tried only for one connection by setting connection event length to 400. It is still the same problem. if I try to #define NRF_BLE_GATT_MAX_MTU_SIZE 247 in sdk_config, the central device doesn't scan at all.

Children
No Data
Related