Android O and Bluetooth 5: Everything you need to know
The HTC U 11 and Motorola Z2 Force both shipped with Android N and Bluetooth 4.2 support. Both are gaining Bluetooth 5 support with their respective Android O upgrades. Let's talk about what that means and why they waited.
This is a software-only update
The Qualcomm Snapdragon 835 hardware supports Bluetooth 5. We know this is the case, not just because Qualcomm tells us, but because phones like the OnePlus 5 and Galaxy S8 and S8+ shipped with Bluetooth 5 support. HTC mentions this in its recent FCC filing:
The change will come when these phones are updated to Android O (and no, we don't know when that will be), and you won't have to do anything or send your phones anywhere or get a new SIM card. It will just work.
That's cool, but what makes Bluetooth 5 better than 4.2?
Bluetooth specifications are a lot like USB specifications. They use a numeric system to track them, and to qualify as being compliant, the hardware must be able to meet certain thresholds for transfer and receive speeds, power consumption, and compatibility. That means a higher number will be newer and better in some ways than a lower number and a jump from 4.2 to 5 is more significant than a jump from 4.1 to 4.2.
Bluetooth 5 offers three major features: 4x longer range, twice the data speeds, and eight-times longer ADV packets (ADV stands for advertising, and advertising packets are used to broadcast what a device can do to all other Bluetooth devices in range). It's easy to understand why more range is good, but it's important to know that data transfer is more than just sharing files. For example, music is also digital data when streamed over Bluetooth and a higher speed means it can deliver more of the audio data for "better" sound and less chance for syncing errors.
Larger ADV packets are important, too. When a device can share more information about its capabilities, the handshake between two devices is faster and less error-prone. There are a lot of technical advantages to a longer ADV packet, and if you're interested, you should have a look. Just know that devices can't connect via Bluetooth without using ADV packets, and having more data in each makes for a better experience.
An example: Using Bluetooth 5, your phone can stream music to your headphones up to 120 feet away (versus 30 feet for older Bluetooth standards), send twice as much digital data so your music sounds fuller and won't stutter as much, and can connect with fewer errors because the two devices know more about what each is capable of. It's good all around.
So, why are HTC and Motorola waiting for Android O to make the switch?
We can't be 100% sure why they are waiting, but it's likely because of the extra support for Bluetooth 5 that comes in Android O.
The Bluetooth 5 standard was completed in December 2016, so everyone has known about the changes for a while. When Android N was finalized, the Bluetooth 5 standard wasn't complete yet, so there are some pretty significant features that aren't supported. Two important features, in particular, are missing from Android N.
- The preferred PHY (Physical) Low Energy layer. When two devices communicate over Bluetooth they need to work out the best and most efficient way to send data. Each device has a set of checks to look for the "right" method to use here, and Bluetooth 5 support isn't being checked. This means that the connection would fall back to an earlier Bluetooth standard and the Bluetooth 5 features won't be used.
- ADV packets longer than 60 bytes can't be checked. When two Bluetooth devices "talk" to each other, the ADV packets are scanned. In Android N, the packet is expected to be a certain length, so packets larger than 60 bytes can return an error or simply not be read. In Android O, this has changed and there is no expected length of each packet and the raw data is read until the end of the packet is reached.
In simpler terms, this means that on Android versions earlier than O, a Bluetooth 5 device isn't able to properly announce what it is and what it can do, and when the connection is finally set up, it will fall back to an older standard even if the hardware supports it.
The Samsung Galaxy S8, for example, has to use code in the Bluetooth layer from Samsung itself to get around these issues because Android doesn't have the support. This costs a lot of money and takes a lot of time, and in the end, it might all have to be changed to be more compatible with Android O. It's more a business decision than a technical decision. Since Samsung took the time to add its own extras to Bluetooth, it wisely built in the Bluetooth 5 standard instead of an older standard.
Bluetooth is going to be awesome when we get Android O and Bluetooth 5 support, right?
All the benefits of Bluetooth 5 require both devices to be Bluetooth 5-compliant. If one device, for example, is Bluetooth 4.x-specified, the connection falls back to the 4.x standard. That means until your headphones or car system is Bluetooth 5 ready, none of this matters. Two Galaxy S8 phones connected via Bluetooth can have faster file transfers, but there's no guarantee that Samsung's version of Bluetooth 5 and Android O's version are 100% compatible, so a GS8 to HTC U11 connection might not benefit.
When Bluetooth 5 becomes old news and everything supports it (which won't be anytime soon) this will change and we'll see the benefits. One good piece of news is that IoT (Internet of Things) devices are usually ahead of the curve and we'll see Bluetooth 5 support long before other devices start to use it. This can be a pretty big deal when talking about low-energy scanning, because of the longer ADV packets. You'll save battery life when looking for beacons or other LE devices.
Android has always been forward thinking when it comes to Bluetooth, and we see this with every new release. Just be on the lookout for other devices that are Bluetooth 5-complaint to take advantage of the new standards.
Get the Android Central Newsletter
Instant access to breaking news, the hottest reviews, great deals and helpful tips.
Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Twitter.
Debunking: - The galaxy S8 (and probably other phones using the SD835) won't support the 4x more range connections - Even if it supported, it's not meant for audio stream, and it cannot be used for that, no audio codec will use this connection - The higher bandwidth and faster connection is comparing BT5 with BT4, most speakers and headphones uses BT3 for audio stream, and guess what, BT3 (aka BT classic) is faster than BT5 in normal conditions, BT5 is an evolution over BT4 (aka Bluetooth smart or Bluetooth low energy), it was designed for low energy devices like wearables, and only now BT5 might be usable for audio streams, but we still need a codec for it. -And a codec is my last point, no matter how fast your internet connection is, if you're streaming a 190KBps song, it won't get higher quality just because your internet conenetion is faster. Same with BT, the widest codec used for audio over Bluetooth, doesn't come near the max bandwidth allowed by BT classic, even newer HD codecs like Ldac are well within the margins for BT classic. In short, BT5 isn't faster than what's used for Audio right now, even if it was, it depends on a codec designed for using this bandwidth for getting higher quality.