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.

How to See Bluetooth LE Advertising on Android and iOS

To see Bluetooth LE advertising on smartphones, you can use a Bluetooth scanner app. These apps are available from the App Store and Google Play Store and can be downloaded and installed on your smartphone.

To use a Bluetooth scanner app, follow these steps:

  1. Open the App Store Google Play Store on your device and search for “Bluetooth scanner” or “Bluetooth advertising”.
  2. Select a Bluetooth scanner app that you want to use and install it on your device. nRFConnect is a well-known scanner, provided by Nordic Semiconductor, the manufacturer of the Bluetooth System-on-chip in most beacons.
  3. Once the app is installed, open it and enable Bluetooth on your device, if it is not already enabled.
  4. The app will scan for nearby Bluetooth devices that are broadcasting advertising packets. It will display a list of the devices it finds, along with their names and other information.
  5. You can tap on a device in the list to see more details about it, such as its Bluetooth address (only on Android), signal strength, and any advertising data that it is broadcasting.

In summary, using a Bluetooth scanner app is a simple and effective way to see Bluetooth advertising on an smartphones. These apps allow you to see the devices that are broadcasting advertising packets, as well as the data that they are transmitting.

Beacons and Driving

We are seeing more and more customers using beacons in driving-related scenarios. Most are using beacons to trigger when the user gets into or out of a vehicle. For example, driversnote tracks your trips ready for your mileage claim. However, apps such as this are for personal use and there’s a larger market and opportunity in company/fleet management. For example, mileagecount has an automated mileage capture system based on beacons.

The key thing here is that beacons are being used to trigger something, mileage capture in this case. It’s automated, unobtrusive and doesn’t necessarily produce app notifications. There’s a very large number of similar usecases in other industries waiting to be explored.

Troubleshooting Beacon Problems

Some people come to us, having set up their beacons, saying “It doesn’t work”. Most scenarios involve a beacon, an app and a phone. Solving most problems involves breaking the problem down by swapping out each of the beacon, app and phone until it works.

If you have more than one beacon, you can swap out the beacon. Having said this, it’s rare for beacons to fail and if the problem is with the beacon, it’s more likely to be the beacon settings that are incorrect.

While you can’t swap out the manufacturer configuration app, you can use another app such as Nordic’s nRF Connect (on iOS and Android) to scan for a beacon, see if it’s advertising and if so, what type of advertising it is sending.

It’s common for individual phones to have have problems. First, make sure you have Location and Bluetooth on. Anyone working with beacons will usually need to have both Android and iOS devices to diagnose problems. Run the app (and nRF Connect) on multiple phones of different platform type (iOS/Android) to help narrow down problems.

If you still can’t get it working, send us a support ticket. Please don’t just say “It doesn’t work” and instead describe what you have done and at what stage it doesn’t work with any error messages.

Also read

Why Doesn’t the Manufacturer’s Configuration App Connect?

Testing if a Beacon is Working

Proof of Concept for Beacon Projects

It’s easy to buy into an idea and commit significant resources only to find very late on that a project is overly difficult or impossible to implement. We see too many companies only come to us after they have gone a long way down a particular road only to discover they made a big mistake early on. It might be, for example, they have heavily committed to the wrong beacon, wrong platform or have assumed something on one of the mobile platforms. They didn’t do their research. Often we can help them get on the right track but sometimes not.

We always recommend organisations research upfront. Test risky areas. Create a low cost proof of concept exercising risky areas. A proof of concept is the implementation of a small subset of the whole system to prove implementing the whole thing is possible. Good candidates for functionality for proof of concepts are specific usecases, scenarios or user stories. Choose specific usecases to exercise what you think might be the most difficult or unknown parts of the system.

Proof of concepts provide a feel for the development effort that will be required to develop the complete system thus giving an indication of the project’s cost and the financial viability of the project.

It’s also possible to create proof of concepts that include business goals. Think ‘proof of value’ rather than ‘proof of concept’. Proving a project has value to stakeholders can help unlock realistic funding for development of the complete project.

Read about consultancy

Read about feasibility studies

Is it Possible to Continuously Scan for Bluetooth Devices on iOS and Android?

We sometimes get asked if it’s possible to use a smartphone as a gateway to scan for Bluetooth devices. The thinking is usually that workers or users already have devices so why not make use of them?

While it is possible, there are many reasons why you might not want to do this:

  • On iOS, Apple hide Bluetooth MAC addresses and for some APIs hide the iBeacon ids making unique identification more difficult.
  • You will find it very difficult to get a continuously scanning app through Apple app store review. You will need strong justifications.
  • Scanning continuously uses lots of battery power, even when advertising with periodic ‘off’ and ‘on’ periods.
  • Capabilities of devices vary meaning you will almost certainly get some end user devices where your implementation won’t work. For example, some manufacturers stop long running processes.
  • Some users will play with their phones and end up purposely or inadvertently disabling your application.

The best scenarios are those where you can dictate the phone type, it can be mains (PSU) powered and the phone isn’t owned by a user (i.e. it’s just used as a gateway). It’s almost always better to use a dedicated gateway.

Capacitor Plugin for Bluetooth Low Energy (BLE)

There’s a new Capacitor plugin for Bluetooth LE. Capacitor is new way to build web apps. Capacitor’s native plugin APIs allow easy access to common functionality, such as Bluetooth, across multiple platforms.

The plugin supports the web, Android and iOS. It allows scanning, GATT connecting, reading, writing and notifications. The source code is available on GitHub.

Should I Use the Manufacturer iBeacon SDKs?

Some manufacturers offer SDKs to allow programmatic access to their beacons from iOS and Android.

Most SDKs tend to be poorly implemented/documented, tie your code into using that particular beacon and rarely get updated to use newer mobile platform APIs. They also tend to be thin abstractions over the Android and iOS Bluetooth APIs.

If you rely on a beacon manufacturer that doesn’t update their SDK, it’s eventually the case that the underlying Android and/or iOS API changes such that your solution becomes non-optimal and, in the worse case, breaks.

Instead, when you can, we recommend you use the iOS and Android Bluetooth APIs directly to make your code independent of the beacon type. In this way you don’t end up depending on intermediate code and this has the benefit that you can more easily change beacon providers.

Alternatively, use an independent 3rd party library such as Radius Network’s iOS SDK or one of the many Android Bluetooth libraries.

Which Beacons are the Most Compatible?

We get asked a lot which beacons are the most compatible. All beacons, whether iBeacon or Eddystone, are compatible with iOS and Android. There are a few ‘tracker’ type Bluetooth devices around that don’t transmit the right Bluetooth header and can’t be seen on iOS but we don’t sell those.

Almost all beacons are slight derivations of a few standard circuit designs and firmware provided by Texas Instruments, Dialog and Nordic who produce the System On a Chip (SoC) inside beacons. Hence, they all transmit to Bluetooth standards.

Use of standard SoC Chip and firmware libraries ensures Bluetooth compatibility

The main area that can differ is the Antenna and PCB layout that can lead to different radiation patterns. The ability to detect a beacon isn’t affected and differences manifest themselves as differing beacon signal strength (hence range) and stability.

The main areas where beacons differ is not in compatibility but in physical characteristics such as battery size and waterproofing that are to be found as categories at the left hand side of our store.

One thing people don’t realise is that problems occur with phone compatibility rather than beacon compatibility. Over time, we have discovered about 5% of our customers have problems getting the Manufacturer’s configuration to app connect to beacons on Android. To be clear, this is only when apps need to connect (to change settings) as opposed to only scan for beacons so this doesn’t tend to be a problem (for end users) once everything is set up.

To answer the question, Bluetooth standards are such that all beacons can be seen on all phones and compatibility isn’t an issue. Problems we have seen have been related to phones rather than beacons. We have never had a beacon returned to us because it’s incompatible.

Bluetooth Sleuth App

There’s a new app Bluetooth Sleut‪h by Sean McNeil for iPhone, iPad and Mac.

The app scans for advertising devices, optionally with a specific CoreBluetooth UUID, and displays them including RSSI (signal strength). It can connect to devices that are connectable and then browse device the Bluetooth Services and Characteristics. For iBeacons, it’s also possible to observe region updates for specified beacons.

The app monitors and graphs recent RSSI values. You can also set up your device to advertise iBeacon or custom services with custom Bluetooth Characteristics.