RTLS anchor for CAN-FD or RS-485 daisy chain installations in factory environments for equipment tracking and automation.
Anchors are wired into a chain rather than given individual network drops. One anchor is designated master: it aggregates range data and status from the whole chain and uplinks over WiFi to MQTT. The rest are slaves reporting over the bus.
The device operates in either role — as an anchor (fixed infrastructure that observes tags) or as a tag (a tracked endpoint observed by other anchors). The role is set by configuration, not by hardware or firmware variant; see operating mode.
| Interface | Notes |
|---|---|
| UWB TWR | ranging, in either anchor or tag role |
| UWB TDoA | selected by UWB RTLS method 0x5106 |
| Unified TDMA | schedule parameters 0x71–0x76 |
| BLE GATT | fleet characteristic map |
| GATT Data Sync | 0x5130 / 0x5131 |
| Sensor TLV | produce and decode / forward |
| BLE Ext Advertising | sensor carrier 0x7C = 1 |
| CAN-FD | daisy chain; RS-485 also available |
| MQTT | published by the chain master |
| OTA Upgrade | single signed ZIP over BLE; nRF52 and WiFi module |
The transport is selected per anchor with the connectivity-mode parameter (0x511D):
| Value | Transport |
|---|---|
0 | WiFi → MQTT (master) |
1 | RS-485 daisy chain |
2 | CAN daisy chain |
The CAN controller is a PCB variant: parameter 0x511E selects classic CAN 2.0B or CAN-FD and must match the controller fitted to the board. Bit rate is 0x511F, keep-alive period 0x5120.
Full frame formats, addressing and the remote parameter table are on the CAN-FD page.
The enclosure holds two boards: the RTLS board carrying the MCU, radios and fieldbus controllers, and a separate PSU board that conditions the incoming supply and feeds it.
| Input range | 7–28 V DC |
| Field wiring | WAGO 236-401 spring terminal blocks |
| To the RTLS board | 4-pin 2.54 mm board-to-board connector |
The range is what makes the anchor deployable without a dedicated adapter: 12 V and 24 V — the two supplies already present on most industrial plant and vehicles — both sit inside it, as does a 24 V rail sagging under load or running high off a charger.
An MP1584EN synchronous step-down converter, adjustable output, rated 3 A, with a 22 µH inductor and Schottky rectification (30 V, 3 A). A buck topology rather than a linear regulator is what makes the wide input range practical — dropping 28 V to a logic rail linearly would dissipate the difference as heat inside a sealed industrial enclosure.
The input is protected by an overvoltage crowbar: a TL431 precision shunt reference watching the rail, triggering a BT151 thyristor (650 V, 12 A) that shorts the input and clears the fuse if the voltage exceeds the design window.
A crowbar fails safe and loud. Rather than clamping an overvoltage and hoping the downstream survives, it converts the fault into an open fuse — the anchor stops, and the reason is visible on inspection instead of appearing later as unexplained radio failures.
The protection circuitry is duplicated, so a fault on one path does not leave the other unguarded.
The Fieldbus Anchor and the Vehicle Anchor share one firmware image; the mode parameter selects which product a unit behaves as. Node mode (0x512D) sets operating mode and role in a single write:
| Value | Node mode |
|---|---|
0 | RTLS anchor — Fieldbus Anchor |
1 | RTLS tag |
2 | CAS-PDS anchor — Vehicle Anchor |
3 | CAS-PDS tag |
The setting takes effect after restart.
The WiFi module is a separate chip, joined to the nRF52 by a UART. Every measurement bound for MQTT crosses that link first, so the UART — not WiFi, and not the broker — is usually the first uplink ceiling a deployment meets.
| Bit rate | 115200 baud, 8N1 |
| Throughput | 10 bits per byte → 11 520 bytes/s |
| Wire format | 1-byte command ID + payload + 1-byte CRC |
| Message | Payload | On the wire | Ceiling | Time per frame |
|---|---|---|---|---|
| Chain RTLS — a ranging result | 22 B | 24 B | ≈ 480 /s | ≈ 2.1 ms |
| TDoA observation | 43 B | 45 B | ≈ 256 /s | ≈ 3.9 ms |
The transfer blocks the main loop. The send does not queue and return — it waits for the UART to finish. The time-per-frame column above is therefore not just link occupancy, it is main-loop time the anchor cannot spend on ranging, the fieldbus or BLE. Interrupts still run; the loop does not advance.
Taking the chain from the CAN-FD page — 7 slaves, 7 tracked units, 2 Hz ranging:
98 frames/s × 2.1 ms ≈ 205 ms/s ≈ 20% of the master's main loop
Comfortable, and roughly the same proportion the 125 kbit/s CAN bus carries. The two links are sized similarly by coincidence rather than design, which is convenient: a chain that fits the bus generally fits the uplink.
The ceiling is reached sooner than the numbers suggest, because the master is doing other work in the same loop. Two rules follow:
Where a deployment needs measurement rates beyond this, Locator Pro uplinks over Ethernet with no UART stage between the radio and the network.
Only the master publishes. Slaves reach the broker through it and still appear under their own LocatorID in the Locators/ tree, so every anchor is a distinct reporter regardless of bus position. Topics and payloads: MQTT.