poc:2025:raspberry-pi-vep

This is an old revision of the document!


  • Status: ⏸️ On Hold
  • Duration: ~February 2025
  • Type: Hardware/Possible Product
  • Repository: Code Repo | ADRs
  • Team: Fabricio

What we're exploring: Whether we can reliable measure VEPs on the Raspberry Pi. A Checkerboard stimulus is created using a low-level implementation that synchronizes with the Pi-EEG Shield measurements.

Hardware Used :

  • Raspberry Pi 4 B
  • OS: Raspbian without Desktop
  • Access via SSH in WIFI, directly providing credentials when writing the Image onto the SD card

Software Used :

Additional Notes

A few initial key insights about the PiEEG Code:

  • The code uses the BOARD numbering mode for the GPIO pins.
  • Pin 37 is used as the “DRDY” (data ready) pin.
  • A lot of settings are set to the ADS1299, but in an intransparent way via encoding the bit flags via hex codes.

Quite a few things may be set via the ads1299 registers:

  • The sampling rate is set in “config1” and defaults to 250 but can be changed. By default config1 is set to 0x96, which translates to the binary number `10010110`. The last 3 digits denote the sampling rate. You can find the encoding in Table 13 here

External Ressources

  • The PiEEG shield is based on the ads1299 chip, and its manual is probably the best reference:

https://www.ti.com/document-viewer/ads1299/datasheet

  • Code for PiEEG can be found here, but it is mostly undocumented and barely working out of the box.

Key to understanding the code is linking the set registers of the code to its functionalities according to the ads1299 manual.

  • poc/2025/raspberry-pi-vep.1753709531.txt.gz
  • Last modified: 2025/07/28 13:32
  • by fabricio