Skip to content

Application for streaming heart rate info from pulseoximeter straight to VRChat without using extra phone/web apps using Bluetooth and VRChat OSC

License

Notifications You must be signed in to change notification settings

DangerKiddy/HeartRateMonitorVRC

Repository files navigation

HeartRateMonitorVRC

e1af8ed2bd59eea3e71613963807320a
6c64df81b1fff43bbe6966cb85eb9ed0

Application for streaming heart rate info from pulseoximeter straight to VRChat without phone/web apps by using desktop Bluetooth and VRChat OSC

Requirements

  • Pulseoximeter with BluetoothLE (Low energy) support, such as CooSpo H808S (Tested only with that device)
  • Bluetooth adapter on PC

Connecting

  1. Open Bluetooth settings
    image

  2. Press "Add Bluetooth or other device"
    image

  3. Select "Bluetooth" and connect your pulseoximeter
    image
    For Windows 11 you must set Advanced bluetooth discovery
    image
    image

  4. Open HeartRateMonitorVRC
    image

  5. Press "Select device", choose your pulseoximeter and wait
    image

  6. Wait until it says "Subscribed to HR notifications" and shows your BPM
    image

Troubleshooting

Unable to get characteristics / Failed subcribing to HR notifications

Happens if your device is occupied by another device (i.e. connected to another device). If you're reconnecting then simply wait a bit and try again

Integrating with VRChat

HeartRateMonitor sends OSC messages to VRChat port (9000) using parameters from HRtoVRChat_OSC and vrc-osc-miband-hrm

Used parameters

Address Type Range Description
/avatar/parameters/onesHR int 0-9 Ones spot in the Heart Rate reading
/avatar/parameters/tensHR int 0-9 Tens spot in the Heart Rate reading
/avatar/parameters/hundredsHR int 0-9 Hundreds spot in the Heart Rate reading
/avatar/parameters/isHRBeat bool True/False Estimation on when the heart is beating
/avatar/parameters/HRPercent float 0-1 Converted range of HR
/avatar/parameters/FullHRPercent float -1-1 Other converted range of HR
/avatar/parameters/HR int 0-255 Exact HR value
/avatar/parameters/Heartrate2 float 0-1 Converted range of HR

Building

To build the project you need to manually include Windows.winmd and System.Runtime.WindowsRuntime.dll in the project, which may be located here:

  • C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.22621.0\Windows.winmd (Also shipped in Release)
  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5\System.Runtime.WindowsRuntime.dll

About

Application for streaming heart rate info from pulseoximeter straight to VRChat without using extra phone/web apps using Bluetooth and VRChat OSC

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages