Skip to main content

Package And Tooling Expectations


Browser Support


Web Bluetooth Expectations

  • Use Chrome or Edge.
  • Run on https:// or localhost.
  • Enable Bluetooth on the machine.
  • Expect Safari and iOS browser BLE to be unsupported for this workflow.
eeg-web-ble requires Web Bluetooth and an https:// origin or localhost. Safari and iOS do not support Web Bluetooth for Muse browser workflows.

Supported Device Classes

  • Muse 2 and Muse S classic BLE devices
  • Muse S Athena protocol v2 devices
  • Other headsets can be added through the same transport contract. See Device Integration.

Safari And iOS Notes

  • eeg-web can be used as a browser-side WASM package on Safari when your app serves its packaged assets correctly.
  • eeg-web-ble is not a Safari or iOS browser workflow. Use a native app shell with CoreBluetooth or a companion bridge app streaming frames over WebSocket.
  • rppg-web can run on Safari and iOS, but camera permissions and packaged WASM delivery still need to be correct.

Package Versions

The packages are versioned independently, and the latest releases aren’t automatically compatible with each other. When you combine packages, use the set create-elata-demo pins:
eeg-web-ble@0.12.0 and ppg-web@0.12.0 still declare outdated peer ranges (eeg-web ^0.2.1, rppg-web ^0.3.0). npm stops with an ERESOLVE error when you install them next to the versions above. Until the ranges are updated, install with npm install --legacy-peer-deps. pnpm only prints a warning.

Package Manager Notes

Generated demo apps work with pnpm or npm. For the eeg-demo, eeg-ble, and ppg-demo templates, npm currently needs --legacy-peer-deps (see Package Versions). If you scaffold a demo app inside another pnpm workspace and do not add it to that workspace, use:

Troubleshooting

Common failures and fixes

Choose A Package

Package decision guide

Muse Device

Protocol details and browser support