Packing Race Telemetry into 12-Byte Packets
LoRa rewards discipline. Every unnecessary byte increases airtime, collision risk, and power draw. The cleanest packet is the one that says exactly what operations needs and nothing more.
- Coordinates are quantized around event anchors instead of sent as full floating-point values.
- Battery, motion state, and alert flags ride alongside location in a fixed-size frame.
- Deterministic packet shapes make firmware parsing cheaper and browser ingest faster.
Verbose payloads fail in the field
Quantize against the course geometry
Fixed shapes simplify every downstream system
Verbose payloads fail in the field
A generic JSON payload is convenient during prototyping and terrible during an endurance event. It wastes airtime on keys, string formatting, and precision that operators cannot use while making race-day decisions.
For Tracios, the design goal is operational sufficiency: enough information to place a runner on the course, infer momentum, and escalate safety events without saturating the channel.
Quantize against the course geometry
Instead of sending full latitude and longitude pairs, we encode delta positions relative to a known anchor. That reduces payload size while keeping local accuracy aligned with the course footprint.
The result is a frame that stays compact even when the course spans large elevation gain. The command dashboard can reconstruct precise-enough positions because it already knows the course map and the relay context.
bits 00-23 latitude delta
bits 24-47 longitude delta
bits 48-55 battery bucket + motion state
bits 56-63 qos, sos, and relay flags
bits 64-95 checksum + sequenceFixed shapes simplify every downstream system
Deterministic packets make firmware encoding predictable, relay forwarding cheap, and ingestion pipelines easy to validate. The web application does not need to guess at optional fields or normalize inconsistent vendor payloads before drawing a map.
That discipline also helps incident response. When an SOS frame arrives, operators know exactly which bits carry priority status, how fresh the sequence is, and whether the packet survived multiple hops to reach command.
- Less airtime per update
- Less parsing overhead on constrained hardware
- Fewer edge cases during live ingest and replay