Skip to content
This repository has been archived by the owner on Sep 23, 2021. It is now read-only.

FAQ: Beacon ID

Dennis German edited this page Nov 3, 2018 · 34 revisions

Ruuvi tags are based on the Nordic Semiconductor N52832 System On a Chip which includes bluetooth radio.

The chip has several identifiers. None are printed on the ruuvi enclosure so determining the ID must be done by monitoring the nearby beacons( with Nordic nRFconnect for exmple), checking the signal strength (RSSI) and switching modes with the "B" button.

  • The MAC address: Unlike Network Interface Cards which have a manufacturers prefix and a unique device address, bluetooth MACs are simply a random 6 byte number. For example several samples of nRF52832 have addresses of C4:C1:A5:FB:6D:46, C7:10:3C:68:24:C2, F2:C0:C6:43:AD:03. The MAC address is taken from the chip's NRF_FICR->DEVICEADDR[0..1], a 64bit (sic) value in reverse order. The high order 2 bits are always on so if the DEVICEADDR contains C2 24 68 3C 10 87 the advertised MAC will be C7:10:3C:68:24:C2. When the tag is in boot mode (after holding the B button, pressing Reset and releasing B as indicated by a solid RED broadcasting as "RuuviBoot" ) the MAC is broadcast as one higher then when running the applications. For example while in boot mode C7:10:3C:68:24:C3 and in the application C7:10:3C:68:24:C2. (see nRF52832 Product Specification v1.3 section 13.1.3 and 23.2 Packet configuration) Section 23.14 Registers includes the ...

    It is broadcast in the bluetooth header. This is NOT available to Apple APplication Interfaces.

  • BLE name: The second and first bytes (in lower case) are used for example Ruuvi24c2.
      in the distributed firmware
    • raw/highres format 05: It is replicated in the data portion of packet since April 2018. See MyBeacons.info/packetFormats
    • URL format 04: The first byte of DEVICEID is included as the last character of the the URL since Sept 2017 and displayed as a integer by ruu.vi as BEACON ID. See MyBeacons.info/packetFormats.html
  • DEVICEID[0..1]
  • DEVICEADDR[0..1] , DEVICEADDRTYPE ( public:0, random:1)
  • NFC Tag Header: NFC.TAGHEADER0..1. (see 13.1.38)
  • userID