Welcome, friend.

You've entered the RuuviTag configuration page.

By following these simple instructions, you can easily set-up your RuuviTag sensor beacon to do many different things.

Right now, we are offering two ready-made firmware applications for you to use:

  • Weather Station (RuuviTag+ only)
  • Beacon with support for Eddystone™

On this site, you can learn what they do and how they can be configured.

If you would like to switch between these applications, read on. It can be done safely over-the-air using your own Android/iOS smart phone. No external programming tools or knowledge are required.

If you’re looking for more advanced instructions and possibilities, scroll down.

Weather Station

This super simple but still extremely capable firmware application turns your RuuviTag to a remote temperature / relative humidity / air pressure meter.

The application will broadcast all these environmental variables continuously (2 times every second) and all the nearby Bluetooth® Low Energy devices can hear them - without needing to pair or connect.

- How does this work?

Good question. We really don’t know.

Just kidding. The Physical Web is the answer. RuuviTag transmits simple URL addresses which have sensor data encoded into them.

A nearby weather station will show up on your phone’s notification bar and/or can be seen with any Eddystone compatible beacon scanner application.

Many Android phones recently gained a new Google Play Service feature called Nearby Notifications. It might not work on all phones yet, but don’t worry - Google Chrome has a support feature for The Physical Web too. It might be already enabled on your phone (Android/iOS), but you if you cannot see any notifications, you can make sure it’s on by following these self-explanatory instructions.

This is basically how it works:

An alternative way to see these readings (and a lot more geeky information) is to use an application called nRF Connect. It’s available on both Android and iOS. Also, other beacon scanners can be used but we love this one (and it’s also used to update the firmware).

On many RuuviTag units the Weather Station application is pre-programmed at the factory. For more detailed info on how it works, feel free to explore the code on our GitHub organization or chat on our forum. Everything is open-source and fellow-Ruuvi-hackers are friendly.

If you’re experiencing any problems, scroll down to Troubleshooting topic.

Eddystone™

RuuviTag has sensors, yes, but it’s also a powerful Bluetooth® proximity beacon.

With CE/FCC/RoHS/IP67 certifications and up to 1km open-air range it’s ready to be used in numerous beacon deployment and industrial-grade solutions.

Eddystone is an open beacon format from Google. This firmware application is fully configurable via Eddystone Configuration GATT Service.

RuuviTag provides full support for Eddystone, including:

  • The core Eddystone frames: -UID, -TLM, -URL
  • Eddystone Ephemeral ID (EID)
  • The Eddystone GATT service, for easy configuration

There are several ways to configure the beacon. For example:

To enter configuration mode, press button B on your RuuviTag.

The default unlock code is: 0x00112233445566778899aabbccddeeff

This is how it’s done:

An example showing how to use beacons to have some fun:

If you’re experiencing any problems, scroll down to Troubleshooting topic.

Updating the Firmware

Every RuuviTag is tested and pre-programmed at the factory. This is what’s included:

  1. Bluetooth protocol stack
  2. Bootloader (with OTA DFU support)
  3. Application (firmware)

No external programming tools or any previous knowledge are required to update the firmware. It can be done wirelessly over-the-air.

It’s also safe. So far we haven’t been able to brick a single device (by using properly made distribution packages).

To perform the DFU OTA (Device Firmware Update Over-the-Air), signed distribution packages (.ZIP) have to be used. The key used to sign these packages is public. So it’s possible to create your own packages. However, it requires some knowhow of firmware development and this isn’t covered in these simplified instructions.

There’s more to come, but currently we offer two ready-made packages:

To update, first you need to boot into the bootloader. This can be done by keeping button B (boot) pressed while tapping button R (reset).

Once you’ve succeeded, you’ll see a constant red light. Now the device is running the bootloader program and is waiting for someone to connect.

Updating the firmware can be done using nRF Connect (Android | iOS).

(Actually, on this video a different (nRF Toolbox) app is used. We'll update the video soon.)

If you’re experiencing any problems, scroll down to Troubleshooting topic.

Troubleshooting

  1. My RuuviTag isn’t starting.
    1. Did you remove a resist between battery and battery clip?
  2. I can’t see any notifications.
    1. Have you enabled Bluetooth and location on your phone?
    2. Did you follow these instructions?
  3. I can’t enter bootloader.
    1. Did you keep the boot button pressed while you pressed the reset button? Try again.
  4. Your videos are poor. Why is this?
    1. We are in middle of updating them. Thanks for noticing.

If these troubleshooting solutions didn’t help or you’re experiencing different problems, please feel free to ask on our forum. Probably someone else is having same kind of issue(s) and our public forum can help, assist or even find better solutions for you!

Contributing

RuuviTag is an open-source project. Even the hardware is open. If you would like to contribute the ongoing projects, this is how you can do it:

We have four main channels:

All the software and hardware files can be found on GitHub. Our organization is called Ruuvi.

Our forum is a place where questions can be easily asked.

Ruuvi’s Slack team is for real time discussion. The team is invite only. Everyone is welcome, but you need to request an invite by sending an informal email to slack@ruuvi.com.

Ruuvi’s Trello is a simple TODO list for the firmware development. By checking this list, you can easily to see if there are something you could help with.

To help, these are sample paths that can be followed:

  1. Check Trello
  2. Look for a task
  3. Request an invite to Slack
  4. Say hi to the team on #ruuvitag
  5. Offer your help
  6. Assign a task on Trello
  7. Make a pull request

Or:

  1. Request an invite to Slack
  2. Ask how could you help

Or:

  1. Build something using RuuviTags (it can be anything!)
  2. Showcase it on the forum (or on Slack)
  3. See what happens

Or:

  1. Find a bug on GitHub
  2. Make a pull request