What it does
@elata-biosciences/ppg-web estimates heart rate and heart-rate variability
from a headband’s PPG (optical) sensor, in the browser. It runs on the same
normalized headband stream as the EEG packages, so it works alongside EEG from
the same device.
- Reads Muse classic
ppgRawand Muse S Athenaopticsframes - Picks the best channel automatically, or lets you pin one
- Reports
bpm,rmssdMs,sdnnMs, andmeanNnMs, plus confidence and signal quality
Install
npm create @elata-biosciences/elata-demo my-app -- --template ppg.
Connect a Muse and read metrics
Use any headband transport
If you already have aHeadbandTransport (for example a BleTransport you
created yourself), wrap it:
Session API
Callbacks:
onMetrics, onDiagnostics, onStatus.
Notes
On classic Muse devices (
ppgRaw), frame timing comes from the browser, so
treat HRV values as a preview. Muse S Athena optics keeps device timestamps
and is the preferred source when available.- Requires Web Bluetooth: Chrome or Edge on desktop or Android, over
https://orlocalhost. - For camera-based heart rate without a headband, use
rppg-web.