Firmware for ESP32 to act as a companion device for the Viatom wearable ring oximeter.
The companion device reads the values approximately every 4 seconds and sends them to an InfluxDB.
They can then be visualized e.g. with Grafana.
Furthermore, the companion device can also set the time and trigger the vibration as an alarm.
The goal of this firmware is to provide an open-source solution for operating the ring oximeter and to not need the closed-source smartphone app anymore.
Additionally, the functionality is extended in comparison to the smartphone apps (e.g. the alarm functionality).
The following hardware was used for development and is known to work:
The following software was used for development:
The viatom-ble project was the trigger to start the development of this companion device.
Some parts are also transferred from that project.
-
Rename the file
lib/secrets/secrets.h.templatetolib/secrets/secrets.hand fill the variables. The MAC address of the PO2 device can be determined through scanning. The viatom-ble project can also be used to determine the MAC address. -
Upload the firmware with PlatformIO to your ESP32-C3.
The Adafruit Bluefruit LE Sniffer was used to sniff the BLE traffic between the Android App and the PO2 device.
Wireshark was then used to analyze the traffic and the protocol.