A BLE Tag is rarely stationary. As it moves through a warehouse, hospital, or campus, it silently crosses the coverage of one gateway and enters another. Done well, this handoff is invisible: the location track stays smooth and the dashboard never flickers. Done poorly, the tag appears to teleport, duplicate, or vanish. Roaming is the discipline that keeps the track continuous.
Zone Partitioning
Start by drawing zones around each gateway based on its real measured coverage, not the datasheet radius. Overlap is intentional: a handoff region where two gateways both hear the BLE Tag is where transitions happen. Keep overlaps modest — too much overlap causes thrashing, too little causes blind spots. A clean zone map is the foundation of stable roaming.
Handoff Triggers and Hysteresis
The classic mistake is to switch gateways the instant one RSSI exceeds another. Without hysteresis the tag flaps between two gateways as RSSI jitters, producing a zig-zag track. Use a threshold plus margin: only hand off when the new gateway’s RSSI beats the current one by a fixed hysteresis value (say 6 to 10 dB). This debounces the decision and gives the track inertia.
Deduplication and Jitter Suppression
A moving BLE Tag is seen by several gateways at once, each reporting its own RSSI and timestamp. The backend must deduplicate by tag identity, pick the strongest or most recent reading per gateway, and suppress stale reports past a freshness window. Aggregating scans over a short window (200 to 500 ms) smooths jitter and prevents the same packet from being counted twice.
Cross-Gateway Location Continuity
For the position to stay continuous, every gateway must share one coordinate frame. When the dominant anchor switches, the solver should blend the old and new estimates rather than snap to a new value, so the dot glides instead of jumping. Anchor handover that preserves the track history avoids the “lost then found” glitch that erodes trust in the map.
Practical Tuning
Tune three knobs together: the hysteresis margin (larger reduces flapping but delays handoff), the scan aggregation window (larger smooths jitter but adds latency), and gateway clock sync (so timestamps line up for multilateration). Log handoff events during a pilot walk and watch for teleports; if they appear, widen hysteresis or shrink overlap.
Conclusion
Roaming is what turns a collection of gateways into a single living map. Get the zones, the hysteresis, and the deduplication right, and a BLE Tag glides from dock to door without ever dropping off the screen.