PiEEG Hardware PiEEG-16

PiEEG‑16

Sixteen channels on a Raspberry Pi. Enough to map the whole scalp, or brain, eyes and muscles in one session.

Two ADS1299 converters in a daisy chain double the original PiEEG. It’s the default board for PiEEG Server, which streams, records and draws live topographic maps of all sixteen channels.

Channels
16, plus REF and BIAS
Signals
EEG, EMG, ECG
Converters
2 × ADS1299, 24-bit
Sample rate
250 SPS to 16 kSPS
Host
Raspberry Pi 5 or 4
Power
5 V battery, 3 A

Where to use it

Sixteen channels change what’s possible: a picture of the whole head instead of a few points, both hemispheres at once, or several kinds of signal side by side. Pick a use case and try the live demo.

    Simulated signal to show the effect. Real recordings are noisier.

    How to set it up

    The same shield-on-a-Pi setup as PiEEG, with twice the electrodes. Eight steps from the box to a live 16-channel map.

    1. 1

      Gather the kit

      PiEEG-16 is a shield, so you bring the Raspberry Pi. Everything runs from one power bank.

    2. 2

      Seat the shield on the GPIO header

      With the Pi switched off, line PiEEG-16 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 sixteen electrodes

      Fit the cap and place the sixteen channel electrodes on 10-20 positions. Clip the reference to one earlobe and the bias to the other. One reference serves all sixteen channels.

      This is a common 16-channel layout. Use any positions you need, and follow the pin labels on the board and the connection diagram in the quick start manual. Keep the cables short and tidy: sixteen loose leads pick up a lot of noise.

    4. 4

      Power it from the battery only

      Plug the power bank into the Pi and run the monitor from the same bank. The board has no patient isolation, so the battery is what keeps the person safe and the signal clean. It’s printed on the board for a reason.

      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. Reboot once so SPI is switched on. PiEEG-16 is the server’s default board, so plain pieeg-server is enough.

      No board yet? Run pieeg-server --mock for synthetic data.

      # install
      curl -sSL \
        https://raw.githubusercontent.com/pieeg-club/PiEEG-server/main/install.sh | bash
      
      # first time only: enables SPI
      sudo reboot
      
      # pieeg16 is the default device
      pieeg-server
    6. 6

      Open the dashboard and the head map

      Open the dashboard and press Connect. Then open the topographic map: it paints live band power onto a 3D head, with a flat 2D view if you prefer.

      Placed your electrodes differently? Open the map’s placement editor with the gear button to rename or remap any channel. Your layout is saved in the browser.

      http://localhost:1617On the Pi’s own monitor
      http://raspberrypi.local:1617From another computer on the same network
      :1616WebSocket data stream
      :1617Web dashboard
    7. 7

      Check the signal before you record

      With sixteen channels, one bad contact is easy to miss. Look at every trace before you start, then work through the list.

      Still noisy? Short every input internally and each trace should sit within about ±1 to 3 µV. Do it on both chips: if one half is noisy and the other isn’t, you’ve found your problem.

      # 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

      Record sessions to CSV, or stream to your own code and tools. With sixteen channels, LSL channel groups are worth knowing: split one board into separate EEG, EOG and EMG streams.

      The PiEEG-16 SDK scripts on GitHub read the SPI directly if you prefer your own code.

      
              

    Before you put it on anyone