Skip to content

Location Packet

In firmware 1.21 for nRF52-based devices Kontakt.io implemented a new type of an advertising packet - Kontakt.io Location packet. It is specifically designed to improve accuracy of RSSI readings, that are especially important for systems that need to compute location/position of various assets.

Contrary to other BLE advertising packets it can broadcast only on one of the BLE advertising channels, what greatly benefits signal stability. Additionally, on accelerometer equipped beacons it can also indicate whether a beacon is moving or not, what can be a very useful hint for positioning systems.

In order to find out more about configuration of this packet, please refer to Kontakt.io API Reference and specifically to POST /config/create endpoint documentation.

Byte offset Default/sample value Description
0 0x0E Block length - 15 bytes
1 0x16 Block type - service data
2 0x6A Kontakt.io UUID
3 0xFE Continuation
4 0x05 Payload identifier
5 0xF4 Nominal Tx power (not Tx Power Level) that is set through beacon configuration (Int8)
6 0x25 BLE channel used for broadcasting Location Packet - 0 when normally broadcasting on all of them, or 37, 38 or 39 when only one of them is used (UInt8)
7 0x0A Beacon model identifier (UInt8)
8 0x01 Flags bit mask - index 0: beacon moving or not, indices 1-7: reserved for future use
9 0x41 Unique ID
10 0x62 Continuation
11 0x43 Continuation
12 0x64 Continuation
13 0x45 Continuation
14 0x66 Continuation