
ESP32 UWB Indoor Positioning with Python Visualization
Indoor 2D positioning system using three Makerfabs ESP32 UWB modules as anchors and tags. Calculates position via trilateration and displays real-time location on a Python GUI over UDP.
Overview
This official Makerfabs example demonstrates a complete indoor positioning system using three ESP32 UWB modules. Two modules act as anchors at known positions, while a third acts as a mobile tag. Distance measurements from the DW1000 UWB transceiver are transmitted via UDP to a Python script that calculates 2D position using the law of cosines and displays it graphically.
How It Works
- Anchors are placed at fixed, known positions in a room
- The tag measures its distance to each anchor using UWB ranging
- Distance data is sent over WiFi via UDP to a host computer
- A Python script (
uwb_position_display.py) receives the data, computes the tag's XY coordinates, and renders the position on screen
Hardware Required
- 3x Makerfabs ESP32 UWB or ESP32 UWB Pro with Display modules
- USB cables for power/programming
- Computer running Python for the visualization
Source
From the official Makerfabs-ESP32-UWB repository, example/IndoorPositioning folder.






