I am working on firmware that acts as a BLE sensor hub to pipe BLE data from connected sensors to a PC over USB (using the CDC ACM UART interface). The peripheral sensors ship data to the hub via the NUS service. The hub implementation works perfectly on the nRF52840-DK and nRF5340-DK, but when I try to flash the same firmware to the Thingy:53 I run into an issue where the device takes a long time (30s to over a minute) to establish a BLE connection with the sensor, constantly disconnecting with a message saying it couldn't find the NUS service. This doesn't happen on the nRF5340-DK, which I figured should be comparable, or the nRF52840-DK. I looked around at the board configurations for the DK and the Thingy but I didn't see anything glaringly obvious that should affect the performance. I actually would have expected an improvement with the better FEM on the thingy, but that has not been the case.
Any ideas what is going on? The project configuration is here, with the hci_ipc config here.
And below is a sample log. You see after connecting it has GATT issues. In general the BLE connectivity also doesn't seem to be very reliable, on this run when it finally connected it wasn't actually receiving any data, and when I turned the peripheral sensor off it thought it was still connected for at least ten minutes before I turned it off. I should mention that this firmware runs reliably for multiple sensors on custom nRF52832 and nRF52840 devices, as well as the nRF5340-DK, which is maybe why I'm having some trouble tracking down why the Thingy is behaving differently.