Ruuvilab
As seen on Kickstarter

Official RuuviTag Firmware

« Back to tutorials

Measure Anything Anywhere

firmware

Comments

This super simple but extremely capable firmware application turns your RuuviTag into a remote temperature + relative air humidity + air pressure + acceleration sensor.

Update your firmware here

The firmware version 2.5.9 has three modes: RAWv2-fast, RAWv2-slow and RAWv1. The user can toggle between the modes by pressing the button B. Mode can be identified by the led blinking. Led is green on RAWv2 modes and red on RAWv1 mode, the leds blink once per measurement. You should use RAWv2-fast if you're using the sensors with Ruuvi Station mobile app to get fast data updates. RAWv2-slow is a good choice when you have a gateway collecting the data and can therefore afford some latency. RAWv1 should only be used if your current application doesn't support RAWv2.

Beginning of firmware version 2.5.9, RAWv2 mode has been the default mode. It automatically starts after battery has been connected to the device.

The URL mode was a low-resolution format designed to be used mainly with Android Nearby. After Google disabled Nearby notifications it no longer served any purpose and it has been removed. 

For more details about the modes please refer to data format specification. If you want to build your own custom application, TTU's python library, or Scrin's RuuviCollector will get you started. 

RAWv1 mode (red LED blinks dimly)

The RAW mode uses "Manufacturer specific data" format of Bluetooth Low Energy advertisements to transmit the data. This is the most effective way of packing measurement data of sensors into 24 bytes allowed in the BLE advertisement.

The RAWv1 data format contains temperature, relative air humidity and air pressure readings in high resolution. The RAWv1 mode also includes XYZ-acceleration data and battery voltage. Transmit power is +4dBm (which is RuuviTag's maximum).

RAWv2 mode (green LED blinks dimly)

The RAW mode uses "Manufacturer specific data" format of Bluetooth Low Energy advertisements to transmit the data. This is the most effective way of packing measurement data of sensors into 24 bytes allowed in the BLE advertisement.

The RAWv2data contains all the data of RAWv1, as well as a movement counter to detect if tag has been handled, measurement sequence counter to detect reboots and missed packets as well as MAC address of the device for iOS users.

You can see the environmental values transmitted with Android app.

URL mode (no longer supported)

The URL mode sends rounded environmental sensor values but the transmissions do not include accelerometer data.

The application broadcasts all these environmental variables continuously, 2 times every second.

RuuviTag transmits simple URL addresses in Eddystone-URL format which have sensor data encoded into them.

Weather station notification

Until end of October 2017, Google Chrome on Android/iOS had a widget feature which supported Physical Web. However, now the support has been removed. Read more.

ANOTHER UPDATE: In December 2018 Google will shut down Android Nearby notificationsUntil this, Android phones running KitKat (4.4) and above have a feature called Nearby Notifications. It helps nearby RuuviTags in URL mode to show up on your phone's notification bar.

An alternative way to see these readings is to use a beacon scanner. Many are available. The one we love is nRF Connect. It's available on both Android and iOS. You can also try Beacon Toy or Physical Web (iOS).

Example

To see multiple RuuviTags running the firmware (RAW mode) in action, check a beautiful data visualization demo made by our community member Henrik Heikkilä.

 

Comments

Share your project

#ruuvitag / @ruuvicom

Ruuvi Innovations Ltd (Oy) / Finland

Web Design Niku Creative