Beacon profile: Eddystone

Up until recently, Google had their own side project for Beacons: The Physical Web. This standard didn’t call for anything else other than an URL identifier to be constantly broadcasted. It originated from the standard Google was working on: UriBeacon. Nonetheless, the applications for this seemed to generate great interest and Google published some of the use cases for this standard on their Physical Web Cookbook.

On July, 2015, Google launched their own Beacon standard: Eddystone. The roadmap for this standard isn’t closed for an Android platform, but includes a lot of support from Google to develop something for iOS as well, meaning this standard works well on both platforms and there’s plenty of offical tools to do so.

Just as iBeacon works well on any iOS device, the idea behind Eddystone is to bring full support to all devices on the Android ecosystem as well as iOS or any BLE compatible device. With the aim being open source, any solution can be now thought of being Eddystone compatible as well, regardless of which platform it was intended to work for. Because of this, the use cases for this new standard are far greater since compatibility shouldn’t be an issue anymore and development with such open community as Google’s is easier to work with.

Eddystone – Advertising packet structure and explanation.

Since Eddystone calls for different packets to be broadcasted, the packet structure varies depending on which one is being sent. All share an 11 byte prefix data and the 20 bytes left are used for the frame itself.

Eddystone – UIDThe UID serves as the identifier for these Beacons as much as the combination of UUID, major and minor does on the iBeacon standard. The UID is also a 128-bit unique value and is composed of an 80-bit namespace and a 48-bit instance.

Eddystone – URLThe Eddystone-URL frame broadcasts a URL using a compressed encoding format in order to fit more within the limited advertisement packet. Once decoded, the URL can be used by any client with access to the internet. Our Beacons are programmed to use our website by default.

Eddystone – TLMEddystone beacons may transmit data about their own operation to clients. This data is called telemetry and is useful for monitoring the health and operation of a fleet of beacons. Since the Eddystone-TLM frame does not contain a beacon ID, it must be paired with an identifying frame which provides the ID, either of type Eddystone-UID or Eddystone-URL.