What are Beacon OTA Updates?

Beacons are small computers that run software, more specifically firmware. Beacon manufacturers write the firmware that uses Bluetooth software libraries to send out iBeacon, Eddystone and/or sensor data advertising.

When a beacon supports over-the-air (OTA) update, it allows that firmware to be updated without physically connecting to the beacon with wires. A smartphone app, such as the manufacturers’ app or the generic Nordic nRF Toolbox is used to connect to the beacon via Bluetooth and update the firmware.

In practice, manufacturers never update their firmware so whether a beacon supports OTA update or not isn’t usually an issue. An exception is Sensoro beacons, when the user wants to switch between standard Sensoro firmware and Eddystone Standard GATT firmware.

A further use of OTA is the facilitation of custom firmware when the standard firmware needs to be updated to provide for specially required functionality. This is non-trivial and ideally needs to be performed by the original manufacturer because they have the original source code. We have arranged this for a few customers but it tends to only be financially viable for large orders.

Programming jig

It’s also possible to completely replace the software in some beacons, something we provide via custom solutions and used in our social distancing and mesh solutions. In these cases, OTA tends to be too slow so wired programming jigs are sometimes used instead.

Is The Physical Web Dead?

Important: This web page is provided for historical purposes.

On 25 October 2018, Google announced they are discontinuing Nearby Notifications on Android. This mechanism should no longer be used.

Read about using Beacons for Marketing

There has been speculation that the Physical Web, as championed by Google, is dead.

Here’s what we know:

  • In October 2017, Google removed Eddystone URL from Chrome on iOS and Android.  Eddystone URL in Chrome on iOS wasn’t being used much and Eddystone detection had been moved to (and is still in the) the Android OS.
  • In November 2017, Google Nearby Beacon Functionality Was Severely Cut by Google. This is different to Eddystone-URL and relies on Eddystone-UID beacons being registered at Google. The result was that the Beacon Tools app only works with Eddsytone GATT beacons (not iBeacons).
  • There has been no activity in the Physical Web GitHub account for about a year. Google is no longer working on improving Eddystone. This is unfortunate because Bluetooth 5 presents lots of new opportunities that require evolution of the Eddystone standard.
  • In 2017, Scott Jenson, the person who brought the Physical Web to Google and became the Product Manager of the Physical Web team, moved to the Chrome UX team and since more recently moved to the Android UX team.
  • Very recently, Scott said “If there was still a Physical Web team, it would be fun to create these more semantic layers on top of the URL.” So, we now know there’s no Physical Web team and there probably hasn’t been since Scott moved teams.
  • The Physical Web Twitter account says “This account is no longer active”.
  • Despite Google moving away from active development of the Physical Web, they are still fixing problems. There was issue with the Physical Web proxy that was recently fixed where “issue triggered in the presence of an invalid URL beacon (ex: a non-HTTPS page) in the proximity of other valid beacons.”. This is reason why some scenarios might not have previously worked (and will now work).

In summary, while new development on Physical Web is dead, the mechanism still works and Google is still applying fixes. Google has removed some functionality that was rarely used and has disbanded the Physical Web team. However, Google is still maintaining the Physical Web proxy and Eddystone notifications still work on Android.

Meanwhile, a group of people led by Agustin Musi from Switzerland is contemplating creating PhysicalWeb2. There’s a Slack channel you can join or you can email them at contactus@phwa.io. There’s also a new site at phwa.io.

Read about using beacons for marketing.

Advanced BlueUp BlueBeacon Sensor in Stock

We now stock the BlueUp BlueBeacon Sensor. This is one of the most capable sensor beacons we know of with up to 8 advertising slots. It detects temperature, humidity and air pressure. It also supports Quuppa and Eddystone GATT Service.

The two AA batteries (included) last 3.5 years with default settings.

New Eddystone Standard GATT Service Beacons

We now have more beacons that support the Eddystone Standard GATT Service. These have firmware that has been programmed by us using the Nordic Eddystone GATT source code. The beacon hardware is the Radioland nRF52832 that’s more battery friendly than nRF51-based beacons.

Eddystone Standard GATT Service beacons use standard tools rather than manufacturer apps for configuration. They are also compatible with Google Nearby for registering at Google using the Beacon Tools app.

View all our Eddystone GATT Service beacons

Using the nRF Beacon for Eddystone App

There’s a small sub-set of Eddystone beacons that support the Eddystone GATT Service. These are beacons that not only advertise Eddystone but also have software that conforms to a standard Bluetooth Services interface such that the beacon can be configured using generic tools and apps.

Two such apps are nRF connect app and the web-based configuration. Another third app you can use is the nRF Beacon for Eddystone app for Android which is the subject of this post.

The app is designed to be used in conjunction with a Nordic developer kit (DK) board running Eddystone GATT software. However, as the the Bluetooth Services are standard, it works with other Eddystone GATT devices such as the i7 (based on Nordic nRF52).

The first thing to note is the app has two uses. It 1) allows you to configure Eddystone GATT Service beacons and 2) allows beacons to be registered with Google Nearby.

The Google Nearby registration functionality no longer works in this app as Google changed the API. You need to re-build the app yourself from source code with your own API key from Google. If you want this functionality, you are better off using the Google Beacon Tools App. You can read more about Nearby in our article on the BeaconZone site. In most cases you don’t need registration with Nearby and just want to put a URL in the beacon.

Run the app:

The second thing to note is the the first ‘BEACONS’ tab is for Nearby registered beacons. Many people expect local beacons to show up here but they won’t! Instead, go to the ‘UPDATE tab’ and tap on Connect:

Wait a bit and local Eddystone GATT Service beacons will be listed. The beacon needs to be connectable. In the case of the i7, it’s connectable by default but other beacons might need you to press a button or have powered on the beacon within the last n seconds.

Tap on a beacon and it will show the configuration screen. You will be asked for a password if the beacon has a default password (ask your beacon supplier).

Tap on the pencil to the right of the slot to change the URL:

Note that you will will probably need a shortened URL and it needs to point to a secure (https:) web site.

You can also change the advertising interval and transmit power.

There are also some advanced settings:

Beware of making the beacon non-connectable unless you know there’s a physical way to make it connectable otherwise you will never be able to connect to the beacon to administer it again!

View our Eddystone GATT Beacons.

Is it Possible To Use One App to Manage All Beacons?

There are lots of brands of iBeacon and Eddystone beacon. Each brand has its own management app. We have often been asked, “Is it possible to have just one app to manage different brands of beacon?”

While it’s technically possible, there’s no incentive for anyone to create such an app. Creating just one app to manage one beacon brand, across iOS and Android is significant effort in itself.

Google spotted this problem and created the Eddystone Configuration GATT Service. The idea is that if manufacturers used just this, apps and beacons would be inter-operable. However, people want to configure iBeacon as well as Eddystone. Manufacturers also want to allow users to configure and read sensor data. Also, using Eddystone Configuration GATT Service software in all future beacons does nothing to help manage the large number of beacons that are already out there.

As of writing this, in the 18 months since Eddystone Configuration GATT Service was published, no apps have been published that work with the Eddystone Configuration GATT Service. However, the Nordic nRF Connect app does understand some of the Bluetooth Characteristics to better read these kinds of beacons. There hasn’t been a rush for manufacturers to use Eddystone Standard GATT. We only stock the i7 and Sensoro range.

Back to the question. It looks like there will be a separate app per manufacturer for the foreseeable future.

i7 Beacon with Eddystone GATT Service in Stock

We now have the i7 Beacon with Eddystone GATT service in stock. It’s one of the few beacons that implement the Google’s Eddystone Configuration GATT Service. The Eddystone Configuration GATT Service is Google’s attempt to create a standard Bluetooth GATT interface for beacons such that they can all be configured with the common apps and web Bluetooth services.

Minew i7 Beacon

Currently, the Nordic nRF Connect app on iOS or Android is the best way of configuring Eddystone Configuration GATT Service beacons as it knows about this type of configuration. Alternatively, you can use the web based Eddystone Beacon Configuration using Web Bluetooth to access a sub-set of the settings:

The i7 advertises Eddystone-URL pointing to the web based Eddystone Beacon Configuration for quick and easy initial configuration.

Open Source Eddystone Beacon Firmware

Google has just open sourced firmware that implements Eddystone on Nordic nRF SoC beacons. Their aim is to get wider distribution of Eddystone beacons and also encourage other devices, for example vending machines and remote control toys, beyond just beacons. This open source release is intended for manufacturers rather than end users. However, hobbyists might also use the software to re-program currently available Nordic-based beacons.

By providing reference software, it should make it easier for manufacturers to support Eddystone. Also, as this implements the Eddystone Configuration GATT Service, beacons using this software will also be configurable via the Web Bluetooth Configuration Page. The standard GATT Service also allows common configuration apps to be used such as the Nordic nRF Connect app rather than having to rely on specific manufacturer configuration apps.

So far, take up of the Eddystone Configuration GATT Service by manufacturers has been slow. Only one of our manufacturers, Sensoro, supports the Eddystone Configuration GATT Service and when you use this mode iBeacon and all Sensoro-specific features get turned off. This is the problem for manufacturers. Not many people want Eddystone-only beacons so manufacturing them is currently a low volume specialist edge case for manufacturers. Also, while Google is trying to standardise firmware and configuration, the higher profile beacon providers probably think it’s in their interest to continue with proprietary features that lock users into using those particular features and their particular platforms.

UPDATE: We now stock a version of the i7 that supports the Eddystone GATT Service.

Sensoro and Standard Eddystone

Sensoro have very recently changed the way they enable Standard Eddystone. First, an explanation of Standard Eddystone. This is when a beacon supports Google’s Eddystone Configuration GATT Service. Our previous comments, from the time this service was announced, provide more background information. Instead of Standard Eddystone, most beacons, including Sensoro beacons, have their own custom Bluetooth GATT service that can still support Eddystone (URL, TLM and EID).

The Sensoro configuration app used to have an option to convert the beacon to Standard Eddystone. This was a one way process that caused the beacon to no longer able to be managed by the Sensoro configuration app, disabled iBeacon support and Sensoro’s cloud features. Unfortunately, some of our customers didn’t realise they could use Eddystone with the Sensoro GATT service, saw ‘Switch to Eddystone’ and did the change with a loss of many features. We fed this back to Sensoro and they have listened. They have removed the switch in the configuration app. It’s now performed with a separate app and you can also now switch back to the Sensoro GATT service. The Android version of the Switcher app had a few critical bugs that we have also now resolved with Sensoro.

More details on switching are available in the Sensoro Technical area available to BeaconZone customers.

How Does Sensoro Support Eddystone-EID?

We stock Sensoro beacons that support Eddystone EID.

Sensoro supports two ways to get Eddystone EID. The first adds Eddystone EID into the Sensoro Config App and cloud offering while the second reconfigures the beacon firmware completely to implement full Eddystone as per the Eddystone GATT spec.

For the Sensoro compatible EID mode, as of the time of writing this, you will only be able to configure EID using the Android version of the Config app.

For the fully Eddystone mode, once converted to the Eddystone GATT firmware the beacon doesn’t support any Sensoro features and the beacon becomes a generic Eddystone beacon, with no iBeacon support, that has to be managed using generic Service/Characteristic editing apps. It’s a one way process that can’t be undone.

For either method, the beacon needs to be running firmware 4.3 or later. Update tips, access to the upgrade app and .hex firmware files are available to our customers via the BeaconZone Sensoro technical area.

If you enable the switch to Eddystone GATT firmware, you will then need to configure using a generic Service/Characteristic editing app such as LightBlue on iOS and Nordic nRF Connect on Android. The Nordic nRF Connect app is especially useful as it knows about Eddystone GATT and displays useful information against the respective Eddystone GATT Service Characteristics.