Hardware VerificationAugust 20264 min read

How We Measure: The UWB Hardware Bench Reference Session

A claim without a method line and sample size is merely marketing copy. We document the physical setup, protocol handshake, and statistical distribution of our reference hardware ranging session.

The Objective: Proof of Physical ToF Yield

In RF ranging for autonomous swarms, two failure modes destroy formation integrity before an estimator can even begin: packet dropouts (missing ranging frames) and sentinel codes (unresolved time-of-flight frames where hardware returns error tokens such as 0xFFFF).

To establish our baseline empirical accuracy before flight trials, we built a dedicated hardware diagnostic session suite. Unlike quick smoke tests, this diagnostic utility inspects hardware capabilities via FiRa protocol primitives, verifies app configurations, and executes continuous two-way time-of-flight (TWR) ranging sessions.

Session Statistical Summary

204 / 205

Valid Ranging Frames

0

Sentinel Dropouts

0.722 m

Mean Measured Range

3.3 cm

Standard Deviation (σ)

The Hardware & Protocol Stack

The test bench links two production units of Luftschar's UWB unit mounted on optical rails:

  • Anchor (Node 0x0): Configured as FiRa Session Controller, initiating round-trip ranging sequences.
  • Tag (Node 0x1): Configured as FiRa Session Controlee, responding with precise hardware timestamp replies.
  • RF Configuration: IEEE 802.15.4z HRP UWB, Channel 5 (6489.6 MHz center frequency), 6.81 Mbps data rate, 64 MHz PRF.
  • Ranging Cadence: Continuous ~5.1 Hz cycle time (approx. 195 ms per complete frame exchange).

Methodology & Execution

The execution script proceeds through three deterministic checkpoints:

  1. Board Interrogation: Calls CORE_GET_DEVICE_INFO and CORE_GET_CAPS_INFO to confirm firmware build, antenna delay calibrations, and protocol capabilities.
  2. Session Configuration with Read-Back: Issues SESSION_INIT and SESSION_SET_APP_CONFIG, then reads every parameter back over SPI to eliminate silent firmware defaults.
  3. Continuous Ranging Run: Dispatches RANGING_START on both nodes and logs raw millimetre-precision ToF packets over a 40-second continuous session window.

// Bench Session Execution

uwb-session-diagnostic --range --seconds 40 --json

// Output Excerpt

total_frames: 205 | valid: 204 | sentinels: 0 | yield: 99.51%

mean: 0.7224 m | std_dev: 0.0331 m | min: 0.658 m | max: 0.789 m

What the Numbers Mean for Swarm Autonomy

A raw standard deviation of 3.3 cm (0.033 m) directly informs our formation Kalman filter covariance tuning:

  • With range_sigma = 0.033 m, the expected lateral uncertainty across our 0.45 m anchor baseline at a typical 15 m follower standoff is approximately:
    sigma_lateral ≈ range × range_sigma / baseline = 15.0 × 0.033 / 0.45 = 1.10 m
    This enables reliable meter-level formation flight without danger of physical airframe collisions.
  • Zero sentinels across 205 cycles validates that our interrupt-driven SPI telemetry driver does not drop hardware packets or stall the companion computer's real-time loop.