LogoLogo
  • Ruuvi Developer Documentation
  • Ruuvi Hardware
    • RuuviTag B
    • RuuviTag Pro
    • Ruuvi Gateway
    • Ruuvi DevShield
    • Ruuvi Connector Kit
    • TMP 117 External Sensor
  • Ruuvi Connector System
    • Introduction
    • Expansion boards
    • Cables
    • Connectors
  • Ruuvi Sensor Firmware
    • 1.2.12
    • 2.5.9
    • 3.X
      • 3.x Sensors
      • 3.x Heartbeat
    • Device Firmware Update (DFU)
  • Ruuvi Gateway Firmware
    • GW Getting Started
    • GW Web-UI
      • Greeting window
      • Internet connection settings
        • Connection via Wi-Fi
        • Connection via Ethernet
      • Software update
      • Automatic configuration download
      • Automatic updates
      • Access Settings from LAN
      • Cloud Options
        • Backend: HTTP(s)
        • Backend: MQTT(s)
        • Backend: Statistics
      • Time Synchronisation Options
      • Bluetooth Scanning Settings
      • Configuration completion
      • Authentication when accessing from LAN
    • GW Install custom firmware
    • GW nRF52811 Firmware
      • GW nRF52811 selftest
      • GW nRF52811 scanning
      • GW nRF52811 repeating
      • GW nRF52811 UART communication
  • GW ESP32 Firmware
    • GW ESP32 WiFi Hotspot
    • GW ESP32 Button
    • GW ESP32 LED
    • GW ESP32 HTTP Client
    • GW ESP32 MQTT client
  • GW Data formats
    • HTTP: Time-stamped data from Bluetooth-sensors
    • HTTP: Data from Bluetooth-sensors without timestamps
    • MQTT: Time-stamped data from Bluetooth-sensors
    • MQTT: Data from Bluetooth-sensors without timestamps
    • HTTP GET /history (with timestamps) and decoding
    • HTTP: Gateway status
    • Gateway configuration
  • GW Examples
    • Polling mode
    • Poll endpoint "/metrics"
    • Configuration update via API
    • Firmware update via API
    • Configuration download from a remote server via API
    • MQTT examples
    • Home Assistant
    • MQTT+AWS IoT Core
  • Communicate with RuuviTag devices via Bluetooth
    • Bluetooth advertisements
      • Data format 3 (RAWv1)
      • Data format 4 (URL)
      • Data format 5 (RAWv2)
      • Data format C5 (Cut-RAWv2)
      • Data format 8 (Encrypted environmental)
    • Bluetooth connection
      • DIS (Device Information Service)
      • NUS (Nordic UART Service)
        • Heartbeat transmissions
        • Read logged history
    • Real Time Transfer (RTT)
  • Communicate with Ruuvi Cloud
    • Ruuvi Cloud
      • User API
      • Gateway API
      • Internal API
      • Alerts
      • Cloud stored app settings
  • Ruuvi Community projects
    • Integrations
Powered by GitBook
On this page
  • Data field descriptions
  • Data Format
  • Temperature
  • Humidity
  • Atmospheric Pressure
  • Acceleration
  • Battery voltage
  • Test vectors
  • Case: valid data
  • Case: maximum values
  • Case: minimum values
Edit on GitHub
  1. Communicate with RuuviTag devices via Bluetooth
  2. Bluetooth advertisements

Data format 3 (RAWv1)

Lifecycle: Deprecated

PreviousBluetooth advertisementsNextData format 4 (URL)

Last updated 5 years ago

The data is decoded from "Manufacturer Specific Data" -field, for more details please check . 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

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

These test vectors are based on 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.

Bluetooth Advertisements section
ruuvitag-sensor