BLE Advertising

Hello

I'm currently working on writing some specifications for a future product. In this product, I want to use the advertising mechanism to send specific data from one device to multiple devices inside its radio range. Those information are then processed by the other devices and they will react on the received information if necessary.

I'm looking at the moment in legacy advertising as well as in the extended advertise mechanism.

I tried to collect all relevant information from the BLE specifications and also from the SDK API regarding the two different BLE Advertise but I'm still struggling with some information and hopefully someone here can answer them...

Legacy Advertise (BLE 4.x):
As far as I understand, when sending some specific data via the legacy advertise, those information are transmitted once on all three channels with a given delay in between them.
The TX power for the advertise packet is configurable. Now I'm wondering if it is possible to send it only on one channel and if sending on multiple channels, if I can regulate the delay between two packets? What about automatic retransmit (similar as the BT Mesh stack is doing it)?

Extended Advertise (BLE 5.x):
Some basic information (PHY channel and time delay) are transmitted over the three ADV channels. After this delay runs out, the specific information is transmitted over the before mentioned PHY channel. TX power should be configurable for each extended adv packet. Also here my question, can I modify the delay when the data is transmitted? Is there a possibility to automatic resend the adv?

Thanks in advance.

/thierry

  • Sorry, wrong choice. I'm looking for information for the nRF Connect SDK

  • Hi,

    Legacy Advertise (BLE 4.x):

    As far as I understand, when sending some specific data via the legacy advertise, those information are transmitted once on all three channels with a given delay in between them.

    Yes. The default is for each advertising event, to send the advertisement once on each advertising channel, with a small delay in-between.

    The TX power for the advertise packet is configurable. Now I'm wondering if it is possible to send it only on one channel

    No. The channel map cannot be configured for advertisement. I.e., advertising events will send on all three advertising channels,

    and if sending on multiple channels, if I can regulate the delay between two packets?

    No. The delay is fixed between the three packets of the same advertising event, and depend on the capabilities of the hardware. For seeing the stand by time (and for the nRF52 series also radio startup time) required in-between packet transmissions, you may have a look at the graphs provided by the Online Power Profiler for Bluetooth LE, selecting the device for which you want to know the values for.

    What about automatic retransmit (similar as the BT Mesh stack is doing it)?

    If you mean repeated transmissions of the same advertising payload, then yes. This is actually the default way of doing advertising in BLE. You set up your advertising data, and start advertising, which will go on for multiple advertising intervals using the same advertising data.

    Extended Advertise (BLE 5.x):

    Also here my question, can I modify the delay when the data is transmitted?

    The delay after having transmitted on the three advertising channels, before  transmitting over the secondary channel? I don't think so, at least it doesn't look like there are any configurations for that, no.

    Is there a possibility to automatic resend the adv?

    For extended advertising, as with normal legacy advertising, you can send the same payload repeatedly, yes. There seems to even be part of the API to configure the duration and number of advertising events: Zephyr API: bt_le_ext_adv_start_param Struct Reference

    Regards,
    Terje

  • Hi,

    Thanks for letting us know. I have changed the tag from nRF5 SDK to nRF Connect SDK.

    Regards,
    Terje

  • For BLE 5.x:

    You can maybe also used periodic advertising which may be more suitable for your use case.

    Hope you are going well by the way. Stuck out tongue

Related