Industrial-grade wristband device for personnel tracking and safety features in both indoor and outdoor environments. It supports UWB TWR, UWB TDoA and L-DCB for indoor location tracking, A-GNSS for outdoor positioning, alerting and sensor telemetry over L-MESH, UWB and BLE channels.
| Interface | Notes |
|---|---|
| UWB TWR | indoor positioning |
| UWB TDoA | indoor positioning |
| Unified TDMA | scheduled ranging |
| L-MESH | relay for alerting and sensor telemetry |
| A-GNSS | outdoor positioning; live or buffered |
| BLE GATT | fleet characteristic map |
| GATT Data Sync | buffered GNSS and sensor records |
| Sensor TLV | produce — IMU, baro, alarm, battery |
| BLE Ext Advertising | sensor carrier 0x7C = 1 |
| MQTT | published by the anchor that hears the tag |
UWB and GNSS are not operated simultaneously. Selection is governed by site mode (0x83); in auto the device switches on accumulated evidence:
GNSS mode (0x80) selects live transmission or buffer & sync; update rate is 0x7F. See GNSS.
The alarm is carried as Sensor TLV record 0x08, with a type field distinguishing a button press from fall detection or a gas threshold.
It is reported by level, not edge: the record repeats in every frame while the alarm is raised. A cleared alarm is a zero byte.
A single button carries four gestures, separated by how long it is held:
| Gesture | Action | Indication |
|---|---|---|
| Short press | acknowledgement | green blink |
| 3 s hold | raise or clear the alarm | — |
| 10 s hold | power on or off | — |
| 3 taps | one-shot indoor / outdoor switch | blue ×1 indoor, ×2 outdoor |
Clearing the alarm uses the same 3-second hold that raises it. This is deliberate. A short press would put "cancel the emergency" one accidental tap away on a device worn on the wrist, where the button meets sleeves, doorframes and equipment all shift.
The gestures overlap by design, which creates one behaviour worth knowing: a 10-second hold passes through the 3-second threshold on its way. Powering the device off would therefore raise an alarm every time — so the firmware undoes the alarm when the longer gesture completes. An operator watching the backend sees no alarm from a normal power-off.
The tag does not publish for itself. The anchor that hears it publishes on its behalf, in the {prefix}/Locators/{LocatorID}/ tree: the anchor's identity is LocatorID and the tag's BLE MAC is TagID. See MQTT.
| Cell | high-voltage Li-Po |
| Capacity | 530 mAh |
| Nominal | 3.8 V |
| Full | 4.35 V |
| Empty | 3.30 V |
This is a high-voltage cell — full is 4.35 V, not 4.20 V. A percentage computed against a standard 4.2 V Li-Po curve reads a full wristband as roughly 88% and never reaches 100%. The chemistry curve is per-product and is not interchangeable with the rest of the line.
Battery state travels as Sensor TLV record 0x09 and reaches the server in the Battery object of an MQTT /Sensors message — millivolts and percentage together, plus flags.
Both are sent because the percentage depends on a discharge curve that is chemistry-specific and load-dependent, while the millivolts do not. A consumer that needs certainty uses the voltage; one that needs a display uses the percentage.
| Reported | Meaning |
|---|---|
percentage 0–100 | normal reading |
| percentage absent, voltage present | the voltage was implausible — a scaling or sense fault, not a flat cell |
| charging flags absent | charge state is not known on this device |
The tag reports charging state as unknown rather than defaulting to "not charging". The two are different facts, and a device on charge that reports "not charging" is worse than one that admits it cannot tell — the first is believed, the second is investigated. See Sensor TLV for the flag encoding.
Working life between charges is set by configuration rather than by the cell alone: sensor telemetry is off by default and enabling it changes the duty cycle substantially, as does the radio configuration and the TDMA reporting rate. Determine it by measurement against the intended settings for a deployment.
Both GNSS and sensor records are drained over GATT Data Sync, selected with the type field. Records are released only once the response is read to its end.