PiEEG
An 8-channel shield that turns a Raspberry Pi into a lab for brain, muscle and heart signals.
It sits on the GPIO header, reads eight electrodes through a 24-bit ADS1299, and hands the data to PiEEG Server for streaming, recording and live dashboards. Fully open source.
- Channels
- 8, plus REF and BIAS
- Signals
- EEG, EMG, ECG
- Resolution
- 24-bit, gain 1 to 24
- Sample rate
- 250 SPS to 16 kSPS
- Host
- Raspberry Pi 3, 4 or 5
- Power
- 5 V battery, 3 A
Where to use it
Eight things people build with PiEEG. Pick one to see where the electrodes go, then try the live demo to see what the signal does.
Simulated signal to show the effect. Real recordings are noisier.
How to set it up
From the box to a live signal in eight steps. Tick things off as you go. Most people are streaming in under half an hour.
-
1
Gather the kit
PiEEG is a shield, so you bring the Raspberry Pi and a few basics. Everything runs from one power bank.
-
2
Seat the shield on the GPIO header
With the Pi switched off, line PiEEG up with the 40-pin header and press it down evenly until every pin is fully in.
A pin that misses its socket is the most common reason for a board that won’t start. Look along both rows before you power on.
-
3
Connect the electrodes
Fit the cap and place the eight channel electrodes on 10-20 positions. Clip the reference to one earlobe and the bias to the other. The bias actively cancels interference.
This is a common 8-channel layout. Use any positions your experiment needs, and follow the pin labels on your board and the manual’s connection diagram. Keep the cables as short as you can.
-
4
Power it from the battery only
Plug the power bank into the Pi, and run the monitor from the same bank. There is no patient isolation on the board, so the battery is what keeps the person safe and the signal clean.
Do
- 5 V power bank, 3 A or more
- Monitor powered from the same bank
- Short, thick USB cable
- Wired keyboard and mouse
Don’t
- Wall adapters or chargers
- USB from a computer on mains
- Charging while electrodes are on
- Phones and routers close by
-
5
Install PiEEG Server
One command installs the server on the Pi. Reboot once so SPI is switched on, then start it.
No board yet? Run
pieeg-server --mockfor synthetic data and try everything else on this page.# install curl -sSL \ https://raw.githubusercontent.com/pieeg-club/PiEEG-server/main/install.sh | bash # first time only: enables SPI sudo reboot # start streaming from the 8-channel shield pieeg-server --device pieeg8
-
6
Open the dashboard
Open the dashboard in a browser and you land in the session lobby. The server address is filled in, so press Connect and the eight channels start scrolling.
:1616 WebSocket data stream :1617 Web dashboard http://localhost:1617On the Pi’s own monitorhttp://raspberrypi.local:1617From another computer on the same networkpieeg-server --filterAdds a 1 to 40 Hz band-pass filter -
7
Check the signal before you record
EEG is measured in microvolts, so the room matters. Work through this list, then confirm good skin contact before you start: the band-pass filter needs time to settle after a disturbance.
Still noisy? Test the board on its own. Short every input internally and the trace should sit within about ±1 to 3 µV. If it does, the noise comes from the cables or the room.
# Test 1: every channel set to input short write_byte(CHnSET, 0x01) # Test 2: open channel 1, keep the rest shorted write_byte(CH1SET, 0x00)
-
8
Record and stream
Save sessions to CSV with markers, or send the live stream to your own code and tools. Every WebSocket frame is plain JSON, so any language works.
Prefer your own scripts? The PiEEG GUI scripts for Pi 4 and Pi 5 read the SPI directly, and PiEEG is supported in BrainFlow.
Before you put it on anyone
- PiEEG is not a medical device and isn’t certified by the FDA, CE or any other regulator. It’s for education, research and engineering only, never for diagnosis or treatment.
- The board has no patient isolation circuitry. Power the Pi, the shield and anything connected to them from a 5 V battery only.
- Don’t use it with a pacemaker or other implanted device without asking a physician first.
- Stop if the skin becomes irritated or the person feels any discomfort.