How Do You Build Your Own iBeacon?

To build your own iBeacon from scratch you need electronics and software skills. You start by choosing an SoC manufacturer and using their prototypes boards and SDKs. When you have working design, you move it to your own printed circuit board and case. You then need to get CE or FCC approval. Read our inside a beacon series of posts for more details.

In practice, it’s less expensive to find a manufacturer who has something as close as possible and ask them to modify for your needs. Many organisations come to us having failed to source custom beacons themselves directly from manufacturers. Unless you have an existing relationship with a manufacturer, you will usually find your enquiries either aren’t taken seriously, aren’t answered, are misunderstood or the purchased beacons aren’t as expected. Sometimes organisations make the costly mistake of dealing with disreputable Alibaba middle-men rather than the end manufacturer.

For large custom orders we usually work on a consultancy fee basis. We are the best connected and experienced company in the industry when it comes to dealing with the beacon manufacturers. Manufacturers trust us. We help you choose the right beacons. We jump start purchasing through knowing which manufacturers are open to doing the various types of customisation. We know the pertinent questions to ask of manufacturers, contact the right people for you, sidestep known problems and negotiate the best price for you as we know what is a sensible price. You end up buying direct from the manufacturer but with the assurance of advice and direction from ourselves.

We provide:

  • Consultancy related to using beacons with your idea.
  • Refining of your beacon specification based on your needs, including regulatory certification.
  • Working with our technical contacts at suitable manufacturers to work through a solution and price (this usually takes 5 to 8 weeks). We take no commission from the manufacturer.
  • Advice on initial settings to be programmed at the factory to save you considerable configuration time.
  • Advice on software integration.

We charge a fixed upfront fee for this service.

Contact Us

Android Apps Not Scanning

As more and more devices are being shipped with Android 10 we are increasing getting reports of problems with beacon apps built for previous versions of Android. We mentioned this issue back in October last year.

To compound the problem, many popular Chinese manufacturers such as Oppo, Huawei and Xiaomi also now using Android 10 in their forked versions of Android. Not only are these manufacturers inheriting the Android 10 problem but their devices also suffer from problems running services, such as Bluetooth scanning, in background. The problem is that these manufacturers also add their own additional background throttling (and killing) mechanisms into the OS that make Bluetooth unreliable. The site dontkillmyapp documents the known problems and some workarounds for various forks of Android.

If you think you might be a victim of these issues, try using another, perhaps older, Android smartphone to isolate the problem.

Concurrent Transmission (CT) Bluetooth

There’s new research BlueFlood: Concurrent Transmissions for Multi-Hop
Bluetooth 5 — Modeling and Evaluation
(pdf) that looks into using concurrent transmissions (CT) with Bluetooth.

Today’s Bluetooth devices use advertising, GATT connection and mesh. Advertising occurs over three channels to reduce the affects of wireless interference. When more than one device advertises at the same time, the data is lost. However, advertising takes of the order of 1ms so the chance of collision is usually small.

In contrast, BlueFlood uses concurrent transmissions (CT) that purposely synchronise transmissions such that if colliding packets are tightly synchronised and have the same contents, the resulting signal might be distorted, but highly probable that they do not destruct each other. This is used with the Glossy flooding protocol and 40 rather than 3 advertising channels.

CT-based protocols achieve enormous performance gains in terms of end-to-end reliability, latency and energy consumption even under harsh interference conditions

Concurrent transmissions are challenging using Bluetooth because transmissions need to be synchronised down to 250ns. Nevertheless, the researchers show this is possible using standard Bluetooth PHY and commercial Nordic SoCs. They achieved an end-to-end loss rate below 1% and managed to receive the signals on a standard smartphone. While the mechanism was fragile it was found to be viable.

App-based Bluetooth Mesh

Protesters in Hong Kong have been using Bluetooth mesh to communicate with one another so as to avoid using the Internet and therefore making it difficult for the Chinese authorities to intercept. However, this isn’t standard Bluetooth mesh as defined by the Bluetooth SIG. It’s a proprietary mesh protocol over standard Bluetooth.

The app used is Bridgefy and there many such peer to peer apps such as FireChat (server has been turned off and no longer works), Signal Offline and Briar that use Bluetooth and WiFi direct.

The use of stand-alone Bluetooth mesh networks isn’t limited to protesters. A growing number of SDKs allow mesh networks to used by companies and organisations. When used with iOS and Android devices (which don’t necessary have to be smartphones) these provide for WiFi-less and Internet-less communication. This allows use, for example, in emergency situations when cellular and Internet goes down. Alternatively, they can simply provide connectivity across a site where there’s no cellular coverage or WiFi.

SDKs include Bridgefy, Hype the open source android-ble-mesh, Ubudu Android Mesh, and a newer open source iOS library by Zsombor Szabo, called Berkanan SDK.

Bluetooth Beacons Study Guide

Bluetooth SIG have updated their Introduction to Bluetooth Beacons. It provides advice and examples how to use beacons from iOS, Android and Raspberry Pi using the respective Bluetooth APIs.

The examples show how to scan for AltBeacon which is unusual because most people will want to scan for iBeacon because AltBeacon is sent by very few beacons. This is less of a problem on Android and Raspberry Pi where slightly modified code can be used. However, on iOS, the suggested APIs won’t work for iBeacon because Apple removes the iBeacon data from the Bluetooth scan response data to force you to use the iBeacon specific APIs which aren’t mentioned in the guide.

SweynTooth and Beacons

New vulnerabilities, called SweynTooth, have recently been found in Bluetooth LE. The problems aren’t in Bluetooth itself but in software development kits (SDKs) provided by some System on a Chip (SoC) manufacturers.

There are three types of problem that can be triggered by sending particular data to Bluetooth devices: crash, deadlock and security bypass. Only some manufacturer’s SDKs are affected and only some of their SoCs models.

Texas Instruments, NXP, Cypress, Dialog Semiconductors, Microchip, STMicroelectronics and Telink Semiconductor SDKs are affected. The main manufacturer used in beacons in beacons and gateways is Nordic so the majority of beacons are not affected. Nevertheless, there are a few beacon models that use Texas Instruments and Dialog Semiconductors SoCs. Of these, very few use the specific affected SoC models.

The only affected devices we stock are the ABKey01, TON9128, TON9118, TON9108 that use the Dialog DA14580 SoC. You should avoid using these in critical scenarios because they can be caused to crash or deadlock. No beacons are vulnerable to the security bypass vulnerability.

As with all security issues, you have to put the possible attacks into perspective. The vulnerabilities are difficult to exploit in practice and it’s usually much easier to steal a beacon or remove its battery to make it inoperable.

The vulnerabilities are of more concern for critical medical devices such as pacemakers and blood glucose monitors.

TON9108 iBeacon Not Longer Being Manufactured

We are sorry to say the Iotton TON9108 is no longer being manufactured. This beacon has been very popular because of its low cost and top build quality. We only ever had one of these beacons returned faulty.

This beacon was particularly popular for large rollouts due to the savings in cost. However, we think the cost might have been it’s eventual weakness as it wasn’t sustainable for the manufacturer. Purchase while you can as we won’t be getting any more in stock.

We are talking with manufacturers to source an alternative, similarly priced, beacon. Watch this space.

Update: The Feasycom FSC-BP103 is our replacement low cost beacon.

Bluetooth Gateway Heartbeats

If you are rolling out many gateways, there comes a time when you start wondering if all of them are working and connected. While it’s possible to write a server side script/code to detect whether or not data has been received from the gateway in the last n seconds/minutes, this doesn’t work when there aren’t any Bluetooth devices in the vicinity of some gateways which won’t be sending payloads.

iGS01S Bluetooth WiFi Gateway

The INGICS gateways have a way of setting up a heartbeat that’s a dummy payload used to indicate a gateway is working and connected. It’s set up by telnet to the gateway and issuing the following command followed by a reboot:

> SYS HEARTBEAT 1
> REBOOT

The ‘1’ signifies every 1 minute and allows setting up to 255 minutes. A $HBRP data payload is to the server in the form:

$HBRP,FECE97089146,FECE97089146,-127,00000000

The heartbeat functionality is available on firmware IGS01-v2.0.0 and IGS01S-v2.0.0 or later.

Waze Beacons in 18Km of Australia Tunnels

We previously mentioned Waze Beacons in Tunnels in New York City. Since then, Waze beacons have been installed in further cities such as Chicago, Paris, Rio, Brussels, Florence and Oslo. The latest installations are by Transurban who manage tunnels in Australia where they have installed over 930 beacons in 18Km of tunnels.

Waze beacons allow uninterrupted location services underground ensuring drivers never miss an in-tunnel exit. They provide navigation underground where GPS doesn’t work.

The beacons advertise Eddystone. The Waze app sees the beacons and uses the known beacon locations rather than GPS. Google is also a partner which allows Google Maps to also see Waze beacons when driving in tunnels.