Bluetooth 6.0 for Mobile App Devs
What changed in the spec, what lands on phones, and what you can actually use
TL;DR
Bluetooth 6.0 adds Channel Sounding for precise distance, plus controller-side scanning upgrades like Decision-Based Advertising Filtering and Monitoring Advertisers.
On phones today: Android 15+ exposes Channel Sounding through the Ranging API (foreground only). iOS has no public BLE CS API. ISOAL and frame-spacing tweaks improve latency under the hood. [1][8][9][13]
1) Channel Sounding
What it is
A standardized way for two BLE devices to measure distance more precisely than RSSI by exchanging special sounding signals and extracting phase or round-trip timing. The SIG also published a Ranging Profile so results and configuration can go over GATT. [4][5][6]
Why devs should care
- Find-my flows with hot/cold UI that beat RSSI
- Proximity security for keys or badges
- Room-level presence gets a lot easier
Phone status
- Android - Android 15+ ships a Ranging module that can use Bluetooth Channel Sounding when hardware (currently Pixel 10) supports it. Third-party apps get foreground ranging only. [8][9]
- iOS - No public CoreBluetooth APIs for CS right now. Use Nearby Interaction (UWB) or RSSI ranging. [13]
- Hardware reality - CS generally needs BT 6-class controllers. It isn’t something older radios gain via software only. [4][5]
Takeaway
Ship feature-flagged ranging on Android 15+, fall back to RSSI. On iOS, prefer UWB where available. [8][13]
2) Decision-Based Advertising Filtering (DBAF)
What it is
A link-layer scanning upgrade where the controller makes smarter keep or skip decisions using new filter policies and decision PDUs, reducing wasted time on irrelevant extended-adv traffic. [1][10]
Why devs should care
- Lower power while scanning
- Faster discovery in crowded RF
- More predictable scanning behavior for the OS
Phone status
- Controller feature. No public app API on Android or iOS to configure DBAF. Benefit is under the hood when the phone stack supports it. [1][10]
Takeaway
You don’t code to it. You benefit automatically if present.
3) Monitoring Advertisers
What it is
Controller-level events to track when a given advertiser comes into or goes out of range, exposed up to the host via HCI. Think OS-friendly presence signals for scanners. [1][12]
Why devs should care
- Lets the OS wake your app less often
- Enables smarter system-level “device is nearby” logic
Phone status
- Controller feature with no public Android or iOS surface for third-party apps. [12]
Takeaway
Treat it as an efficiency win, not a new API.
4) ISOAL enhancement
What it is
Bluetooth 6.0 adds a new framing mode in the Isochronous Adaptation Layer to reduce latency and improve reliability for time-sensitive streams. This primarily benefits LE Audio and other ISO paths. [1][11]
Why devs should care
- Smoother audio and lower jitter at the platform level
- Not a general data pipe your app can open
Phone status
- Managed by the OS audio stack. No raw ISO channel access for third-party apps on Android or iOS. [11]
Takeaway
Great for users’ audio experience. Not an app-level knob.
5) Frame Space update
What it is
Frame spacing in connections and connected ISO streams is now negotiable, not fixed at 150 µs, enabling tighter latency or power tradeoffs. [1]
Phone status
- Controller or stack managed. No new app APIs. [1]
Takeaway
You may see fewer hiccups under load. Nothing to code.
6) LL extended feature set
What it is
A formalized way for peers to exchange a larger set of link-layer feature bits. It improves capability negotiation between devices. [1][12]
Phone status
- Invisible to app code. Helps the stack decide what to enable.
Takeaway
Better interop as ecosystems roll forward.
What this means for your roadmap
- If you want precise ranging in your app - target Android 15+ with the Ranging API and gate on feature detection. Provide RSSI fallback. On iOS, prefer UWB via Nearby Interaction or stick with BLE RSSI until Apple exposes a CS surface. [8][9][13]
- Expect scanning to get cheaper - as vendors adopt DBAF and Monitoring Advertisers in controllers and stacks, your scan loops should cost less battery and feel snappier without code changes. [1][10][12]
- Audio keeps improving without new APIs - ISOAL and frame-spacing changes make LE Audio more robust. App code still routes through system audio, not raw ISO. [1][11]
- Hardware matters - Channel Sounding usually needs a BT 6-class controller. Plan features accordingly. [4][5]
Sources and further reading
[1] Bluetooth Core 6.0 - Feature Overview - https://www.bluetooth.com/core-specification-6-feature-overview
[2] Core Specification 6.0 - Adopted specification page - https://www.bluetooth.com/specifications/specs/core-specification-6-0
[3] Core Specification 6.0 - HTML index - https://www.bluetooth.com/specifications/specs/core60-html/
[4] Channel Sounding - feature explainer and FAQ - https://www.bluetooth.com/learn-about-bluetooth/feature-enhancements/channel-sounding
[5] Channel Sounding - Technical Overview - https://www.bluetooth.com/bluetooth-resources/bluetooth-channel-sounding-a-technical-overview
[6] Ranging Profile 1.0 - Adopted specification - https://www.bluetooth.com/specifications/specs/ranging-profile-1-0
[7] Ranging Service 1.0 - Adopted specification - https://www.bluetooth.com/specifications/specs/ranging-service-1-0
[8] Android - Ranging overview (UWB, BLE CS, Wi-Fi RTT, RSSI) - https://developer.android.com/develop/connectivity/ranging
[9] Android - RangingManager API reference - https://developer.android.com/reference/android/ranging/RangingManager
[10] Core 6.0 LL spec - Decision-Based Advertising Filtering section - https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-60/out/en/low-energy-controller/link-layer-specification.html
[11] Core 6.0 ISOAL - Isochronous Adaptation Layer chapter - https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-60/out/en/low-energy-controller/isochronous-adaptation-layer.html
[12] Core 6.0 - Core configurations and feature list including Monitoring Advertisers and Frame Space Update - https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-60/out/en/consolidated-table-of-contents%2C-acknowledgments%2C—core-configurations/core-configurations.html
[13] Apple - Nearby Interaction (UWB) developer docs - https://developer.apple.com/documentation/nearbyinteraction