Bluetooth has been around since the mid-1990s and is one of the four main wireless technologies found in smartphones, the others being cellular, Wi-Fi and NFC. Today Bluetooth comes in two flavors, “Classic” and “Low Energy.” The former is the Bluetooth that enables our wireless keyboards and mice, along with wireless headsets and speakers. The latter, Bluetooth Low Energy (BLE) uses a lot less power and is designed for areas like healthcare, fitness and beacons. So, wearables like the FitBit use BLE rather than Bluetooth Classic.
Last month, the Bluetooth Special Interest Group (Bluetooth SIG) announced Bluetooth 5. Unlike former iterations of the Bluetooth specification this one doesn’t come with a “.0” (dot zero) ending, but is just known as 5. But there is more to Bluetooth 5 then just the naming convention. In terms of Bluetooth Classic, Bluetooth 5 remains exactly the same as previous versions of Bluetooth. So all your existing keyboards and wireless speakers will continue to work. However the real changes are for Bluetooth Low Energy.
The other performance boost is the data speed. Bluetooth 4.x BLE can transfer data at 1Mbps, Bluetooth 5 BLE doubles that to 2Mbps. In practical terms that means that future wearables will sync twice as fast. However it also means that there is potential for newer types of BLE devices, that need high throughput speeds. Like the range numbers given above, the 2Mbps is a theoretical speed and once you factor in things like the protocol overheads then the actual total throughput is somewhere around 1.6Mbps, for both send and receive combined. In one direction, say from a Bluetooth 5 compatible wearable (or whatever) to a Bluetooth 5 enabled smartphone would actually be around 783Kbps.
This is where Bluetooth 5 comes in. The size of the broadcasting capacity is increasing from 31 bytes to 255 bytes.
With more speed and more range it sounds like Bluetooth 5 will take more power. But thanks to some clever changes in the way the signals are modulated and by improving the use of the frequency spectrum, Bluetooth 5 will actually use less power, in some cases up to 2.5 times less power!
As well as gains in performance and speed, Bluetooth 5 has also improved its connection-less advertising capabilities. In Bluetooth 4.x BLE this capability was designed for Bluetooth Beacons, however the payload of an advertising packet was limited to 31 bytes. This presents several limitations.
It is worth noting that Bluetooth SIG don’t define the structure of what goes inside these advertising packets, the message format. This means that any additional protocol about the type of data inside the packet needs to be included in that 31 bytes. Typically this data can take up to 10 or more bytes, which reduces the actual data space to less than 21 bytes.
To get around this space limitations many types of beacons, like Apple’s iBeacon, transmit Universally Unique Identifiers (UUIDs), which are 128-bit values that look something like this: 79dba6d9-ac59-456f-ba52-197d9386c9db. As the name suggests, UUIDs uniquely identify a BLE Beacon and allow a smartphone to recognize individual beacons. Once the smartphone knows that it is near a specific beacon then it can trigger an event. For example, a department store could place BLE Beacons throughout its retail space and as you approach a new department then relevant information can be broadcast about that department. When used in conjunction with an app from the department store then shoppers can get access to the latest shopping information.
Google has taken a slightly different approach with its Eddystone initiative. As well as being able to send UUIDs, there is also the possibility to send a URL, part of the Physical Web effort to enable frictionless discovery of web content relating to one’s surroundings; an encrypted ephemeral identifier, that changes periodically; and telemetry information, about the beacon itself such as battery voltage and device temperature.
But as mentioned earlier, there isn’t much space for all that data. In fact using Eddystone with Bluetooth 4.x BLE, there isn’t enough space to send an advertising packet with the URL https://www.androidauthority.com. This is where Bluetooth 5 comes in. The size of the broadcasting capacity is increasing from 31 bytes to 255 bytes. Even with the overhead of protocols like Eddystone, there should be sufficient space for even complex URLs.
Raspberry Pi 3 Eddystone beacon test
Although this is working with Bluetooth 4.x BLE, I thought it would be interesting just to share a little experiment with you. It is possible to configure a Raspberry Pi 3 to act as an Eddystone beacon. The idea is to demonstrate the potential that exists in Bluetooth 5, a glimpse of the future. You will need a Raspberry Pi 3 (as it has built-in Bluetooth) and an app called Beacon Scanner from the Google Play Store.
Connect to your Pi and run these three commands:
sudo hciconfig hci0 up sudo hciconfig hci0 leadv 3 sudo hcitool -i hci0 cmd 0x08 0x0008 1b 02 01 06 03 03 aa fe 13 16 aa \ fe 10 00 02 67 6f 6f 2e 67 6c 2f 47 4d 36 56 72 74 00 00 00 00
The first command activates the Bluetooth interface. The second sets it into connection-less advertising mode, and the third tells it to start sending a pre-formatted Eddystone URL broadcast. The URL is http://goo.gl/GM6Vrt which is a short link to https://www.androidauthority.com.
Now start up your smartphone (you will need an Android smartphone with Bluetooth Low Energy built-in and at least Android 4.3). Run the Beacon Scanner and you will see that your Pi is sending out Bluetooth Low Energy broadcasts. You can tap on the broadcast message to get more details and you can tap on the URL displayed at the bottom to open the web page.
The idea behind initiatives like the Physical Web is to make this more seamless and allow you to connect to a URL associated with a particular beacon, maybe to pay for some parking, or to reserve a product online, or to buy cinema tickets, or whatever. This will be even more powerful with Bluetooth 5 as the amount of data that can be passed in the URL will be significantly increased.
If you want to encode a different URL use this Eddystone URL command calculator which will generate the pre-formatted Bluetooth packet for you and give you the commands to run on your Raspberry Pi 3.
When and how
The formal Bluetooth 5 specification will be available sometime towards the end of 2016. Because of the changes to the way the radio will work in Bluetooth 5 then new hardware is needed. We can expect to see new Bluetooth chip sets fairly early in 2017. These will then trickle down to the OEMs and we should see Bluetooth 5 enabled products some time towards the end of 2017.
Are you looking forward to Bluetooth 5? Please let me know your thoughts in the comments below, or if you would like a more in-depth discussion head over to our forums where I have created a special thread for this article and video.