BLE Beacons Explained: iBeacon, Eddystone, and AltBeacon
Comparing beacon protocols and use cases
BLE Beacons
A BLE beacon is a device that continuously broadcasts advertising packets without establishing connections. Receivers passively scan the air, pick up the packets, and derive proximity or identity information from them. Beacons require no pairing, no server, and no persistent connection — just a coin cell and a few bytes of payload.
iBeacon
Apple's iBeacon format (2013) encodes a 128-bit UUID, a 16-bit Major, and a 16-bit Minor into the advertising payload's Manufacturer Specific Data field. A calibrated TX Power byte (RSSI at 1 m) enables the receiver to estimate distance using path-loss models.
| Field | Size | Purpose |
|---|---|---|
| ATT">UUID | 16 bytes | Namespace — identifies the deployment (e.g., a retail chain) |
| Major | 2 bytes | Sub-namespace — store or floor |
| Minor | 2 bytes | Specific beacon — shelf or door |
| TX Power | 1 byte | Calibrated RSSI at 1 m for ranging |
iOS automatically wakes apps in the background when a registered UUID is detected, even with the app closed — a capability unavailable to other beacon formats on Apple platforms.
Eddystone
Google's open Eddystone standard (2015) defines three frame types within the Service Data AD type (UUID 0xFEAA):
- Eddystone-UID: 10-byte Namespace + 6-byte Instance, analogous to iBeacon's UUID/Major/Minor
- Eddystone-URL: Compressed URL for Physical Web use (now largely deprecated)
- Eddystone-TLM: Telemetry — battery voltage, temperature, uptime, packet count
TLM interleaving is common in production: broadcast UID every 100 ms, TLM every 10 s. The receiver correlates TLM to the UID via shared Bluetooth address.
AltBeacon
AltBeacon is an open specification that closely mirrors iBeacon (Proximity UUID + Major + Minor + TX Power) but is not restricted to Apple's proprietary byte layout. It uses the MANUFACTURER_ID = 0xBEAC prefix in Manufacturer Specific Data. Android apps using the AltBeacon library can detect all three formats uniformly.
Beacon Format Comparison
Use the Beacon Configurator to generate advertising payloads for any format. Use the Range Calculator to model coverage.
| Feature | iBeacon | Eddystone-UID | AltBeacon |
|---|---|---|---|
| Payload identifier | UUID/Major/Minor | Namespace/Instance | BeaconID |
| Telemetry frame | No | Eddystone-TLM | No |
| iOS background ranging | Yes (native) | No | No |
| Open specification | No (Apple) | Yes (Google) | Yes |
| AD type used | Mfr Specific | Service Data | Mfr Specific |
UUID / Major / Minor Design
Good namespace design prevents UUID collisions and enables hierarchical filtering:
- UUID: One UUID per application or brand. Generate with the UUID Generator — never reuse UUIDs across organizations.
- Major: Logical group — venue, floor, or zone (0x0001–0xFFFE; 0x0000 and 0xFFFF reserved).
- Minor: Individual beacon — unique within the Major group.
Example: A museum uses UUID = {museum-brand}, Major = exhibit hall number, Minor = display case ID.
Proximity Use Cases
Beacons trigger contextual actions based on RSSI thresholds:
| Zone | Typical RSSI | Action |
|---|---|---|
| Far (> 10 m) | < −75 dBm | Background awareness |
| Near (1–10 m) | −55 to −75 dBm | GATT & ATT">Notification push |
| Immediate (< 1 m) | > −55 dBm | Payment trigger, door unlock |
For reliable indoor positioning, deploy beacons in a grid at 4–8 m spacing and trilaterate using at least three RSSI readings. Raw RSSI is noisy — apply a Kalman filter or RSSI rolling-average before computing distance.
Advertising Interval Tuning
Shorter advertising intervals improve detection latency but drain battery faster. A 100 ms interval is standard for real-time proximity; 1000 ms is common for asset tracking where latency is acceptable and battery life is paramount.
자주 묻는 질문
Yes, our guides range from beginner introductions to advanced topics. Each guide indicates its difficulty level and prerequisites so you can find the right starting point.