Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

How to broadcast a 128-bit SIG-defined UUID

Hi!

Due to product requirements, I need to make the broadcast package contain 128-bit UUID so that the APP of our company can identify the device. The chips of other manufacturers were used to realize this function, but the following problems occurred after replacing Nordic:

SDK: NRF5_SDK_17.1.0_DDDE560, routines: examples\ ble_Peripheral \ble_app_uart.

1.In the routine change NUS_BASE_UUID to the base UUID defined by SIG: 0x0000XXXX-0000-1000-8000-00805F9b34Fb

The change procedure is as follows:

Error parameters are returned during advertising_init initialization

I had to change the broadcast UUID type to 16 bits for proper initialization, both from BLE_UUID_TYPE_VENDOR_BEGIN to BLE_UUID_TYPE_BLE

Using NRF Connect to scan only 16-bit UUID,

This makes it impossible to scan connections using our company's APP, which only recognizes 128-bit UUID. Below is the UUID broadcast by chips from other manufacturers, which needs to be 128 bits to connect with our APP.

How can I set up the broadcast package to include the 128-bit base UUID defined by the SIG so that my APP can connect.

Looking forward to your reply.

Parents
  • Hi,

    I am afraid the SoftDevice API doesn't allow for listing 16 bit UUIDs as if they were 128 bit UUIDs, and we have currently no known workarounds for this.

    I do understand that you have legacy products breaking with the expectations for BLE advertising data, and that you have central side tools relying on erroneously listing 16 bit UUIDs as 128 bit UUIDs in order to connect.

    It should be perfectly fine to change mobile APP from connecting to a given 128 bit UUID, to connecting to either a given 128 bit UUID or a given 16 bit UUID. I.e. connect both to devices advertising the 128 bit version and to devices advertising the 16 bit version. I suggest that as workaround.

    Please note if this is a new project, nRF Connect SDK is our recommended SDK instead of nRF5 SDK which is now in maintenance mode. See our nRF Connect SDK and nRF5 SDK statement. While not possible to advertise 16 bit UUIDs in a list of 128 bit UUIDs in nRF5 SDK, I am not sure about the status in nRF Connect SDK where it may or may not be possible.

    Regards,
    Terje

Reply
  • Hi,

    I am afraid the SoftDevice API doesn't allow for listing 16 bit UUIDs as if they were 128 bit UUIDs, and we have currently no known workarounds for this.

    I do understand that you have legacy products breaking with the expectations for BLE advertising data, and that you have central side tools relying on erroneously listing 16 bit UUIDs as 128 bit UUIDs in order to connect.

    It should be perfectly fine to change mobile APP from connecting to a given 128 bit UUID, to connecting to either a given 128 bit UUID or a given 16 bit UUID. I.e. connect both to devices advertising the 128 bit version and to devices advertising the 16 bit version. I suggest that as workaround.

    Please note if this is a new project, nRF Connect SDK is our recommended SDK instead of nRF5 SDK which is now in maintenance mode. See our nRF Connect SDK and nRF5 SDK statement. While not possible to advertise 16 bit UUIDs in a list of 128 bit UUIDs in nRF5 SDK, I am not sure about the status in nRF Connect SDK where it may or may not be possible.

    Regards,
    Terje

Children
Related