What would you like to see?

I like to see some NFC examples


I’d like to see some Web Bluetooth examples.

1 Like

I’d like to see the Ruvvi weather app showing when the data was received.

1 Like

We cannot add time data to weather station URL broadcast, because then the URL would change every second / minute and Android would show a new notification on every new URL which is incredibly spammy.

We’re working on web-bluetooth example where you get real-time data. The tradeoff is that web bluetooth requires connecting to beacon, so only one person can check the data at a time.

OK I understand that Otso.

Can you not see that with the browser displaying the last received data no matter how long ago it was received and even when refreshed, seriously affects the usefulness of the data?

There has been some confusion because the browser displays always the same data on same URL. Centria came up with a data reader application which shows the current sensor data on Android, would it fulfill your needs?

If not, what would you propose as a solution?

I’m using IPad so an Android app doesn’t do it for me.

I can work around the issue as I can walk up to my beacons and allow updating before opening the brower.

I was thinking more of the user who isn’t a beacon owner and who has opened the browser before but has no idea how old the data being displayed is.

Could an arbitrary timer not be set running at the server end when the data is received that returns an out of date symbol to the browser when it runs out?

At least then the user would know the beacon was out of range and consequently the data displayed was not current.

We could add a cookie to the website which would time stamp the data set and show something along the lines of “First seen at 2017-02-09 13:42”. The server itself will not see the data until the URL has been loaded.

I will also check if web bluetooth could be used to discover non-connectable advertising beacon, which we could then use to check if the beacon is in range. We’ll think about the options (@lauri any ideas?) and try to find a way to improve on this issue.

I’d like a module in HomeAssistant so that I can use the weather data from the ruuvi tag


My Ruuvi arrived today, cheers. It’s pretty cool, but I found the learning curve to be steep. I think simple “getting started” and “How too” articles would benefit the community and support for RuuviTag.


A simple way to change the Instance ID on a beacon running the weather station.

I like a Node-red node.

Has the power optimization for the Eddystone f/w been completed? If not, what’s the current estimate?

Yes, the Eddystone firmware available at ruu.vi/setup is power optimized. The overall power consumption depends on configured transmission power and frequency, I think the default setup of +0dBm at 1 Hz was around 25 µA @ 3.3V (2+ years battery life on 600 mAh battery, 3+ years on 1000 mAh battery)

I would like to get informed when the ruuvi device moves. Is there any way to wait in the client that ruuvi sends information. Or do we have to poll always?
And are there interrupts in the device itself? So that the device would notice if it moves? (It would then be possible to buffer the motion info and send it out when polled)
For example this could then be used as alarm sensor or mailbox sensor.

There is work in progress with a GATT profile implementation that can send acceleration data as a notification. You’d need a device to connect to RuuviTag and register to incoming notifications. I’d estimate that the SW is ready to be tested in a month or 2.

It is possible to configure the accelerometer to send interrupts, however our driver does not support the configuration modes as of right now.Personally I’d recommend implementing a circular buffer and sending the buffer when interesting event is detected. For an example you can check out https://github.com/ojousima/ruuvitag_fw/blob/feature-webble/ruuvi_examples/web-bluetooth/application.c , line 36 has condition when to send an accelerometer sample and lines 42 and 44 actually send the data.

A quicker solution would be to setup a listener to a sensortag firmware as shown in Collecting RuuviTag measurements and displaying them with Grafana

I need to read quaternion values from a i2c based IMU.
Bno55 from bosch
I want to send them at 75 Hz to the host.
Websocket or formatted GATT messages over NUS is acceptable.

These are choices due to the need to access the info from applications running on as many as possible platforms.

More info can be provided if needed.


I’m not sure If I understand the question, however your application sounds doable.

You’d need to connect the sensor to test points on Ruuvitag and code the necessary drivers.

There is an example application with NUS in SDK examples, I think the example runs on Ruuvitag as is.

Then you’d need to merge the codes. To get 75 Hz, you have to configure a small connection interval.

The transmission times might have a lot of jitter, as NRF52 can send up to 6 notifications in one connection interval.

13 ms is an acceptable, how would I go about to specify the the connection interval?

I am currently using s132 in Arduino development environment so I am shielded from the nitty gritty parts of ble setup an configuration.

Do you have a pointer to pure c++ code example that can establish a persistent nus uart connection with between 10 to 20 ms connection interval from the ruuvitag?

I am not familiar enough with the Arduino on nRF52 to say how the connection interval should be setup.

On Nordic SDK BLE_UART example (sdk12.2/examples/ble_peripheral_ble_app_uart) you can find MIN_CONN_INTERVAL and MAX_CONN_INTERVAL which would setup the acceptable limits. Please note that frequent connection interval leads to high power consumption even when there is no data being sent.