Specification

LightAnchors Spec v0.1 (beta)

Cameras should be configured to capture at 120Hz, with point light sources (e.g., LEDs) blinking at 60 Hz. LightAnchors uses amplitude shift keying to encode data. In order to track LightAnchors across frames, some degree of illumination is required. Thus, light off = not tracked, 0 = dim light, and 1 = bright.

LightAnchors uses a simple data transmission protocol, which consists of a fixed 6-bit preamble, 8-bit payload, 4-bit parity, and fixed 6-bit postamble. If a LightAnchor is continuously emitted (i.e., adjacent to the next transmission), the 6-bit preamble of the next transmission can serve as the postamble. The pre- and postamble are used to calibrate the boundary for high and low bit separation, and thus both must be present (though they can be shared by transmissions).

LightAnchors Spec v0.2 (in development)

We are working to finalize this enhanced specification, which will run at 120 Hz using 240 FPS cameras, support larger data payloads, and includes error correction. If you would like to contribute to this spec, please contact the authors.