This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

BLE Advertisment Interval Minimum Size

FormerMember
FormerMember

In ble_gap.h I noticed a parameter called BLE_GAP_ADV_INTERVAL_MIN, which determines the minimum gap between BLE advertisements. Current setting is 0x0020.

Currently in AdvertiserInitializer.h, the CONNECTABLE_ADV_INTERVAL is set to 0x0020. With my currently application, the average time between advertisements is 28uS, which is measured at the receivers end.

I have two questions.

1 What is the smallest possible interval between BLE advertisments?

I'm guessing this is dependent on the message length and settings. So I think a more appropriate question

  1. Is there a simple formula, which could be used to get a reasonable estimate for different message lengths and settings.

My current approach is simply to experiment with different message lengths and settings and to record the average time between messages at the receiver end.

  • The smallest possible advertising interval is 20ms, this is defined by Bluetooth Core Specification 4.1, Volume 3, Part C, Section 7.8.5.

    In BLE there are three advertising channels, and one advertising packet is sent on each of these in each interval.

  • FormerMember
    0 FormerMember

    Apologies for the delay in response. That answers my question quite nicely. It also reminds me to do my homework, read the documentation!

    I am able to send data at a high rate, about 20ms to 30ms between packets. The only issue I'm having is with devices receiving the data, for example Android or Linux. They seem unable to keep with the data rate. If I set up four machines to receive the data, they each receive a different subsets of the data. However that is probably more an OS, driver issue.

Related