PhantomLoop × Cerelog ESP-EEG
a browser-based decoder playground
Community member yelabbassi wrote PhantomLoop — an open-source BCI decoder playground compatible with a range of EEG hardware, including the Cerelog ESP-EEG.
First, what's a decoder?
Your Cerelog picks up electrical activity from the scalp as squiggly signal traces. On its own, that's just noise.
A decoder is a small program — usually a machine-learning model — that looks at those signals and guesses what the person was thinking or trying to do. For example: "this pattern means the user imagined moving their left hand." Decoders are how a BCI turns raw brainwaves into something useful, like a command or a prediction.
What PhantomLoop does
It's a playground for building and testing decoders in your browser. It streams live data from your Cerelog, runs the decoder on it, and plots two things side by side: what the decoder predicted, and what actually happened. You can swap decoders in and out, bring your own (written in plain JavaScript or TensorFlow.js), or generate one on the fly from a text prompt.
In short: it turns "is my decoder any good?" into a question you can answer in minutes, without leaving the browser.
PhantomLoop expects a WiFi stream from your ESP-EEG. Before you open the dashboard, flash your device with WiFi firmware and set up the connection by following the instructions in the WiFi_Support repo.
Cerelog-ESP-EEG/WiFi_Support ↗Already on USB and don't want to reflash firmware? Run our LSL (Lab Streaming Layer) Python bridge instead — it exposes your USB stream so PhantomLoop can connect to it the same way.
Cerelog-ESP-EEG/Lab-Stream-Layer-LSL-Compatability ↗