MW75 EEG Streamer Documentation

MW75 EEG Streamer is a Python package for streaming real-time EEG data from MW75 Neuro headphones. It provides a clean, modular architecture with support for multiple output formats including WebSocket, CSV, and Lab Streaming Layer (LSL).

Key Features

⚑ High-Speed Streaming

Real-time EEG data streaming at expected ~500Hz with minimal latency

πŸ”„ Multiple Output Formats

Stream to WebSocket, CSV files, Lab Streaming Layer (LSL), or stdout

🧠 MW75 Neuro Integration

Seamless integration with MW75 Neuro headphones using BLE activation

πŸ“Š Data Validation

Built-in packet validation, checksum verification, and automatic conversion to microvolts

πŸ”§ Modular Architecture

Clean, modular codebase with type safety and comprehensive logging

πŸ”¬ Research Ready

Perfect for neuroscience research, BCI development, and real-time brain signal analysis

Quick Installation

# Install from PyPI (recommended)
uv pip install "mw75-streamer[all]"

# For LSL support on macOS
brew install labstreaminglayer/tap/lsl
export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH"

Quick Usage

# Basic streaming
python -m mw75_streamer --csv eeg.csv
python -m mw75_streamer --ws ws://localhost:8080
python -m mw75_streamer --lsl MW75_EEG

# Combined outputs
python -m mw75_streamer --csv eeg.csv --ws ws://localhost:8080

Platform Support

Currently supported on macOS only. The package uses macOS-specific Bluetooth frameworks (IOBluetooth via PyObjC) for BLE activation and RFCOMM streaming. Linux and Windows support are planned for future releases.

Requirements

  • macOS (primary platform)

  • Python 3.9+

  • MW75 Neuro headphones paired in macOS Bluetooth settings

  • Optional: WebSocket clients, LSL applications for real-time data consumption

Indices and tables