I’ve been playing with the new NRF54 Xiao devices, and so far so good. However, I’m trying to get distance measurements using channel sounding and am having very little luck. I’ve seen a lot of posts about this on different forums. The distance measurements aren’t very good, and the stability isn’t very good. I’m using SDK version 3.1.1, and am getting some very dubious responses to the channel sounding initiator and responder from the Seed studio git package samples. The distances are not even close, these devices are 3m apart fixed distance, clear LOS, no real obstructions and not a lot of BT noise in this area. The example hangs up after a while and needs to be unplugged/replugged to even make a new connection.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Ranging data dropped as peer ranging counter doesn't match local ranging data counter. (peer: 3, local: 2)
I: Distance estimates on antenna path 0: ifft: 5.897955, phase_slope: 7.113482, rtt: 9.689926
I: Sleeping for a few seconds...
I: Distance estimates on antenna path 0: ifft: 5.573058, phase_slope: 7.101714, rtt: 9.617278
I: Sleeping for a few seconds...
I: Dropped subevent results. Waiting for ranging data from peer.
I: Ranging data dropped as peer ranging counter doesn't match local ranging data counter. (peer: 52, local: 51)
I: Distance estimates on antenna path 0: ifft: 5.573058, phase_slope: 7.101714, rtt: 9.617278
I: Sleeping for a few seconds...
Eventually it does this and dies
I: Distance estimates on antenna path 0: ifft: 5.348878, phase_slope: 6.813016, rtt: 9.185308
I: Sleeping for a few seconds...
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Dropped subevent results. Waiting for ranging data from peer.
I: Distance estimates on antenna path 0: ifft: 5.351662, phase_slope: 6.813016, rtt: 9.185308
I: Sleeping for a few seconds...
*** Booting nRF Connect SDK v3.1.1-e2a97fe2578a ***
*** Using Zephyr OS v4.1.99-ff8f0c579eeb ***
I: Starting Channel Sounding Initiator Sample
I: SoftDevice Controller build revision:
I: fc de 41 eb a2 d1 42 24 |..A...B$
I: 00 b5 f8 57 9f ac 9d 9e |...W....
I: aa c9 b4 34 |...4
I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF54Lx (0x0005)
I: Firmware: Standard Bluetooth controller (0x00) Version 252.16862 Build 1121034987
I: HCI transport: SDC
I: Identity: FC:F4:5D:D6:92:79 (random)
I: HCI: version 6.1 (0x0f) revision 0x3069, manufacturer 0x0059
I: LMP: version 6.1 (0x0f) subver 0x3069
I’ve been playing with adding the following to the prj.conf file, but I don’t think it’s changing anything in terms of additional buffer space for messaging.
CONFIG_BT_RAS_RRSP=y
CONFIG_BT_RAS_RRSP_RD_BUFFERS_PER_CONN=8
Is there anything I can do to make this test more effective? Are those measurements in meters (this is what I gather based on my searching)? There is a lot of “This is still beta” out there about channel sounding, but there is a video which shows it working really well on youtube even. But clearly, the sample code as is does not work very well.