Part Numbers: CC2640R2F, CC2642R, CC2652R, CC1352R, CC1352P
TI is pleased to announce general availability of the industry’s first single-mode Bluetooth® low energy production-qualified protocol stack supporting Bluetooth 5 High Speed mode (2 Mbps) as well as an evaluation SDK for developing with Long Range Connections for the SimpleLink™ CC2640R2F Bluetooth low energy wireless MCU. The SimpleLink CC2640R2 SDK 2.30, which includes the Bluetooth 5 protocol stack (BLE5-Stack) is available for immediate download at www.ti.com/tool/SIMPLELINK-CC2640R2-SDK and enables Bluetooth 5 development on the $29 CC2640R2 LaunchPad™ development kit.
This post also includes information on the newly announced SimpleLink Bluetooth 5 enabled CC1352R, CC2642R and CC2652R wireless MCUs. Please note that the CC26x2 and CC1352R devices are in pre-production status. More details about these devices and related LaunchPad development kits can be found in this post or by clicking on the product link.
The following Bluetooth 5 SDKs are available:
Bluetooth 5 (BLE5-Stack) SDK | Device | Features | Production / Evaluation |
SIMPLELINK-CC2640R2-SDK | CC2640R2F | High Speed (2M PHY) Long Range Connections Advertisement Extensions (AE) |
Production(*) |
SIMPLELINK-CC26x2-SDK | CC2642R / CC2652R | High Speed (2M PHY) Long Range Connections Advertisement Extensions (AE) |
Pre-Production |
SIMPLELINK-CC13x2-SDK | CC1352R / CC1352P | High Speed (2M PHY) Long Range Connections Advertisement Extensions (AE) |
Pre-Production |
(*) Note: Production Bluetooth 5 features supported in SIMPLELINK-CC2640R2-SDK version 2.30 with the ble5stack component.
We’ve put together some answers to common questions, including details on the Bluetooth 5 Throughput demo with High Speed and Long Range capability, to help enable developers to get started with Bluetooth 5 development. If you are new to Bluetooth or want to know more about the benefits Bluetooth 5, please check out our blog The secret to moving faster with Bluetooth® 5 and SimpleLink Academy.
Throughout this article, “Bluetooth” refers to Bluetooth low energy unless otherwise stated.
[Updated 23-May-17] Watch a short demonstration video of the High Speed and Long Range capability of TI's Bluetooth 5 protocol stack on Facebook here.
Is Bluetooth 5 backwards compatible with existing Bluetooth 4.x devices?
Yes! As with all features added in the Bluetooth 4.1, 4.2 and 5 specifications, they are optional and negotiated during the BLE connection. This ensures that Bluetooth 5 devices can reliably connect to and interact with legacy Bluetooth 4.x devices. In addition to backwards compatibility, optional features in Bluetooth 4.1 and 4.2 apply to Bluetooth 5. So, Bluetooth 5 devices may support the Data Length Extension feature from Bluetooth 4.2 in addition to the 2 Mbps feature. The TI BLE5-Stack incorporates all previous features from the existing Bluetooth 4.1 and 4.2 protocol stacks, including enhanced privacy and Secure Connections pairing.
How do I enable Bluetooth 5 High Speed Mode in my application?
The good news is you only need to call one new API in your application to request a BLE connection to use the 2 Mbps PHY: HCI_LE_SetDefaultPhyCmd(). This will instruct the Controller (Link Layer) to initiate what’s known as the PHY Update Procedure shown in the diagram below and is the sequence of steps that both peer devices perform to negotiate a change to the the link speed. If both devices in the connection support and prefer the 2 Mbps PHY, you’re in luck and the connection will switch over to the 2 Mbps link speed with data packets transmitted in half the time as compared to the default 1 Mbps link speed. If the peer device doesn’t support the 2 Mbps feature, or does not wish to enable it, the connection will remain at the BLE-default 1 Mbps link speed. All APIs for exchanging data (i.e., GATT) remain the same in Bluetooth 5.
We’ve put together a LE 2M PHY guide within our BLE5-Stack SW User’s Guide (SDK 1.40) with all the details on how to call this new API. Check it out here.
But wait, we’ve also enhanced our Throughput Demo on GitHub to add support for Bluetooth 5 High Speed and Long Range modes. This demo runs on two CC2640R2 LaunchPads and allows the user, via the two-button menu on the LaunchPad and a virtual serial port display to toggle between the supported PHYs while recording payload throughput and RSSI.
PHY Update Procedure
What range should I expect with High Speed Mode?
You may have heard that 2 Mbps connections may have “shorter range” than 1 Mbps connections. The physics behind this is quite complex, but it is true that any PHY (radio) operating in 2 Mbps mode will have 5 dB less sensitivity as compared to the PHY operating in the default 1 Mbps mode. While this may sound like a substantial loss in performance, it’s important to note that the improvements in the CC2640R2F’s radio architecture, including best-in-class RF performance, ensure high performance in personal connectivity / in-room operating environments where Bluetooth high speed applications are typically used. This means you should expect greater throughput with High Speed mode at comparable distances as first generation Bluetooth 4.0 devices operating at the default LE 1 Mbps link speed.
It’s worth mentioning that another often overlooked feature in Bluetooth 5 is the Channel Selection Algorithm 2, or CSA2, that improves the BLE frequency hopping algorithm. This feature, which is supported with the TI BLE5-Stack, can reduce the impact of ‘bursty’ interference from other transmitters in the shared 2.4 GHz spectrum by ensuring that each connection event occurs at a minimum frequency offset compared to the previous connection event. Reducing packet loss from interference can reduce the number of packet retransmissions and thus improve overall energy consumption / effective throughput. Please note that the “Slot Availability Mask” feature applies to classic Bluetooth devices only and is therefore not supported by the CC2640R2F.
How do I evaluate Long Range BLE Connections and Advertising Extensions?
In addition to the High Speed 2 Mbps mode supported in the production BLE5-Stack v1.0.1 protocol stack which maximizes throughput with high-end Bluetooth 5 enabled smartphones that don't currently support the Long Range features of BLE5 (e.g., Samsung S8 and iPhone 8/X), TI has also enabled the ability for establishing long range connections using the LE Coded PHYs as well as broadcasting larger advertising payloads with the Advertisement Extension (AE) feature on a new CC2640R2 SDK. These new features are available in the BLE5-Stack v1.1.0 which is a component of SIMPLELINK-CC2640R2-BLE5-EVAL SDK 1.50.00.71 and allows customers to begin development and evaluations with these features that utilize the LE Coded PHYs.
The longer range in BT5 is enabled by using Forward Error Correction (FEC) to improve receiver sensitivity while transmitting at the same transmit power. If you want to know more about the science behind coded PHYs and how they improve link budget without increasing transmit power, check out our blog How does Bluetooth® 5 increase the achievable range of a Bluetooth low energy connection? which includes a video demonstration of a 1.6 km BLE Long Range connection between CC2640R2 LaunchPads.
To enable the evaluation of the LE Coded PHYs in the SDK we've updated the in box peripheral and central sample applications with ability to advertise, scan and connect on the extended advertisement channels, including with the "Long Range" LE Coded PHYs (S2 or S8). Just program your CC2640R LaunchPads with the BLE5 simple_central & simple_peripheral then use the two-button menu provided over the LaunchPad's UART back channel to scan and connect. Updated GAP documentation is also provided in the included BLE SW User's Guide.
Please note that you cannot certify your device with Bluetooth SIG when using the LE Coded PHY evaluation configuration from this SDK or earlier SDKs.
What about Mesh?
Bluetooth Mesh, which was recently adopted by the Bluetooth SIG, is not part of the Bluetooth 5.0 specification. Instead, Bluetooth mesh is a standalone ("External to Core") specification that utilizes the BLE Advertising channels defined in the original Bluetooth 4.0 LE specification to 'flood' messages across the mesh network. TI intends to support Bluetooth mesh in a future product offering. To keep up on the latest status with mesh offerings from TI, we recommend subscribing for wireless connectivity updates in your myTI account.
And the rest ...
Can I use any Android 8 "Oreo" phone to evaluate this SDK with the BT5 Long Range (LE Coded PHY) feature?
Eventually, but not now. It's important to remember that Android provides a Bluetooth Host stack and interfaces with a BT/BLE Controller which is typically a separate/external chipset on these systems. The Controller implements the Link Layer and PHY layers of the BT protocol stack and interfaces to the Host using the HCI protocol over a serial bus. So, saying Android 8, which supports BT5 High Speed, AE and LE Coded PHY features means that it has the Host support (i.e., GAP) and, among other things, ability to send the relevant HCI commands to the Controller. It is perfectly valid to combine a non-BT5 equipped Controller with a BT5 enabled Host. Therefore, both the Host and Controller must both support a BT feature for it to be implemented over the air. A properly implemented BT Host will query the Controller for its locally supported features, and in this case, will only send the HCI related commands for LE Coded PHY if the Controller indicates support for such.
As of post time, we are not aware of any production BT Controllers (i.e., as typically used on mobile phone chipsets) that support the LE Coded PHY used for AE and Long Range connections. This includes the Samsung S8, iPhone 8/X, and Google Pixel 2 devices which support the BT5 High Speed feature.
As you can see with all these great improvements Bluetooth 5 is not your father’s wireless specification. Please feel free to ask questions below.
[Updated 09-Nov-18] BLE5 2M/LR/AE production certified support now included in CC2640R2 SDK v2.30
[Updated 06-Sep-18] BLE5 LR/AE eval support now included in CC2640R2 SDK v2.20
[Updated 19-Jan-18] Details on CC26x2 and CC1352R