Skip to content

First Launch

Edit config/topos.yaml:

hardware:
anchors:
- id: 0
serial_port: null # WiFi only
position: { x: 0, y: 0, z: 2.5 }
- id: 1
serial_port: "/dev/tty.wchusbserial10" # USB anchor
baud_rate: 115200
position: { x: 8, y: 0, z: 2.5 }
- id: 2
serial_port: null
position: { x: 4, y: 6, z: 2.5 }
udp_listen_port: 7071
tags:
- id: 0
name: "Performer-1"
- id: 1
name: "Performer-2"
- id: 2
name: "Prop-A"
Terminal window
source .venv/bin/activate
python -m topos.main

Options:

Terminal window
python -m topos.main --simulate circle # simulation mode (no hardware)
python -m topos.main --record # record range data
python -m topos.main --replay <file> # replay a recording
python -m topos.main --clean # ignore saved state, start fresh
python -m topos.main --relay ws://ip:7070/ws/trackers # relay from remote Topos

Open http://localhost:7070 in a browser.

┌───────────────────────────────────────────────────────┐
│ topos │ tracking uwb │ 2/3 anchors │ config │ ● ● ● │
├───────┼───────────────────────────┼───────────────────┤
│STATUS │ │ OUTPUTS │
│ │ │ psn [on] │
│TRACKS │ STAGE VIEW │ osc [off] │
│ Perf1 │ (2D canvas) │ │
│ Perf2 │ │ ANCHORS │
│ │ │ A0 WiFi │
│ │ │ A1 USB │
└───────┴───────────────────────────┴───────────────────┘
  • Left panel: status and tracker list (performers)
  • Center: top-down stage view with real-time positions
  • Right panel: output toggles (PSN/OSC) and anchor calibration
  • Header: connected anchor count, config device button, status dots
topos.red — Real-time · Environment · Distance[email protected] · Code MIT · Hardware CERN-OHL-P · Docs CC BY-SA