This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE backward compatibility

Hello!

I have questions.

I develop a central and peripheral devices at nrf52832.

I use SDK 15.3.0, s132 v6.1.1.

1.If I program Nordic's BLE peripheral sample into a device as is, can the device be said to be Bluetooth 4.2 compliant? One of the features of bluetooth 4.2 is mitm. Even if miti is not enabled, is the device compliant with Bluetooth 4.2?

I want to know the conditions under which a Bluetooth version can be declared.

2.When should a Bluetooth device decide which Bluetooth version to communicate with?

3.bluetooth le has backward compatibility, but is it necessary to branch the settings in the application layer for each version? For example, when developing a device that can use the function of bluetooth5.0, do I need to perform branching judgment processing in the application layer for Bluetooth4.0, 4.1, 4.2?

Or do SDKs and soft devices automatically negotiate in lower layers? Does the designer have to worry about backward compatibility?

Thank you in advance.

Parents
  • Hello,

    Or do SDKs and soft devices automatically negotiate in lower layers? Does the designer have to worry about backward compatibility?

    Backward compatibility should generally not be a problem. The BT stacks do what's called a "feature exchange" at the beginning of connections to determine what features they can use. This is without any involvement from the app. 

    1. MITM protection is available in all versions, but there are different ways to achieve it. The most common way is with the use of a 6 digit passkey that the user must submit to allow the pairing or bonding to complete. The requirement for this is that at least one of the devices to have a keyboard input capability so the user can provide the passkey. 

    2. This is taken care of by the feature exchange mentioned above. 

  • Vidar

    Thank you for your reply!

    I don't have enough knowledge about the Bluetooth version that is listed on the BLE product spec sheet.

    1. When using a BLE chip that supports bluetooth5.0, does the designer need to intentionally set it to behave as bluetooth5.0 in the application layer? If so, where is that setting in the Nordic SDK?

    2. When developing a BLE product using a nordic chip, does the Bluetooth version of that product not be determined by the application layer, but by the lower layer, so is it determined by the bluetooth version of the nordic chip?
    For example, if I design a BLE product using the attached image module, will it be a BLE product that is compliant with Bluetooth 5.0 without writing special processing in the application layer?

    Thank you.

  • 1. No. The version number is defined by the Bluetooth stack and is not affected by application code. Also, the application itself will not break backwards compatibility as long as it doesn't demand support for specific new features such as increased data rate with LE 2M PHY.

    2. The BT version is determined by what Softdevice (BT stack) you use as mentioned above. Softdevice s1xx v.7.0.1 is Bluetooth 5.1 compliant. You may test your devices with older smartphones to verify backward compatibility. 

    A couple of links you may find relevant:

    S132 SoftDevice Specification - The first page highlights the main features of the current version of the s132 Softdevice stack.

    SDKs and SoftDevices - Table to show compatible Softdevice and SDK combinations if you're using the nRF52832.  

  • Thank you!
    I understand that.
    Finally let me ask one question.
    One of the connection parameters is lesc. Even if this is false, can I say that this product supports Bluetooth 4.2 and 5.0?
    Thank you.

  • Yes, correct. The specification does not impose any requirement that you have to support LESC. Some applications don't event support pairing. The ble_app_uart, ble_app_blinky examples from the SDK for instance.

Reply Children
No Data
Related