Skip to content

Scan Response

The Scan response packet contains basic information about a Beacon.

Once a connectable advertising packet (ADV) has been received by a scanning device (such as mobile phones), further information can be requested. The Beacon responds with the Scan response packet. After sending the scan response packet (this is sent just once) the Beacon will continue broadcasting advertising packets.

Scan response packets play an important role on nRF51- and DA14580-based beacons, where they contain identifiable information needed to efficiently manage beacons, like:

  • Device name
  • Transmission power level
  • Unique ID
  • Firmware version
  • Battery level

On newer, nRF52-based devices, scan response is kept only for compatibility reasons and consists of just the Bluetooth name of a beacon. On these devices the role of providing identifiable information is played by the Kontakt.io Secure Profile packet.

Classic Scan Response Packet structure

Byte offset Default/sample value Description
0 0x08 Data length – 8 bytes (varies depending on name's length, max. 16 bytes - 1 for data type and 15 for the actual name)
1 0x09 Data type – complete local name
2 0x4B Local name (K)
3 0x6F Local name (o)
4 0x6E Local name (n)
5 0x74 Local name (t)
6 0x61 Local name (a)
7 0x6B Local name (k)
8 0x74 Local name (t)
9 0x02 Data length – 2 bytes
10 0x0a Data type – Tx power level
11 0xF4 Tx Power value
12 0x0A Data length – 10 bytes
13 0x16 Data type – service data
14 0x0D Service UUID
15 0xD0 Service UUID
16 0x61 Unique ID 1st byte
17 0x62 Unique ID 2nd byte
18 0x63 Unique ID 3rd byte
19 0x64 Unique ID 4th byte
20 0x04 Firmware version (major)
21 0x02 Firmware version (minor)
22 xx Battery level

Scan Response Packet structure from nRF52-based devices

Byte offset Default/sample value Description
0 0x08 Data length – 8 bytes (varies depending on name's length)
1 0x09 Data type – complete local name
2 0x4B Local name (K)
3 0x6F Local name (o)
4 0x6E Local name (n)
5 0x74 Local name (t)
6 0x61 Local name (a)
7 0x6B Local name (k)
8 0x74 Local name (t)