NRF52840 Peripheral NUS with BIS receiver

Hi Nordic Team,

I am working on implementing synchronized sensor sampling on multiple Bluetooth devices that are externally triggered. To achieve this, I have combined the Peripheral NUS example with the ISO Time Sync example.

Currently, the data throughput with only the NUS enabled is around 900 kbps. However, once I add the ISO Sync (BIS) receiver, the throughput drops to 250 kbps. I’ve noticed that enabling the ISO Sync Receiver in the NUS Peripheral example, with just the configurations CONFIG_BT_OBSERVER=y and CONFIG_BT_ISO_SYNC_RECEIVER=y (without any additional code), also results in a throughput drop to 250 kbps.

Is this expected behaviour? If not, could you please provide guidance on how to proceed?

My primary objective is to asynchronously trigger multiple sensors to sample data simultaneously, as high precision is essential. Furthermore, each sensor should be capable of transmitting data at a rate of 600 kbps.
I have created a BIS transmitter with an SDU interval of 1 second, and I expected not to experience a significant drop in throughput. However, it seems I must be doing something wrong.

My setup consists of two NRF52840DK boards, and I am using NCS 3.0.0.

Thank you for your assistance!

BR,

Nash

  • Hi Nash, 

    nmiric said:
    In the meantime, I’ve been investigating further and found that when ISO channels are enabled, the data length for both Rx and Tx does not update as expected (BT_GAP_DATA_LEN). They remain at the default value of 27 bytes instead of changing to the desired value of 251 bytes.

    Good find. By default the data length is capped at 27 bytes to reserve minimum time for ACL and more for ISO. 

    nmiric said:
    I believe this comes down to the question: what parameters should be used to enable data length settings (BT_GAP_DATA_LEN)  when ISO channels are in use?

    To increase the packet size when ISO is enabled, you need to enable CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT_OVERRIDE and set CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT to a value which suits your application. 

    Best regards,

    Maria

  • Hi Maria,

    Thank you so much for your help! You truly solved my problem.

    Best regards,

    Nash

Related