Great up close. Hard to trust beyond that.
Bluetooth 6.0’s Channel Sounding has been one of the most talked-about additions to the spec — the promise being that Bluetooth can finally tell you not just whether something is nearby, but how far away it actually is. Our application engineer Brandy put that promise to the test with two XIAO nRF54LM20A boards, a ruler, and an ordinary indoor room.
Why the Test Mattered
What interested Brandy most about Channel Sounding wasn’t the protocol itself, but what it could enable in real products.
A smart lock would no longer have to know only that your phone is “somewhere nearby” — it could potentially know whether you’re actually standing in front of the door. A smart entryway could estimate how close someone is. A robot could approach a target based on distance without needing a separate ranging sensor.
Before Channel Sounding, Bluetooth mainly relied on RSSI for proximity detection. RSSI is useful for telling whether something is getting closer or farther away, but it’s not good at answering a much more useful question: how far away is it, exactly? That gap is what drove the test — not whether Channel Sounding produces a number, but whether that number can be trusted today.
The Setup
Brandy used two XIAO nRF54LM20A boards, one as the Initiator and one as the Reflector. The method was intentionally simple: measure the real distance with a ruler, then compare it directly against the distance Channel Sounding reported.
Crucially, this wasn’t done in an ideal RF lab. Most measurements took place in a normal indoor environment — because if Channel Sounding is eventually going into smart locks, robots, trackers, or other consumer devices, it will have to cope with desks, walls, glass, people, reflections, and everything else the real world contains.
First Surprise: 40–50 cm Was Already Off
The boards started around 40–50 cm apart. That’s already a very short distance, so a reasonably close result seemed likely.
It wasn’t. There was already a noticeable gap between the real distance and the ranging result.
Rather than immediately moving farther away, Brandy went the other direction — to find out how close the devices had to be before Channel Sounding produced something that could fairly be called accurate.
At 8 cm, It Looked Perfect
At around 8 cm, the result finally landed.
After adjusting the board distance offset, the real distance was about 8 cm and the IFFT estimate came in around 7.66 cm — with very stable readings. At that moment, it was easy to believe Channel Sounding was already working.
But one detail in that setup turned out to matter enormously: the antennas were very carefully aligned.
So the 8 cm result doesn’t show that Channel Sounding is already accurate. It shows something much narrower: at short range, after calibration, and with a favorable antenna orientation, Channel Sounding can be very accurate. That distinction turned out to be the heart of the whole test.
Then the Boards Moved Apart
To see whether the result would survive outside that best case, Brandy increased the distance step by step — 40–50 cm, 1 m, 1.1 m, 1.5 m, 1.6 m, 2 m, and eventually close to 3 m.
The individual numbers matter less than the pattern. At around 1 m, a real distance of 1 m produced an IFFT result of roughly 4 m. In another measurement, moving the boards just from 1.0 m to 1.1 m — antennas still facing each other — swung the estimated distance by several meters.
Worth noting what that chart shows beyond the headline numbers: Channel Sounding reports distance through several estimation methods, and they don’t agree. IFFT stayed closest to the truth throughout, Phase Slope sat consistently above it, and RTT was furthest off — reporting well over 5 m at an actual 2 m. The figures quoted here are the IFFT results, in other words the most favorable of the three.
That last point is important, because these longer-range tests were not done with the boards randomly rotated. The antennas remained facing each other throughout. So the poor results at 1 m, 1.5 m, and 1.6 m can’t be explained away as bad orientation. Even under favorable alignment, the ranging result was already becoming unreliable as distance grew.
This is where the picture changed. It didn’t look like a gentle curve of “a few centimeters of error up close, slightly further out.” It looked like a much sharper operating boundary: excellent results at very short range, then a point beyond which the reported distance simply stopped tracking reality in a trustworthy way.
Orientation Makes It Worse
Only after establishing that did Brandy isolate orientation as its own variable.
Moving the boards back to a shorter distance and changing the antenna angle made the problem even more obvious. The devices weren’t farther apart — only their orientation had changed — yet measurement variation increased significantly.
This matters far more once real products enter the picture. Users don’t think about where the antenna is. A phone rotates. A tracker on a keychain rotates. A robot changes direction. Anything a person holds is constantly changing orientation.
If a smart lock only achieves its best centimeter-level accuracy when the user’s phone happens to be held at a particular angle, that accuracy isn’t especially useful.
Environment Is Another Variable
Placing glass between the two devices changed the measurement again.
Brandy is careful not to claim that “glass adds exactly X centimeters of error” — the glass thickness, coating, angle, and the room’s reflections weren’t controlled variables. But the result was enough to demonstrate that the surrounding environment is yet another factor shaping the final number.
At 3 m, a Different Kind of Problem
As the distance approached 3 m, a new failure mode appeared. The issue was no longer just inaccuracy — some ranging procedures stopped producing complete data altogether. Peer and local ranging counters failed to match, and subevents were aborted. At that point the question shifted from how large the ranging error was to whether the ranging attempt had completed at all. For a shipping product, that’s a far bigger problem.
The Conclusion
A demo only needs a handful of good measurements to look impressive. A product needs to work when the user rotates the device, walks around, stands near glass or furniture, and moves from 50 cm to 2 m without thinking about any of it.
Channel Sounding can measure distance, and under ideal short-range conditions it produces genuinely impressive results. But based on these measurements, Brandy doesn’t consider it ready to be treated as a reliable ranging solution for products like smart locks, robots, or trackers.
Users don’t need one perfect 7.66 cm measurement. They need the number to stay believable when the device rotates, when the distance changes, when something comes between the devices, and when the RF environment is no longer ideal. In these tests, it didn’t reach that level.
So, Is Channel Sounding a Gimmick?
At its current stage, its practical value does look limited — there isn’t yet a solution mature enough for straightforward product deployment.
But that’s not the same as calling the underlying technology meaningless. The basic ranging principle is sound, and there’s plenty of room for the system to improve: antenna design, calibration, distance-estimation algorithms, multipath handling, orientation compensation, and failure recovery.
It’s also worth noting that this story is far from finished. Nordic continues to update its Channel Sounding samples and development support, while the Bluetooth SIG keeps working on the Ranging Profile. Bluetooth 6.0 itself doesn’t define a single universal distance-estimation algorithm — so the IFFT, Phase Slope, and other results seen today still depend heavily on the chipset vendor’s implementation and software stack.
In other words, today’s disappointing results don’t mean Channel Sounding will never work. A more accurate framing: the low-level ranging capability already exists, but the algorithms and product experience are still maturing.
Which is exactly why Brandy plans to re-run these same tests after future SDK and ranging-algorithm updates.
An Open Invitation
Brandy’s closing note to the community: if anyone has a really good Channel Sounding distance-estimation algorithm, please help. 🙏
If you’ve managed to get stable results across different distances, antenna orientations, and real indoor environments, he’d genuinely like to see how you did it — drop a comment below.
End Note
Hey community, we’re curating a monthly newsletter centering around the beloved Seeed Studio XIAO. If you want to stay up-to-date with:
🤖️ Cool Projects from the Community to get inspiration and tutorials
📰 Product Updates: firmware update, new product spoiler
📖 Wiki Updates: new wikis + wiki contribution
📣 News: events, contests, and other community stuff
Please click the image below👇 to subscribe now!