opentag one documentation
Flash two tags, read live UWB ranges, calibrate a hardware pair, and collect reproducible test data.
Reference profile
Channel 9 at 850 kbps with a 128-symbol preamble, IEEE SFD, and a 40 Hz target.
Choose a workflow
Browser quickstartFlash, connect, calibrate, and measure without installing a toolchain.
Hardware referenceMCU, UWB, CAN FD, connector pinout, power, termination, and debug interfaces.
Firmware buildToolchain, targets, clocks, SWD flashing, and repository layout.
USB serialCommands, stream records, field types, diagnostics, and integration examples.
CAN / CAN FDWiring, bus timing, test frames, bring-up procedure, and current protocol status.
Python scriptsAutomate discovery, device info, monitoring, calibration, static tests, and DFU flashing.
ROS 2 driverPublish range, position, events, and diagnostics from the USB serial stream.
Rust examplesBuildable Embassy examples for classical CAN and 64-byte CAN FD frames.
Install the host tools
The scripts require Python 3.10 or newer and pyserial. Download the script directory, then install its single dependency.
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 list_ports.py
Download requirements.txt or continue to the script reference.
What works today
| Capability | Status | Interface |
|---|---|---|
| Two-way ranging | Operational | USB serial or browser |
| Pair calibration | Operational | Host script or browser |
| Static CSV test | Operational | Host script or browser |
| ROS 2 driver | Available | USB serial |
| CAN range stream | In development | CAN hardware available |
| TDOA position | Operational | Browser console or ROS 2 |
NextQuickstart →