Skip to content
This repository has been archived by the owner on Sep 23, 2021. It is now read-only.
Otso Jousimaa edited this page Nov 6, 2018 · 29 revisions

Welcome to the ruuvitag_fw wiki!

These are the firmware projects currently available under ruuvi_examples:

ruuvi_firmware

This includes the firmware which is installed at the factory. It samples the temperature/humidity/air-pressure sensor and accelerometer. It immediately transmits bluetooth packets. The format, frequency and contents of the packets depends on if it is in highres (aka raw) or URL mode. Pressing the B button switches modes.

  • In URL mode (as indicated by a faint blinking green LED) a web browser URL is transmitted which invokes a page at the domain ruu.vi. This page interprets the page fragment (text following the '#') which contains encoded data and displays the temperature, humidity and air-pressure.

  • In raw mode (as indicated by a faint blinking red LED) packets are sent out which must be interpreted by one of several applications. One of which has been written to collect data in an Influx data base and presented by Grafana.

libraries/ruuvi_sensor_formats/sensortag.h creates the packet.

As of July 2018 (and the foreseeable future) raw mode format 03 is transmitted by the firmware loaded at the factory.

core frames:

  • UID unique, static ID with a 10-byte Namespace component and a 6-byte Instance component.
  • TLM Battery voltage, Temperature, Seconds since reset
  • URL max 17 encoded character URL
  • EID Ephemeral ID 8 byte
  • GATT service

ble_app_beacon

  • iBeacon proof-of-concept code.

test_drivers

  • For developers, this example is for trying out drivers.