iBeacon

Advertising packets are the messages that your Beacons transmit continuously announcing their presence to nearby devices.

Kontakt.io Beacons start to send advertising packets as soon as the battery is installed.
When you receive your Beacons, they will already be transmitting advertising packets. Advertising packets are compatible with Apple iBeacon™ standard. The advertising packets for the default Kontakt.io Beacon preset are transmitted every 350ms. On all beacons, except Beacon Pros, iBeacon packets are broadcasted as a connectable undirected advertising (ADV_IND). Beacons Pro broadcast them as non-connectable undirected advertising (ADV_NONCONN_IND). iBeacon packet structure After 9 bytes of constant preamble, the Proximity UUID, Major and Minor values are transmitted.

UUID is 16 bytes long, Major and Minor are 2 bytes long. Together they form an ID for your iBeacon. Mobile devices recognize which Beacon they approach on the basis of these values.

The final byte is the packet is used to calculate distance from the iBeacon. It represents RSSI value (Received Signal Strength Indication) measured at 1 meter from the iBeacon. The value of this byte changes automatically if the user changes the transmission power for the iBeacon, but it's also configurable if a user wants to do custom calibration for each beacon and Tx power level.

Byte offset Default value Description
0 0x02 Data length – 2 bytes (constant preamble)
1 0x01 Data type – flags (constant preamble)
2 0x06 LE and BR/EDR flag (constant preamble)
3 0x1a Data length – 26 bytes (constant preamble)
4 0xff Data type - manufacturer specific data (constant preamble)
5 0x4c Manufacturer data (constant preamble)
6 0x00 Manufacturer data (constant preamble)
7 0x02 Manufacturer data (constant preamble)
8 0x15 Manufacturer data (constant preamble)
9 0xf7 Proximity UUID 1st byte
10 0x82 Proximity UUID 2nd byte
11 0x6d Proximity UUID 3rd byte
12 0xa6 Proximity UUID 4th byte
13 0x4f Proximity UUID 5th byte
14 0xa2 Proximity UUID 6th byte
15 0x4e Proximity UUID 7th byte
16 0x98 Proximity UUID 8th byte
17 0x80 Proximity UUID 9th byte
18 0x24 Proximity UUID 10th byte
19 0xbc Proximity UUID 11th byte
20 0x5b Proximity UUID 12th byte
21 0x71 Proximity UUID 13th byte
22 0xe0 Proximity UUID 14th byte
23 0x89 Proximity UUID 15th byte
24 0x3e Proximity UUID 16th byte
25 xx* Major 1st byte (randomly generated)
26 xx* Major 2nd byte (randomly generated)
27 xx* Minor 1st byte (randomly generated)
28 xx* Minor 2nd byte (randomly generated)
29 0xb3 Calibrated RSSI@1m (for TX power level 3)

* - random values