Result
With my eyes closed, 8–12 Hz (alpha) amplitude over the back of the head rose to 1.66–1.78 times the eyes-open level on all three connected channels (O1, Oz, O2), and the eyes-closed spectrum has a clear peak at about 9.3 Hz. That is the Berger effect, first described by Hans Berger in 1929. It is the standard first check that a homemade EEG is picking up brain activity and not just noise.
| Alpha RMS, 8–12 Hz | O1 (ch 0) | Oz (ch 1) | O2 (ch 2) |
|---|---|---|---|
| Eyes open (1) | 2.49 µV | 2.19 µV | 2.76 µV |
| Eyes closed | 3.60 µV | 3.64 µV | 4.25 µV |
| Eyes open (2) | 1.84 µV | 1.91 µV | 2.17 µV |
| Closed ÷ mean of open | 1.66 | 1.78 | 1.72 |
Setup
- Hardware: my eight-channel ADS1299 / ESP32-S3 board, assembled from Xavier Asghar’s open-source design.
- Electrodes (10–20 system): recording at O1, Oz and O2 over the visual cortex, reference on the left earlobe, bias at Fpz on the forehead. A fourth channel at POz read flat in this run, so it is left out.
- Stream: Bluetooth into Lab Streaming Layer at about 500 Hz (measured 499.5 Hz).
- Protocol: 20 s eyes open, 20 s eyes closed, 20 s eyes open, with sound cues and LSL markers, using
diy-eeg-alphafrom my diy-eeg-mac repo. - Analysis: 4th-order Butterworth band-pass at 8–12 Hz, RMS per phase, ratio of eyes closed to the mean of the two eyes-open phases. The tool’s own summary covers channel 0; Oz and O2 were computed the same way from the saved recording. The chart comes from
diy-eeg-alpha-spectrum recording.xdf --channel 0 --label O1, also in the repo.
What this does and doesn’t show
It shows the signal chain works end to end: electrodes, amplifier, firmware, Bluetooth, LSL and analysis. A rhythm that appears at the right frequency, at the right moment, on cue, is hard to get from noise alone.
It is one person and one 60-second session. Ratios of 1.66–1.78 are clear but modest, and the eyes-open phases carry extra power below 6 Hz, which is most likely eye movement and blinks. An earlier run that afternoon gave unusable output, so this is the second attempt. None of this is medical or diagnostic.
Next
Repeat the test across days to see how stable the ratio is, compare the other connected channels, and then move on to signals that matter for learning, such as attention and fatigue.
The code to run this test yourself is in github.com/agteo/diy-eeg-mac. More on the build is on Things I’m Building, and I posted about it on X and LinkedIn.