PiEEG Hardware PiEEG

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. 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. 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. 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. 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. 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 --mock for 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. 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.

      :1616WebSocket data stream
      :1617Web dashboard
      http://localhost:1617On the Pi’s own monitor
      http://raspberrypi.local:1617From another computer on the same network
      pieeg-server --filterAdds a 1 to 40 Hz band-pass filter
    7. 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. 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