Data format 3 (RAWv1)

Lifecycle: Deprecated

The data is decoded from "Manufacturer Specific Data" -field, for more details please check Bluetooth Advertisements section. Manufacturer ID is 0x0499, which gets sent as 0x9904. The actual data payload is:

Offset

Allowed values

Description

0

3

Data format definition (3 = current sensor readings)

1

0 ... 200

Humidity (one lsb is 0.5%, e.g. 128 is 64%) Values above 100% indicate a fault in sensor.

2

-127 ... 127, signed

Temperature (MSB is sign, next 7 bits are decimal value)

3

0 ... 99

Temperature (fraction, 1/100.)

4 - 5

0 ... 65535

Pressure (Most Significant Byte first, value - 50kPa)

6-7

-32767 ... 32767, signed

Acceleration-X (Most Significant Byte first)

8 - 9

-32767 ... 32767, signed

Acceleration-Y (Most Significant Byte first)

10 - 11

-32767 ... 32767, signed

Acceleration-Z (Most Significant Byte first)

12 - 13

0 ... 65535

Battery voltage (millivolts). MSB First

Data field descriptions

Data Format

The first byte tells the receiver (ie. website) what kind of type of data the packet has.

Temperature

Values supported: -127.99 °C to +127.99 °C in 0.01 °C increments.

Example

Value

Measurement

0x0000

0 °C

0x8145

-1.69 °C

0x0145

+1.69 °C

Humidity

Values supported: 0.0 % to 100 % in 0.5 % increments.

Example

Value

Measurement

000

0%

128

64.0%

200

100.0%

Atmospheric Pressure

Values supported: 50000 Pa to 115536 Pa in 1 Pa increments.

Example

Value

Measurement

00000

50000 Pa

51325

101325 Pa (average sea-level pressure)

65536

115536 Pa

Acceleration

Values supported: -32000 to 32000 (mG), however the sensor on RuuviTag supports only 16 G max (2 G in default configuration). Values are 2-complement int16_t, MSB first. All channels are identical.

Example

Value

Measurement

0xFC 0x18

-1000 mG

0x03 0xE8

1000 mG

Battery voltage

Values supported: 0 mV to 65536 mV in 1 mV increments, practically 1800 ... 3600 mV.

Test vectors

These test vectors are based on ruuvitag-sensor project. There is no specific value for invalid/not available sensor readings, it is suggested to send 0 if value is not available. The tests are bidirectional, decode-encode results in original raw data. Encode-decode must result in same values with given precision, but floating point rounding differences may occur.

Case: valid data

Raw binary data: 0x03291A1ECE1EFC18F94202CA0B53

Field

Value

Data format

3

Temperature

26.3 C

Pressure

102766

Humidity

20.5 RH-%

Acceleration X

-1.000 G

Acceleration Y

-1.726 G

Acceleration Z

0.714 G

Voltage

2.899 V

Case: maximum values

Raw binary data: 0x03FF7F63FFFF7FFF7FFF7FFFFFFF

Field

Value

Data format

3

Temperature

127.99 C

Pressure

115535

Humidity

127.5 RH-%

Acceleration X

32.767 G

Acceleration Y

32.767 G

Acceleration Z

32.767 G

Voltage

65.535 V

Case: minimum values

Raw binary data: 0x0300FF6300008001800180010000

Field

Value

Data format

3

Temperature

-127.99 C

Pressure

50000

Humidity

0.0 RH-%

Acceleration X

-32.767 G

Acceleration Y

-32.767 G

Acceleration Z

-32.767 G

Voltage

0.000 V

Last updated