This is a simple Python script, which uses Bleak to communicate with a smartwatch via Bluetooth LE, and sends the heartrate monitor readings to VRChat over OSC. This script is very unfinished, and will likely require take some trial and error to get working!
Although this script has only been tested with one model, other similar smartwatches which rely on the Wearfit app (Eg. GT105, DT78) may work.
- GT101 (Amazon)
This script requires the latest VRChat Open Beta (As of 2/20/22), otherwise it won't work, as it relies on OSC support!
To add heart rate monitoring support to your avatar using GTServer, add a new float
parameter to your avatar, named Heartrate
. This value is uncapped, so it'd be best to make any animator systems that make use of this range from 0-128 at least. At the time of writing this, the VRCSDK Build & Test function is broken, so you'll have to upload your avatar to test it.
- A Bluetooth adapter that can do Bluetooth 4.0+ and BLE
- Python 3.9+ (Windows Store Version may work too!)
- Bleak
- Python-OSC
Grab a copy of the latest commit here, and extract it somewhere. Open This is no longer required, as GTServer now automatically scans for your device as well!main.py
in your text editor of choice, and change the zeros on the line address = "00:00:00:00:00:00"
to match the Bluetooth MAC address of your watch, which can be found in one of it's menus, and optionally set your OSC IP Address & Port, if you changed them in your VRChat launch options.
Open VRChat, run start.bat
, and make sure your watch is powered on, not currently paired to any devices, and in range of your computer, otherwise the script will exit!