What’s The Format of the AnkhMaway Advertising Acceleration Data?

The iB003N and its sensor variant the iB003N-SHT can send the acceleration value in Bluetooth advertising data every (configurable) 100ms to 10s without connecting. This mode is called AccBeacon and can be transmitted as well as the iBeacon and Eddystone channels.

The AnkhMaway documentation isn’t that clear as to the format of the AccBeacon advertising data. This is because the data format changes depending on the actual beacon capabilities and configured settings:

State value: byte
Mac address: 6 bytes
Acceleration value:6 bytes(x:2 bytes y:2 bytes z:2 bytes)
Temperature value: 2 bytes
Battery level: 1 byte
Position data: 1 byte

i.e. The ‘position data’ within the advertising data will be at a different point in the advertising data depending on whether the previous values are ‘on’ or not. The position data gives the orientation of the beacon (i.e. which way up it is).

For the iB003N-SHT (as opposed to the non temperature sensor iB003), the acceleration values aren’t on by default and you also have to also set 0xAA10->0xAA14. For example if change it to, for example, 0xFC0A, the acc data is shown in the Accbeacon advertising data. The format of the AccBeacon data is as per Table 6 of the user documentation. Also, for the Android eBeacon app you must specify the value, 0xFC0A in the above example, in lower case. i.e. 0xfc0a.