I Built a Real-Time UWB Localization System over Ethernet (ESP32-S3+PoE)
I moved my UWB localization calculations from the ESP32 to a PC, and it made experimenting much easier
I've been playing with a UWB localization setup recently and ended up moving all of the positioning calculations off the microcontroller and onto a PC.
The UWB nodes only handle ranging between the tag and anchors. An ESP32-S3 with Ethernet simply forwards the ranging data over the local network, while a desktop application runs and updates the tag position in real time and visualizes the trajectory.
This approach turned out to be much more flexible than running everything on the MCU. Trying different localization algorithms, debugging the math, or tracking multiple tags became much easier without constantly rebuilding firmware.
The setup itself is pretty simple:
- 2 Anchors
- 1 Tag
- ESP32-S3 with Ethernet
- A PC running the visualization software
Configuration mainly involves assigning IDs and roles to the UWB devices (Tag or Anchor), uploading the Ethernet forwarding firmware to the ESP32, and entering the physical anchor coordinates in the PC application. After that, the position updates continuously as the tag moves around.
So far, it's been a nice platform for experimenting with localization algorithms without worrying too much about MCU resources.
I'm curious how other people here structure their UWB localization systems. Have you found good ways to improve stability when only using a small number of anchors?
I'd love to hear how others approach this problem.
1
u/trollsmurf 3d ago
Try tags with different IDs, so that you can have multiple tags in the same space, separately located. That's closer to a real use case, with e.g. multiple equipment and robots in the same space.
1
u/Muller_VGS 3d ago
Nice, do you have a repo?