Skip to main content
This device is not FDA-approved. For research use only.

What is Elata EEG?

Elata EEG is an open-source electroencephalography platform built around a Raspberry Pi 5 and the Texas Instruments ADS1299 analog front-end. The goal is to democratize EEG hardware with a fully open, right-to-repair design that any lab or hacker can build, modify, and extend. The system supports 8+ channels of 24-bit EEG at research-grade resolution, with real-time streaming, a plugin-based DSP pipeline, and a browser-based kiosk UI.

GitHub Repository

Source code, schematics, and build instructions (GPLv3)

Hardware

ComponentDetails
ControllerRaspberry Pi 5 (quad-core Arm Cortex, 40-pin GPIO)
ADCTI ADS1299 EEGFE — 8-channel, 24-bit analog front-end via SPI
ElectrodesWet Ag/AgCl or gold-cup with conductive paste (e.g. Ten20)
Display5-inch or 7-inch HDMI touchscreen (optional)
CablesDupont jumpers (2.54 mm), optional shielding / ferrite beads
Two board configurations are supported:
  • V1 — Single ADS1299 EVM (8 channels)
  • V2 — Four synchronized ADS1299 EVMs with shared clock and SPI (32 channels)

Software Stack

LayerTechnology
OSRaspberry Pi OS (Debian)
Firmware / BackendRust workspace — sensors, boards, pipeline, daemon crates
FrontendNext.js kiosk with WebSocket data streaming
Hardware Interfacerppal crate (GPIO / SPI / I2C)
Plugin SystemEvent-driven DSP plugins on a shared EventBus
LicenseGPLv3 (strong copyleft)

Quickstart

git clone https://github.com/Elata-Biosciences/elata-eeg
cd elata-eeg
bash scripts/install.sh
The install script handles system dependencies (Rust, Node.js, Chromium), builds all crates and the kiosk, configures systemd services for the daemon and kiosk, sets up auto-login and kiosk mode, and reboots when complete.

Development Mode

# Stop kiosk mode
bash scripts/stop.sh

# Terminal 1 — daemon (from repo root)
cargo run --bin eeg_daemon -- --mock   # --mock for testing without hardware

# Terminal 2 — kiosk
cd kiosk && npm run dev
The kiosk UI is available at http://localhost:3000. The WebSocket data endpoint runs at ws://localhost:9000/ws/data.

Next

Architecture

Crate layering, plugin system, and WebSocket API

SDK — eeg-web

Browser-side EEG signal processing with WASM