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

Is it mandatory to send the send the manufacturing id in the BLE advertising packet

I am only sending the local name in the BLE advertisement packet. Do I need to send the manufacture Id as well, even if there is no manufacture specific data that I need to advertise. In my application, the BLE central can read the product data from its services after the connection is established and that works fine for me.

Parents
  • There is no requirement that you include manufacture specific data, no.

    [Edit for clarification]

    To be clear, you are required to register with the Bluetooth Special Interest group if you plan to sell any product or services utilizing Bluetooth intellectual property or brand. You will be assigned a company id when you do so. The 0xFFFF value referenced by Nordic is a reserved id that can be used for testing purposes; you cannot ship any product with 0xFFFF set as the manufacturer id.

    That said, you are not required to include that id in your advertising packet, no. For example, Fitbit's advertising packet does not include any such manufacturer specific information:

    systime=1401827476 freq=2402 addr=8e89bed6 delta_t=673.874 ms
    40 21 eb 12 e6 2d bb f5 02 01 06 11 06 ba 56 89 a6 fa bf a2 bd 01 46 7d 6e ca 36 ab ad 05 16 0a 18 07 04 69 6e 34
    Advertising / AA 8e89bed6 / 33 bytes
    Channel Index: 37
    Type: ADV_IND
    AdvA: f5:bb:2d:e6:12:eb (random)
    AdvData: 02 01 06 11 06 ba 56 89 a6 fa bf a2 bd 01 46 7d 6e ca 36 ab ad 05 16 0a 18 07 04
    Type 01 (Flags)
    00000110
    Type 06 (128-bit Service UUIDs, more available)
    adab36ca-6e7d-4601-bda2-bffaa68956ba
    Type 16 (Service Data)
    UUID: 180a, Additional: 07 04
    Data: eb 12 e6 2d bb f5 02 01 06 11 06 ba 56 89 a6 fa bf a2 bd 01 46 7d 6e ca 36 ab ad 05 16 0a 18 07 04
    CRC: 69 6e 34

    Credit to John Abraham (j2abro.blogspot.com/.../understanding-bluetooth-advertising.html) for the above scan

  • There are no requirements for the data in the advertising packet except to follow the data format like "length/type/data". However, the observer could be using whatever that is in the packet to decide if it wants to connect or notify the user. I know e.g. iOS allows you to do this, by giving the apps the possibility to "subscribe" to a UUID and get notified if an advertiser with that UUID appears.

    So you can face application interoperability problems, but not bluetooth spec compliance problems by not advertising certain data structures.

Reply
  • There are no requirements for the data in the advertising packet except to follow the data format like "length/type/data". However, the observer could be using whatever that is in the packet to decide if it wants to connect or notify the user. I know e.g. iOS allows you to do this, by giving the apps the possibility to "subscribe" to a UUID and get notified if an advertiser with that UUID appears.

    So you can face application interoperability problems, but not bluetooth spec compliance problems by not advertising certain data structures.

Children
No Data
Related