,

UWB Positioning: Drift-Free Indoor Drone Navigation

Ultra-wideband positioning is the odd one out in GPS-denied navigation: it gives absolute, drift-free position — the thing every other onboard solution struggles with — but it needs infrastructure installed first. You survey anchors into the flying area, put a tag on the drone, and the system tells the autopilot exactly where the drone is. No map, no camera, no drift. And no obstacle data either.

This is part of the GPS-denied navigation series: six solutions compared. See also the GPS-denied overview.

How it works

Fixed anchors are installed at surveyed, known positions around the flying area; a small tag rides on the drone. The tag exchanges ultra-wideband radio pulses (500 MHz bandwidth, 3–7 GHz) with the anchors, and distance is measured from signal time-of-flight. With ranges to 3+ anchors, trilateration gives absolute 3D position in the anchor frame.

Two ranging modes:

  • Two-way ranging (TWR): the tag pings each anchor in turn. Simple, but the update rate falls as tags are added.
  • Time-difference-of-arrival (TDoA): anchors are synchronized and the tag transmits once, so any number of tags can be tracked.

Typical accuracy is ~10 cm (DWM1000 spec; one 2026 paper measured ~15 cm RMSE with four anchors). The system gives position only — no map, no obstacle data — so the autopilot still needs its IMU, barometer, and compass for attitude, altitude, and yaw.

What the autopilot does with it: ArduPilot has native beacon support. For Nooploop: BCN_TYPE = 3, anchor 0 is the origin and its Y axis is North, EK3_SRC1_POSXY/POSZ = 4 (“Beacon”), GPS disabled (GPS1_TYPE = 0), compass still required for yaw. That enables Loiter, PosHold, RTL, and Auto indoors. PX4 has no native UWB beacon driver found in this research — the honest PX4 path is a companion computer that computes position from the UWB system and feeds it to EKF2 as external vision/odometry over MAVLink.

DIY space: modules and prices

HardwareWhat it isPrice (verified)
Nooploop LinkTrackThe most-documented DIY drone option. 5 nodes for a minimal setup (4 anchors + 1 tag), configured with the NAssistant tool, 25 Hz update rate. Tag wires directly to the flight controller UART — no companion computer needed on the ArduPilot pathPrice not found — needs a vendor quote
Qorvo DWM1000 moduleUWB ranging module, build-your-own~$14.20
Qorvo DWM3000 moduleNewer UWB module$18.40–$20.45
Qorvo DWM3000EVB eval boardEvaluation board$29.50 at DigiKey
Ai-Thinker BU03DW3000-based module$10.49–$10.69
Bitcraze Crazyflie Loco Positioning deckDWM1000 deck, ±10 cm ranging, 10 m tested range, position computed onboardListed out of stock at the retailer found

A documented community build used 5× DWM3000 (~€19–25 each) + ESP32 boards (~€4) with a community Arduino port of the DW3000 driver, self-reporting ~2 cm accuracy under 5 m, ~10 cm at longer range, ~50 m range after tuning — self-reported, not independently verified.

Known quirk, verified in ArduPilot docs: some flight-controller UARTs (Pixhawk 4 Mini, Kakute F7 confirmed) can’t talk to the Nooploop tag’s CP2012 USB chip; the workaround is an Arduino Nano Every as a serial bridge.

Correction worth knowing: Marvelmind Indoor “GPS” is often grouped with UWB beacon systems, but it is ultrasonic — time-of-flight of sound, not radio. Per Marvelmind’s own comparison, ultrasound is ~10× more accurate than UWB, but is affected by propeller acoustic noise (countered with DSP filters, mic placement above props, and deflectors). A basic 3D setup takes ~10–15 minutes. Don’t list it as UWB without that distinction.

Commercial and industrial use

Verity (Zurich): the clearest UWB-at-scale drone story. Proprietary UWB-based indoor positioning, centimeter accuracy, fully autonomous inventory drones flying in dozens of warehouses worldwide with no GPS and no human present; won the 2026 IERA robotics innovation award.

Pozyx (industrial RTLS): used in published research builds (Pixhawk + Jetson Nano + Pozyx tag, 4 anchors; also fused with IMU + VIO + lidar + TFmini in one estimator). A market report claims 3,500+ organizations in 75+ countries.

Marvelmind commercial uses: warehouse inspection / barcode / RFID scanning drones, drone shows and swarms (holds 8–20 Hz per drone even for large swarms), autonomous landing pads including on moving vehicles.

Strengths and limits

Strengths: absolute position with zero drift and no map to build; works in darkness and featureless spaces (blank walls, empty halls) where lidar and cameras fail; cheap modules ($10–$30); light tag; no companion computer needed on the ArduPilot path; TDoA scales to many drones.

Limits: needs pre-installed, surveyed anchors — setup and calibration time, and the flight volume is bounded by anchor placement (~10–50 m practical). NLOS/multipath: metal racking, walls, and people block or reflect pulses, producing outlier ranges. Anchor geometry matters: poor placement degrades accuracy; ArduPilot docs recommend 4 anchors minimum for 3D. Silent failure: if an anchor is bumped or moved, the whole coordinate frame shifts with no warning. Update rate: TWR rate per tag drops as tags are added. Position only: no obstacle avoidance, no mapping — the drone is blind without another sensor.

How it compares

  • Lidar SLAM is self-contained and builds a map, but drifts, costs more, and needs real compute. UWB is absolute, cheap, and drift-free, but needs surveyed anchors and sees nothing. The two fuse well — at least one published system combines UWB + IMU + VIO + 3D lidar + TFmini in one estimator.
  • Optical flow needs nothing installed and costs about the same per module, but drifts and only works low over textured ground. UWB works anywhere inside the anchor volume, texture or not.
  • VIO needs no infrastructure but drifts and needs light. UWB is the infrastructure answer to VIO’s drift.
  • Terrain matching is also absolute and infrastructure-free, but needs maps and features. UWB needs anchors instead of maps.
  • Dead reckoning is what UWB replaces outright: with anchors up, there is no integration drift at all.

Sources

MTSUAV

Plugins built by store owners, for store owners.

© 2026 MTSUAV — Independent Drone Research

Hands-on. Never theoretical.