The RuuviTag is a microcontroller-based sensor node which can measure temperature, relative air humidity, air pressure and motion (via a built-in accelerometer), and transmit that data over Bluetooth Low Energy. It includes a 1,000mAh CR2477 battery, which means it can run for up to four years without the need to change the battery. It can operate indoors or outdoors due to its IP67 certified weatherproof enclosure, and its -40ºC to +85ºC operating parameters!

The tag is supplied with default firmware that works together with the Ruubi Station app so you can collect the environmental data from all nearby tags and display the data in real time. You can also set alerts, to warn you when a parameter goes outside of a specified range, or even send the data to a server.

Since the RuuviTag uses open source software, there’s more! As well as an alternative firmware build that allows you to turn the RuuviTag into a dedicated Eddystone beacon, there is also a build of Espruino, the embedded JavaScript interpreter. With it, you can write JavaScript directly on the device (using the Espruino Web IDE) and fully control how the tag reads the data, what it does with that data, how that data is processed, and how it is transmitted over BLE.

If you prefer C over JavaScript then you can also take the default firmware and build your own firmware. Everything you need is in Ruuvi’s GitHub repository. Plus new firmware builds can be sent to the tag over BLE, no need for USB or debugging cables!

For more information and a look at some of the potential use cases, check out the video above.