This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Bluetooth® 5 Is Here: Top Five Questions Answered [Updated with Long Range Connections]

Guru** 105180 points
Other Parts Discussed in Thread: CC2640R2F, CC1352R, CC2642R, CC2652R, CC1352P, SIMPLELINK-CC2640R2-SDK, CC2640, CC2540

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

 

  • Hi Jeff,

    You forgot the link to the video which shows how awesome our range is: https://youtu.be/2VkbGIEFn4g

    Cheers,
    Fredrik
  • Hi,

    I would like to know if there will be any change in current consumption if we use Bluetooth 5 stack features like High Speed and Long Range?

    - kel
  • Hi Kel,

    As I am explaining in the video linked above, the current consumption is the same with the new BT5 PHYs as with 1 Mbps.

    The data rate is not the same though, so depending on your application this might affect your energy budget. With 2 Mbps you will for example transfer the data faster which allows you to run the radio for a shorter period of time.

    Cheers,
    Fredrik

  • Hi Fredrik K,

    Thanks for your reply. Another question, will the CC2640R2F Bluetooth 5 stack features work with Samsung Galaxy 8 which has Bluetooth 5?

    - kel
  • Hi Kel,

    We have not tested yet, but I assume so.

    Fredrik
  • Hi Fredrik,
    Does it mean we can NOT use CC2640R2F in the Long Range mode with smartphones which don't support BT5?
  • Hi Kien,

    To be able to use the new BT5 PHYs both the Central and the Peripheral side must support these. So you cannot use Long Range / Coded PHY towards a phone that does not support this mode.

    This is similar to how "Data Length Extension" which was added in BT4.2 works.

    Fredrik
  • Hi Fredrik,

    is it able to initiate a connection directly in a long range mode? Because if i understand right, we need to establish first a normal LE Connection after that we are able to change to 2M PHY to activate long range feature.

    This means that "long range" is not "long range" because for the connection establishment we need short distance.

    Thank you very much"

    Best Regards,

    Roman

  • Hi Roman,

    You are correct about 2 Mbps. This mode you have to change to after establishing a connection (similar to Data Length Extension). For Coded PHY / Long Range Mode you can however establish a connection directly with that mode. This makes it "real" long range since you can connect over long distances also. That is actually what we did in the video linked above.

    Regards,
    Fredrik
  • Hi Roman,

    The BLE5-Stack v1.0 supports evaluation of long range (coded PHY) modes which requires the connection to be established using the default 1 Mbps Advertising channels. The BT5 specification allows for establishing a connection at long range using the coded PHYs in conjunction with the Advertising Extension (AE) feature. Support for the AE feature will be enabled in a future BLE5 SDK. For now, the performance you get on the data channel using the long range evaluation method described above will be the same when the AE feature is supported, except that you will be able to establish the connection at greater distances. As of press time there are no peer devices that support the AE + Long Range configuration.

    Best wishes

  • Hello TI experts 

    I'm currently working on positioning using Bluetooth LE RSSI, for that I'm using a couple of CC2640R2 DK with BLE 4.2 stack  as a non-connectable Beacons and one DK as a scanner.  Now i would like to upgrade to BLE 5 stack,  according to what i understand regarding BLE 5 stack, the longer range feature requires a connection establishment between 2 BLE 5 nodes to be supported. My questions is: Would it be possible in the future to use the longer range feature to implement a  non-connectable Beacons to achieve longer range in the testbed?

    Thanks a lot in advance

    Mansour 

  • Hello Mansour ,

    Yes, the Bluetooth 5 specification allows for using the LE Coded PHYs for Advertising (ADV) by way of the Advertising Extension (AE) feature. AE can be in connectable or non-connectable ADV configurations. The AE feature is currently not enabled in the BLE5-Stack v1.0.

    Best wishes
  • Thanks a lot JXS) and sorry for my late replay.

    Best Reagrds

    Mansour

  • Hi,

    I am able to borrow a Samsung Galaxy S8 which has Bluetooth 5.0. Can I use any BLE smartphone app to test BLE 5.0 features of my CC2640R2 Launchpad programmed with simple peripheral BLE 5?

    - kel
  • Hi Kel

    Warning! Samsung s8 does NOT support BLE 5 PHY Long Range. We are returning our s8 after failing tests.

    Best regards,
    Jerome
  • Markel Robregado - Yes, Simple Peripheral supports the PHY Update procedure for 2Mbps. I recommend using the Throughput Example from GitHub though.

    JEROME HIEBEL - Samsung does not claim support of Bluetooth 5 Long Range (LE Coded PHY) in their BT SIG end product listing: .

    As of press time, there are no Bluetooth qualified products that support the long range feature.

    Best wishes

  • Two Questions:
    1) For the same amount of data, say 10 bytes. Is there a power difference between 1:1 bit to sample ratio verses S=8 (1:8 bit to sample ratio) ? Based on my limited understanding so far, I assume that since the TX radio will be ON for 8 times longer (in S=8) the power consumption of TX should be 8 times more for the same TX output power. Please confirm/correct
    2) Will Ti be coming out with a module for the CC2640R2F, like the one for CC2640 (CC2640MODA)? We would love to stick to Ti (currently using CC2540 and actively looking to upgrade) but we do not want to make out own module like we did the last time with CC2540.

    Thanks
    Mak
  • Hi Noaman,

    1) You are right that transferring the same amount of data will take more time with S8 coding. This will increase the total energy consumption. The current- and power consumption is however constant.

    2) As of now TI has not announced any roadmap for module(s) with CC2640R2F. There are however several 3rd party manufacturers which offers this, LSR for example: www.lsr.com/.../sable-x-ble-module

    Regards,
    Fredrik
  • Thanks Fredrik!

    Appreciate the clarification.

    Noaman

  • How can  I realize the ble 5.0 packet sniffer with le data extension& 2mbps.

  • For BT5, you will need to use a compatible sniffer from Ellisys or Frontline (Teledyne LeCroy). As of now, these are the only vendors who offer BT5 air sniffing capability.

    Best wishes
  • Hi Jeff,

    How about the new feature LE Advertising Extensions support ?
  • AFAIK, the only BT5-capable sniffer vendors are Ellisys and Frontline.

    Best wishes
  • Hi,

    As much as i understand, the difference between LE Coded Phy and LE 1M Phy is that how many symbols you spend to code a data bit.
    The LE Coded Phy seems to me as a software thing not in physical changes on chip. Please correct me if i am wrong.
    Is there any documentation that explains the physical layer changes from ble4.2 to ble5.0

    Thank you
    Have a nice day:)
  • Hi.
    Is there support in TI BLE SDK 1.40 to change the symbol-rate in advertising packets? Can I send adv' packets in coded-s8 mode, and thus increase the advertising reception range?
    In the long range demo github.com/.../ble5apps I couldn't change the peripheral's PHY rate until it was connected.
  • Hi Koby,

    This will come in the next SDK.

    Cheers,
    Fredrik
  • Any updates on timing/availability of Mesh capability on the CC2640r2? This is an interesting feature and one we would like to include on upcoming meters. As you know others have products available with modules coming in Q12018. Any guidance from TI would help us with product planning.

    Thanks,
  • Dear Fredrik,

    When will a new version of SDK be released?
    Please let me know if the schedule is decided.

    Best Regard,

    Norihisa

  • Hello,

    The post has been updated with details on the latest SIMPLELINK-CC2640R2-BLE5-EVAL evaluation SDK v1.50.00.78 which enables native BLE connection establishment using the LE Coded PHYs as well as larger ADV sets using Advertisement Extensions (AE) on both coded and non-coded PHYs.

    Best wishes
  • Hi,

    What I have got is v1.50.00.71, not v1.50.00.78. Did you upgrade it?

    BR,
    Ji Won

  • Hi Ji Won,

    My mistake, I transposed the .58 (BT4.2 production version) with .71 (BLE5 eval version). Sorry for the confusion and thank you for pointing it out!

    Best wishes
  • Hi, I am testing Central-Peripheral sample project on BLE5 Long Range Advertising Extension evaluation stack 1.50.00.71 and was able to scan and connect on PHY_CODED S2. I would like to test the range of PHY_CODED S8. Does the evaluation stack support advertising on PHY_CODED S8? What parameter do I need to change on the Central and Peripheral sample project? For example, can I change simple_central.c -> SimpleCentral_doSetScanPhy -> temp8 = SCAN_PRIM_PHY_CODED?
  • Hi,

    In my case, I used like the below in peripheral side.

    /**
    * Default parameters for long range, connectable, advertising extension
    */
    #define GAPADV_PARAMS_AE_LONG_RANGE_CONN_USING_S8 { \
    .eventProps = GAP_ADV_PROP_CONNECTABLE, \
    .primIntMin = 160, \
    .primIntMax = 160, \
    .primChanMap = GAP_ADV_CHAN_ALL, \
    .peerAddrType = ADDRTYPE_PUBLIC_OR_PUBLIC_ID, \
    .peerAddr = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa }, \
    .filterPolicy = GAP_ADV_WL_POLICY_ANY_REQ, \
    .txPower = GAP_ADV_TX_POWER_NO_PREFERENCE, \
    .primPhy = GAP_ADV_PRIM_PHY_CODED_S8, \
    .secPhy = GAP_ADV_SEC_PHY_CODED_S8, \
    .sid = 0 \
    }

    GapAdv_params_t advParamLongRange = GAPADV_PARAMS_AE_LONG_RANGE_CONN_USING_S8;

    BR,
    Ji Won
  • Thanks Ji Won. I think what you are doing is quite advanced. Just wondering if you could get discovery and connection working successfully on PHY_CODED S8? The range test using Advertising Extension with PHY_CODED S2 shows some promises but still not enough to cover a residential area, especially those with brick walls :-(
  • Yes, there was no issue to get discovered and connected with 125kbps PHY mode. We also are checking for the long range feature.
  • Hi JXS:
    If no smartphone support AE, how could I evaluate the process (from AE to connection)? or the 1.50 SDK support scanning the AE?
  • I understand Pixel 2 phone supports Bluetooth 5 and with Android 8, it supports Coded Phy AE. I haven't tried it out yet, so can't confirm. Just thought to share.
  • Hi Change,

    The 1.50 SDK supports both scanning and advertising on the LE Coded PHY. Alternatively you can use a sniffer that supports AE.
  • Hi Marie H.
    Thx! I already apply for the BLE5-EVAL, what sniffer support BLE5?
  • I got the same ide,but I don't have Pixel 2 :-)
  • Hello Fredrik,

    Could you please share me the link for any example code or built Hex for Peripheral and central which can directly make a connection over BLE 5 long range mode. At present, I have one demo Hex files, however, they forma connection on BLE 4 and then switches on BLE 5 long range mode.

    Regards

    Prateek

  • Hi Change,
    I'm not sure, you can try to google it.
  • Chong Yek said:
    I understand Pixel 2 phone supports Bluetooth 5 and with Android 8, it supports Coded Phy AE. I haven't tried it out yet, so can't confirm. Just thought to share.

    It's important to remember that Android provides a BT Host stack and interfaces with a BT/BLE Controller which is typically a separate chipset on these systems. The Controller implements the Link Layer and PHY layers of the BT protocol stack and connects to the Host using the HCI protocol. So, saying Android supports AE and LE Coded PHY means that it has the Host (i.e., GAP) support which means it can, among other things, send the relevant HCI commands to the Controller. Therefore, both the Host and Controller must 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 press time, I'm not aware of any production combo BT Controllers (i.e., as used on mobile phone chipsets) that supports LE Coded PHY. The Nokia 7 BT SIG listing seems to be incorrectly reporting support for LE Coded PHY but it combines with a QDID that doesn't support it. Samsung has a listing on the BT SIG Database that seems to indicate that it will support it on it's next gen devices.

    Edit: According to HTC's Pixel 2 RF-PHY ICS Details on its BT SIG listing, it does not support the LE Coded PHY.

    Best wishes

  • Hi Marie H
    The example of new SDK(1.5.0) support new HCI command for AE? such as Corev5.0 Vol 2 Part E | LE Set Extended Advertising Parameters Command and so forth.

  • Hi JXS:

    I try the SDK(1/50) simple central example and create a connection to the simple peripheral, how to create a connection on PHY?Is any gap API support ex-connection (LE Extended Create Connection Command)? 

  • Hi Change,

    The evaluation version of the 1.50 SDK supports AE. You can request it here: www.ti.com/.../SIMPLELINK-CC2640R2-SDK
  • Hi Change,

    You can configure this in the gap_initiator module. See the BLE5-Stack User's Guide.
  • Hi, Marie H,

    How to send HCI command use "HCI Tester" tool? Did any vendor command send prior to the HCI RESET command to let new command work? I found that the 4.2 version commands will echo with allow status in the event, but disallow with 5.0 version commands. 

  • Hi Change,

    You can see the Vendor Specific HCI Guide for documentation on the HCI Reset System. Generally, HCI commands are not different for Bluetooth 5 and Bluetooth 4.2.
  • Hi, Marie H,

    I check the  Vendor Specific HCI Guide and found that only GAP prefix commands will be accepted, the standard commands will not be accepted, no event will occur.How to let controller go to adv state use scripts.