Messing around with brain signals using a BIOAMP EXG Pill and a SIPEED MAXDUINO.
β οΈ Old project β hardware is dead, this is just the code skeleton I had.
I got curious about EEG and bio-signals one day and ended up with an EXG Pill and a MAXDUINO. Wanted to see if I could read my own brainwaves. Turns out it's mostly noise with a tiny bit of signal hidden in it. Never got as far as I wanted β the prototype broke before I could do anything cool with it.
The code here is what I had when it was still working. If you have the hardware, it might save you some time figuring out the basics.
neuroplayground/
βββ firmware/
β βββ exg_bridge/ # Arduino sketch β reads the EXG Pill
β βββ lib/EXGBridge/ # Small C++ library I hacked together
βββ python/
β βββ data_acquisition.py # Grabs serial data, saves to CSV
β βββ signal_processing.py # Filters and FFT stuff
β βββ visualization.py # Real-time plots
βββ data/ # Where recordings go
βββ docs/ # Wiring and notes
βββ requirements.txt
| Part | Role |
|---|---|
| BIOAMP EXG Pill | Picks up bio-signals from electrodes |
| SIPEED MAXDUINO | Reads the sensor, sends data over USB |
| 3-lead electrode cable | Goes on your skin |
1. Flash the board β Open firmware/exg_bridge/ in Arduino IDE or PlatformIO, upload to MAXDUINO.
2. Python deps β pip install -r requirements.txt
3. Read data β python python/data_acquisition.py --port COM3 --baud 115200
4. See it β python python/visualization.py shows real-time plots.
Archived. Hardware broke before I could build anything meaningful. The code compiles and the structure makes sense on paper, but I can't test or verify any of it anymore.
I could see signals on the graph. Filters cleaned up the noise reasonably well. You could watch the frequency spectrum shift when you closed your eyes (alpha band). Was planning to work on artifact rejection and maybe train something simple to detect blinks, but never got there.