What is the Difference Between iBeacon and Eddystone?

iBeacon, a standard developed by Apple, was introduced in 2013 as part of the iOS 7. It’s based on Bluetooth Low Energy (BLE), a power-efficient variant of Bluetooth technology. The strength of iBeacon lies in its background support on iOS devices, which allows for easier detection of beacons.

Google introduced Eddystone in 2015. This protocol for beacons was developed to embrace a broader range of uses. Eddystone offers multiple frame types to cater to various data needs like URLs, unique identifiers and sensor data. One most distinctive feature of Eddystone was the Eddystone-URL, where the beacons could send out a web address. However, this has been limited by the discontinuation of Google Nearby in Android.

Despite the differences in their design and features, both iBeacon and Eddystone share common ground in their use of standard Bluetooth advertising. They send different data in the same standard Bluetooth advertising packets. This shared aspect of technology ensures that they can both communicate effectively to both iOS and Android.

While Eddystone’s versatile frame types and open protocol initially made it appealing, it has seen a decline since the discontinuation of Nearby in Android. Currently, most new systems requiring smartphone applications to detect a beacon opt for iBeacon.

However, when it comes to locating and detection using gateways rather than smartphones, iBeacon vs Eddystone becomes less relevant and the beacons’ Bluetooth MAC addresses are usually used. The advertising packets can instead be used for sensor data, for example, temperature and humidity.

View iBeacon Beacons
View Eddystone Beacons
View Sensor Beacons

Is iBeacon Still Used?

You might have stumbled across comments on social media saying something like ‘Is iBeacon still used?’, ‘Remember iBeacon’ or ‘Is iBeacon still a thing?’. It’s a question that tends to crop up now and then. The truth is, iBeacon technology is not only still around, but it has flourished and evolved, becoming integral to various industries.

When Apple first introduced iBeacon technology back in 2013, it was mainly designed for retail notifications. At the time, it seemed like an interesting innovation, enabling stores to communicate with their customers via their smartphones. But, in reality, that was just the tip of the iceberg.

Over the last decade, beacons have evolved from a technology used exclusively in retail stores to one that’s employed across a multitude of industries. The technology has seen enhancements and adaptations, moving well beyond simple notifications and sales promotions.

One of the most significant adaptations of iBeacon technology has been in real-time locating systems (RTLS). Used to track objects and people within confined areas, this technology has made its mark in industries like healthcare, manufacturing, and logistics. Hospitals, for instance, utilise RTLS to monitor equipment and patient movement, reducing waiting times and improving efficiency.

Sensors have become more sophisticated with the help of beacons. From monitoring environmental conditions to tracking health metrics, these smart Bluetooth beacons are integral in gathering vital information. Think of applications such as monitoring temperatures in office buildings or tracking the temperature and humidity in agricultural settings.

IoT represents a world where everyday objects are connected to the internet, sharing information and interacting with each other. Beacons play a pivotal role here, together with gateways. Whether it’s smart homes adapting to your preferences or industrial equipment notifying operators of required maintenance, the applications are boundless.

What began as a way for retailers to send notifications to shoppers in a store has become a technology with applications that stretch as far as the imagination. The beacons of today is more sophisticated, more versatile and more integral to modern life.

So the next time someone on social media questions the relevance of iBeacon, you’ll know the answer is not only a resounding ‘yes,’ but a testament to how far a single technology can evolve.

View Bluetooth beacons

Factors that Impact the Cost of a Bluetooth Beacon

One of the factors affecting the cost of a Bluetooth beacon is the quality of the hardware used. The beacon’s components, such as the Bluetooth chip, battery, antenna and casing all contribute to the overall cost. High-quality components typically result in a higher-priced beacon but they also provide better range and longevity.

Larger beacons with longer battery lives tend to be more expensive because they require higher capacity batteries, more efficient Bluetooth chips or both. The advantage is that they need to be replaced less frequently, potentially reducing maintenance costs over time.

The range of features that a beacon supports can also affect its cost. Some beacons are designed to be basic, providing only the core functionality of broadcasting a signal. Others offer advanced features like motion sensing, temperature monitoring or water resistance. These additional features increase the beacon’s usefulness, but they also increase its cost.

Small battery, low cost beacon vs large battery, waterproof, higher cost beacon

The software that accompanies the beacon and the level of customer support provided by the manufacturer also affects the price. Companies that offer the best documentation, apps and customer service charge a premium for their products.

If you require a beacon to be customised to suit specific needs, this also increases the cost. Customisations include unique casing designs, branding and specific firmware modifications.

One thing that doesn’t change with cost is compatibility. All beacons work equally well with Android, iOS and gateways.

Beacon Setup Tip: Advertising Type

Bluetooth beacons are tiny devices that transmit small amounts of data over short distances using Bluetooth Low Energy (BLE) technology. They can operate with different protocols, like iBeacon (developed by Apple), Eddystone (developed by Google), and various sensor beacon protocols.

Despite the fact that it might seem these beacons can advertising multiple protocols simultaneously, it’s not quite the case. What they actually do is advertise these protocols one after the other in a very rapid sequence. This is due to the way Bluetooth works; it’s not technically possible to transmit multiple signals at the exact same moment. Instead, the beacon switches between the different protocols very quickly, which to a casual observer, or a smartphone, might seem simultaneous.

This rapid succession is made possible by BLE’s advertising mechanism. Beacons, in their idle state, continuously broadcast their identity, and potentially other information, in what’s called ‘advertising packets’. When they’re configured to use multiple protocols, they broadcast an iBeacon packet, then an Eddystone packet, then a sensor beacon packet, and so on in a cycle. This is repeated at a very high frequency, many times per second.

However, while this flexibility is advantageous in certain scenarios where various beacon protocols are required, it’s not always necessary and drains the beacon’s battery more quickly. This is because each advertising event consumes energy, and broadcasting in multiple protocols effectively multiplies the number of these events.

Many beacons are set up to advertise multiple protocols by default. If you don’t need this functionality, you can optimise battery life by disabling unnecessary protocols. This is done using a manufacturer-provided app. The exact process can vary between manufacturers and beacon models, but it generally involves connecting to the beacon, accessing its settings and then deselecting the protocols you don’t need.

While multiple-protocol advertising can be useful in certain situations, it’s often more battery efficient to only use the specific protocols you actually need for your application.

The Advantage of iBeacon over Eddystone and AltBeacon

iBeacon, Eddystone and AltBeacon are the three main beacon technologies. All of them use the standard Bluetooth Low Energy (LE) advertising format. Bluetooth LE is designed for short bursts of radio that uses little power and is therefore suitable for battery operation. Each of the advertising variants uses a unique advertising packet format that defines what kind of data the beacon transmits.

iBeacon, launched by Apple in 2013, was the first to adopt this technology and created a new wave in proximity services. It uses a simple advertising format, which consists of a UUID (universally unique identifier), Major, and Minor identifiers.

Eddystone, introduced by Google in 2015, offers a more complex advertising packet format with four different frame types: Eddystone-UID (similar to iBeacon’s UUID), Eddystone-URL (broadcasting web address), Eddystone-TLM (telemetry information about the beacon itself), and Eddystone-EID (an encrypted version of Eddystone-UID for secure applications).

Altbeacon, an open-source specification introduced by Radius Networks, provides a simpler format similar to iBeacon.

The functionality of beacon technologies are different on iOS and Android due to differences in the operating systems themselves. Apple’s strict app guidelines and strong emphasis on user privacy limit the ability of apps to perform tasks in the background. For instance, iOS only allows apps to scan for iBeacon formatted advertisements in the background using the CoreLocation library, not CoreLocation. Eddystone or AltBeacon can only be read in background using CoreLocation. Android offers more flexibility for background tasks and can work with iBeacon, Eddystone and Altbeacon.

Although Eddystone and Altbeacon have their merits, iBeacon is the advertising of choice for most scenarios involving smartphone apps due to the integration with iOS.

Decoding iBeacon Advertising Using Javascript

iBeacon advertising consists of a UUID, major, minor and measured power. To decode the advertising using Javascript:

function decodeIBeacon(packet) {
  var uuid = packet.substring(4, 40);
  var major = parseInt(packet.substring(40, 44), 16);
  var minor = parseInt(packet.substring(44, 48), 16);
  var power = parseInt(packet.substring(48, 50), 16) - 256;

  var beacon = {
    uuid: uuid,
    major: major,
    minor: minor,
    power: power
  };

  return beacon;
}

This function takes a hexadecimal string representation of an iBeacon advertisement packet as input and decodes it into an object that contains the UUID, major and minor values and the measured power (measured in dBm) of the beacon.

To use this function, you need to extract the iBeacon advertisement packet from the Bluetooth Low Energy advertisement data received by the BLE scanning device. The iBeacon advertisement packet typically starts with a pattern similar to the following: 02 01 06 1a ff 4c 00 02 15. You can extract the iBeacon part by searching for these bytes in the advertisement data and then take the next 20 bytes as the packet.

View iBeacons

Configuring Bluetooth Beacons

The configuration of a Bluetooth beacon can vary depending on the manufacturer and the specific use case. However, in general, the configuration includes iBeacon settings such as the beacon’s UUID (Universally Unique Identifier), major and minor values, transmit power, advertising interval, and other parameters that define the behaviour of the beacon.

  • UUID: This is a 128-bit value that uniquely identifies the beacon. It can be used by an application to identify a beacon among many others in the vicinity.
  • Major and Minor values: These are 16-bit values that can be used to group beacons into different categories or to identify specific beacons within a group.
  • Transmit power: This setting determines the strength of the signal transmitted by the beacon. A higher transmit power will increase the range of the beacon, but will also consume more battery power.
  • Advertising interval: This setting determines how often the beacon broadcasts its signal. A shorter interval will provide more frequent updates on the beacon’s location, but will also consume more battery power.

These settings are configured using smartphone apps. These use Bluetooth GATT (Generic Attribute Profile), a protocol used to define the way that data is exchanged between Bluetooth devices. Some beacon manufacturers also publish how they use Bluetooth GATT’s services and characteristics to update these settings so that you can also update them via your own apps or from other Bluetooth devices.

Indoor Positioning Using iBeacon and ESP32

Bluetooth beacons advertising iBeacon can be used to perform indoor locating using trilateration. Trilateration is where three receivers are used to measure signal strength (RSSI) to calculate the position.

It’s possible to use ESP32 single board computers as Bluetooth receivers. The GitHub project iBeacon-indoor-positioning-demo has an example open source implementation. There’s also an accompanying blog post.

The implementation uses MQTT to send the data to a React app on a server where it’s displayed on a floorplan.

In practice, you might want to consider creating a more robust solution that uses Bluetooth gateways rather than ESP32 devices. There’s also the Bluetooth AoA Direction Finding standard that’s more accurate than using RSSI.