Skip to main content

When To Use This Package

Use @elata-biosciences/eeg-web-ble when your app needs:
  • browser-side discovery of Muse-compatible devices
  • live EEG streaming over Web Bluetooth
  • normalized headband frames for app logic or downstream analysis
Install it alongside @elata-biosciences/eeg-web.

Installation

eeg-web-ble depends on eeg-web for shared frame types and the WASM module.

Requirements

  • Browser with Web Bluetooth support (Chrome/Edge on desktop or Android)
  • Served from a secure context (https:// or localhost)
  • Safari/iOS does not support Web Bluetooth. See platform notes for alternatives

Basic Usage

startStreaming() is the recommended default. It wraps connect() and start() together and avoids the common mistake of connecting successfully but never beginning to stream.

BleTransport Lifecycle


BleTransportOptions


Athena Support

Muse S headbands with Athena firmware require an Athena decoder factory. Include it up front to keep both classic and Athena flows covered:
Athena headbands provide 8 EEG channels, optics, accelerometer/gyroscope, and battery data in each frame.

Device Info

After connecting, you can query device metadata:

Platform Caveats

  • Safari and iOS do not provide usable Web Bluetooth support for this workflow.
  • For Safari and iOS, use a native BLE shell, companion bridge, or hybrid WebView strategy with @elata-biosciences/eeg-web frame contracts as the boundary.
  • Firmware variants may differ in command behavior.

Next

Live Stream Tutorial

Step-by-step BLE streaming guide

Muse Device Details

Protocol details, characteristics, and compatibility

EEG + BLE Integration

End-to-end streaming and processing guide