UWB Indoor Positioning with ESP32

How UWB and ESP32 can be used for ranging, tracking and indoor positioning systems.

Overview

GPS doesn't work indoors, and Wi-Fi/BLE-based positioning only gets you room-level accuracy at best. Ultra-Wideband (UWB) closes that gap, delivering centimetre-level ranging indoors by measuring the time of flight of very short radio pulses rather than relying on signal strength. Paired with an ESP32 for control and connectivity, UWB modules make precise indoor positioning practical for real products rather than just research demos.

How UWB Ranging Works

Unlike Wi-Fi or BLE positioning, which infer distance from signal strength (a notoriously noisy measurement indoors), UWB measures the actual time it takes a radio pulse to travel between two devices and converts that directly to distance. Because it's a direct time-of-flight measurement rather than an inference, it's far less affected by reflections and multipath interference from walls and furniture — the main reason UWB reaches centimetre accuracy where other wireless positioning methods can't.

Ranging Techniques: TWR vs TDoA

There are two common approaches to turning UWB pulses into a distance. Two-Way Ranging (TWR) has a tag and anchor exchange a round-trip of messages and measure the time of flight directly — simple to implement and needs no time synchronisation between anchors, but each ranging exchange consumes tag power and airtime, which limits how many tags a system scales to. Time Difference of Arrival (TDoA) instead has anchors listen for a single message the tag broadcasts, and computes position from the difference in arrival time across anchors — this scales to far more tags since each one only transmits once per update, but it requires the anchors to be tightly time-synchronised with each other, which adds infrastructure complexity. The right choice depends heavily on tag count and battery life requirements.

Anchors, Tags, and System Design

A typical UWB positioning system has fixed anchor units mounted at known positions around a space, and mobile tags attached to whatever needs tracking. Each tag ranges against multiple anchors, and trilateration from those distances yields a position. Anchor placement geometry matters as much as the UWB hardware itself — poor anchor layout degrades position accuracy regardless of how good the ranging is. Most UWB deployments today build on IEEE 802.15.4z-compliant hardware, such as the Qorvo/Decawave DW1000 and DW3000 families, which is what makes anchor and tag hardware from compatible vendors reasonably interoperable.

Environmental and Integration Challenges

UWB's time-of-flight measurement is far more robust to multipath than signal-strength-based methods, but it isn't immune to it — dense metal environments (warehouses with steel racking, industrial floors with heavy machinery) can still introduce reflections that need to be accounted for in anchor placement and, in TDoA systems, synchronisation design. Calibrating for a specific site's geometry, rather than assuming lab-condition accuracy will transfer directly, is a routine part of a real deployment rather than an edge case.

Where UWB Fits

UWB is the right tool when a project genuinely needs precise indoor location — asset tracking in a warehouse, personnel safety zones on a factory floor, or precision proximity detection — rather than just rough presence detection, which cheaper BLE beacons handle fine. The added accuracy comes with more anchors to install and a more involved system design than a simple BLE deployment.

How PAK-EL LAB Can Help

PAK-EL LAB designs ESP32 and UWB-based positioning systems, from anchor and tag hardware through to the firmware and application layer that turns ranging data into usable position information. If you're evaluating indoor positioning for a project, our team can help determine whether UWB is the right fit.

Related service: ESP32 & UWB Development

Discuss Your Project