1
votes

How long does it take for an iBeacon to send advertising packet?

I want to clarify this in order to configure advertising interval for beacons so that I can read hundreds of beacons as reliably and as fast as possible while avoiding collisions of iBeacon advertising packets.

1
I think a precise answer to this question -- effectively how much time it takes for the radio transmission of the packet from start to finish -- is probably not useful for the purpose stated in the second part of the question. There are simply many, many more factors at play when it comes to collisions than just how long it takes to transmit.davidgyoung
@davidgyoung, can you briefly list these factors?Alex
Factors include (a) bit rate of the transmitter (b) advertising frequency of the bluetooth device, (c) randomized time of transmission start set by the bluetooth device, (d) collisions of transmissions with other bluetooth device transmissions, (e) bluetooth radio channels used by the transmission, (f) radio noise in the vicinity...davidgyoung

1 Answers

1
votes

This is a useful question in terms of getting an ideal lower bound on power usage by the device (excluding any compute power used by the device).

The BLE packet has a preamble of 1 byte, access address of 4 bytes, header of 2 bytes, MAC address of 6 bytes, data of up to 31 bytes, then a CRC of 3 bytes. That's a total of 46 bytes or 368 bits.

BLE has a supposed data rate of 1Mbit. According to this article, that excludes framing / error checking / connecting (although an advertising packet probably won't spend a lot of time connecting). So assuming the best case of 1Mbit=1024*1024, we can send 2849 advertising packets per second. That means each one is about 0.35 ms - in an ideal world. If the article is right, and the effective data rate is as much as 4x slower, it could be as long as 1.4 ms.