Specification for Eddystone, an open beacon format from Google
C Java JavaScript Python HTML C++ Other
Latest commit 4582b6d Jan 3, 2017 @mashbridge mashbridge committed on GitHub Merge pull request #196 from bashtian/patch-1
Convert all UUIDs to lower case

README.md

Eddystone

Eddystone is a protocol specification that defines a Bluetooth low energy (BLE) message format for proximity beacon messages. It describes several different frame types that may be used individually or in combinations to create beacons that can be used for a variety of applications.

Announced in April 2016, Eddystone-EID (Ephemeral ID) is a new frame type that defines a cryptographically secure method of configuring a beacon to broadcast information that only authorized people may decrypt. It includes support for a secure transmission of the TLM (Telemetry) information.

Design Goals

The design of Eddystone has been driven by several key goals:

  • Works well with Android and iOS Bluetooth developer APIs
  • Straightforward implementation on a wide range of existing BLE devices
  • Flexible architecture permitting development of new frame types
  • Fully compliant with the Bluetooth Core Specification

Protocol Specification

The common frame PDU types and the individual service data byte layouts for the Eddystone frame formats are documented in the Eddystone Protocol Specification.

Configuration Service

Eddystone defines a GATT configuration service to enable interoperability between hardware manufacturers and application developers. It allows the beacon to report its capabilities to apps, and for the beacon's broadcast data to be reconfigured. This service is also necessary for secure configuration and registration as an Eddystone-EID beacon.

Tools and Code Samples

We have a variety of tools and code samples to assist developers and implementors in working with Eddystone devices.