Skip to content

b1tcr4sh/Plasma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plasma

A simple (kind of jank) solution for capturing and streaming heartrate to VRChat or other osc applications without lizard middle-men

This is a DIY hardware project. It requires soldering, 3D printing, and at least a basic knowledge of working with VRChat systems

Using For Yourself

You'll have to get your paws a little dirty building some rudimentary hardware to get this up and running.

Hardware

I'd recommend using an ESP32 WROOM dev board (like this one) and a MAX30102 pulse oximeter (like this one)

Please note: whatever board you use must have onboard Wifi and support for Arduino Core.

To connect the pulse oximeter to the board, connect/solder these pins:

MAX30102 ESP32 GPIO
VIN/VCC 3.3V
GND GND
SDA 21
SDL 22

Then you'll need to install Arduino IDE 2 or Arduino Cli and the ESP32 board extension, then configure your wifi SSID, password, and the ip address of the server in Firmware.ino, then flash to the board. Once you power the board on, it should connect to wifi, then search for the server (Read the serial output).

I'm also planning to design a 3d-printable case which mounts a battery pack and uses elastic bands to attach the device to your upper arm or wrist. I'm lazy and CAD is hard, so maybe I'll get to it.. ?

Configuring Software

Server

Just download a build of the server from releases and run it from a cmd before starting VRChat.

Make sure to include the --port= and --address= parameters

VRCOSC

If you're already using/would rather use VRCOSC, there's also a module included in the releases as a dll. Just follow the VRCOSC instructions for importing a module.

Avatar

Parameter Type Notes
Plasma/Enable bool Writeable; toggled to enable/disable updating of bpm
Plasma/Online bool Readonly; shows connection status of server
Plasma/BPM int Readonly; heartrate in bpm