Skip to content

Required Hardware

Component Quantity Reference Supplier
UWB Anchor 3 minimum, 6 recommended MaUWB ESP32S3 (DW3000 + PA) makerfabs.com
UWB Tag 1 per performer MaUWB Direct makerfabs.com
USB-C cable 1 per anchor USB-C data (not charge-only) -
USB power supply 2 5V 1A minimum -
Laser distance meter 1 Millimetre precision -
┌─────────┐
│ TOPOS │ ← control room Mac/PC
│ :7070 │
└────┬────┘
│ USB or WiFi
┌──────────┼──────────┐
│ │ │
┌────┴───┐ ┌───┴────┐ ┌───┴────┐
│ A0 │ │ A1 │ │ A2 │ ← anchors (fixed positions)
│ ESP32 │ │ ESP32 │ │ ESP32 │
└────────┘ └────────┘ └────────┘
▲ ▲ ▲
└──── UWB radio ──────┘
│ │ │
┌─────┴┐ ┌┴────┐ ┌┴─────┐
│ T0 │ │ T1 │ │ T2 │ ← tags (on performers)
│Direct│ │Dir. │ │Dir. │
└──────┘ └─────┘ └──────┘
UPSTAGE (back of stage)
┌─────────────────────────────┐
│ │
│ A0 ◆ ◆ A2 │ ← mounted high (2-3m)
│ │
│ │
│ ◆ A1 │ ← facing audience
│ │
└─────────────────────────────┘
DOWNSTAGE (audience)

Placement rules:

  • 3 anchors minimum for 2D trilateration
  • Arranged in a triangle, never in a line
  • Mounted high (2-3m) to avoid obstructions
  • Line of sight between anchors and the tracking zone
  • Avoid metallic surfaces in the immediate vicinity

Three anchors is the minimum to get a position. Six is the configuration Topos is run with at Douze Dix-Huit, and the one to plan for:

  • Redundancy — a tag hidden from one anchor by a body or a set piece is still seen by the others; positions do not jump when one range drops.
  • 3D — with anchors at different heights, the vertical axis becomes usable (see 2D / 3D Trilateration).
  • Auto-calibration — the UWB survey (see auto_calibration.md) solves all anchor positions at once from a cross of reference tags; more anchors give the solver more range pairs and a better-constrained result.

Surround the tracking zone — corners first, then the long sides — vary the heights, and never put three anchors in a line. Up to 8 anchors are supported.

topos.red — Real-time · Environment · Distance[email protected] · Code MIT · Hardware CERN-OHL-P · Docs CC BY-SA