Ear EEG (OpenBCI CEEGrid & ADS1299EEGFE-PDK)

by humannnplusplus in Circuits > Electronics

152 Views, 0 Favorites, 0 Comments

Ear EEG (OpenBCI CEEGrid & ADS1299EEGFE-PDK)

FZ10S2TMMTHVGAM.png

Our project was deeply inspired by the pioneering work of OpenBCI and the scientific research published on NIH regarding cEEGrid (around-the-ear electrode arrays).

Affordability & Accessibility

Professional neurotechnology is often very expensive. Our mission was to create a more affordable version of the Ear-EEG system. By utilizing the open-source designs from OpenBCI but adapting them to work with the ADS1299EEGFE-PDK (a more budget-friendly evaluation board) instead of the high-end proprietary hardware, we’ve significantly lowered the cost of entry. We are excited to share that this EEG project was made possible thanks to a micro-grant "Laboratorium Pomysłów" (Idea Lab) program at the University of Warsaw (UW), which allowed us to acquire the necessary hardware and bring our ideas to life.

The EarEEG Ecosystem

Currently, our setup relies on the standard Texas Instruments (TI) Desktop Application for data acquisition and hardware management. In parallel, we are developing a custom software application designed for advanced data analysis and visualization. Integrating this custom software directly with our hardware is the next major milestone in our development roadmap.

Project Roadmap

To help you navigate this technical build, we’ve organized the process into three main phases:

  1. Phase 1: Preparation (Steps 1-3) – Ordering the custom connector PCB using Fritzing files, assembling a battery-powered supply for safety, and soldering the adapter.
  2. Phase 2: System Setup (Steps 4-6) – Setting up a Windows XP on the Virtual Machine to run the "vintage" TI software and wiring the electrodes according to the "Every Second Pin" rule.
  3. Phase 3: Validation & Testing (Steps 7-9) – Applying the cEEGrid to a human, and using our provided Testing Scenario to document your results.


For a more detailed breakdown of our methodology and the story behind our development, you can check out our full article on Medium.

Supplies

Setup.png

Shopping List

  1. 1x ADS1299EEGFE-PDK
  2. 1x pair of cEEGrids
  3. 2x connector printed circuit board (PCB design files downloaded from OpenBCI GitHub)
  4. 2x right-angle pin headers (single wow, 2.54 mm pitch, 10pins) Molex-0901210130
  5. 2x mini edge card adapter SAMTEC MB1-120–01-L-S-01-SL-N
  6. 8x shorter F-F jumper wires
  7. 1x abrasive gel
  8. 1x 4xAA battery holder
  9. 1x heat shrink tubing
  10. 1x 9V (6F22) battery clip
  11. 4x AA battery 1,5 V
  12. 1x USB Mini-B
  13. 1x soldering iron and sorder
  14. 1x syringe
  15. 1x pair of rubber gloves
  16. 1x antiseptic solution (we use: octenisept)
  17. 1x skin prep gel
  18. 1x paper towels for disinfection

Project Budget Summary

One of our main goals was to keep the project as accessible as possible. Here is a quick breakdown of our costs:

  1. Total Estimated Cost: Approximately 2,330 PLN (~$580 USD).
  2. This budget covered parts, such as: the ADS1299EEGFE-PDK evaluation board, the OpenBCI cEEGrid, the custom PCB manufacturing, the right-angle pin headers, the mini edge card, the jumper wires, the heat shrink, and the battery clip.


Ordering the Custom PCB

Before we start soldering, we need to gather all the necessary electronics. While most parts are off-the-shelf, the connector PCB requires a custom order.

Ordering the Custom PCB

The heart of the connection between the cEEGrid and the ADS1299EEGFE-PDK is a small adapter PCB. We used JLCPCB for our order, but you can use any fabrication house. Here is how to prepare the files:

  1. Download the Source: Go to the OpenBCI GitHub repository and locate the project files. You will need the file with the .fzz extension.
  2. Software: To open and edit this file, you need to install Fritzing (an electronics design tool).
  3. Generate Gerbers: Once the project is open in Fritzing, go to File -> Export -> For Production -> Extended Gerber (RS-274X). This will generate the Gerber files required by JLCPCB and other manufacturers.
  4. Upload: Upload the resulting .zip folder to the JLCPCB website, keeping the default settings (details of the order attached).

Preparing the Power Supply

The ADS1299EEGFE-PDK requires a stable power source. Following the documentation recommendations, we are using a 4x AA battery pack to ensure galvanic isolation and safety.

Assembly Instructions

  1. Safety First: Make sure the battery holder is empty before you start.
  2. Wire Preparation: Strip the insulation from the ends of both the battery holder wires and the 9V battery clip cable.
  3. The "Golden Rule": Slide a piece of heat shrink tubing onto one of the wires before joining them!
  4. Joining: Twist the corresponding wires together (Red to Red, Black to Black) and solder them firmly.
  5. Shrinking the Tubing: To seal the connection, slide the tubing over the soldered joint. Since we didn't have a heat gun, we used the old-fashioned way – a candle flame 🕯 to shrink it.

Testing with a Multimeter

  1. Insert the 4x AA batteries into the holder
  2. Set your multimeter to DC Voltage (V⎓).
  3. Touch the red probe to the inner tip of the DC jack and the black probe to the outer sleeve.
  4. You should see a reading of approximately +6V. If the reading is stable, your power supply is ready!

Assembling the Connector PCB

Now it’s time to assemble the custom adapter that connects the cEEGrid to the electronics. If you plan to record from both ears, you will need to prepare two such connectors.

Assembly Instructions

  1. Preparing the Molex Connector: To prevent short circuits and match the grid's layout, you must remove every second pin from the Molex edge connector. Use a pair of small pliers to gently pull them out.
  2. Soldering the Connector: Place the Molex connector onto the custom PCB and solder it in place. Make sure it sits flush against the board.
  3. Adding the Samtec Pins: On the opposite side of the PCB, solder the Samtec pins. These will allow the adapter to plug directly into the ADS1299EEGFE-PDK board.
  4. Final Check: Inspect your solder joints. Ensure there are no "solder bridges" (accidental connections) between the pins, as the signals we are measuring are incredibly small and sensitive to interference.

Traveling Back to 2016 – Setting Up the TI Software

Where to download Software for ADS1299EEGFE-PDK (on TI website).png

The official software for the ADS1299EEGFE-PDK is quite "vintage." It was originally designed for Windows XP, which makes running it on modern Windows 10 or 11 a nightmare. To save ourselves from driver conflicts, we used a Virtual Machine (VM).

Creating the Virtual Environment

Instead of wiping our laptops, we used VMWare Workstation Player (Desktop version).

  1. The OS: We installed a clean copy of Windows XP with SP2 (sourced from the Microsoft Archive).
  2. Configuration: In the VM settings, ensure that "Drag and Drop" and "Shared Folders" are enabled so you can easily move files between your host machine and the VM.
  3. USB Passthrough: This is crucial! When you plug in the ADS1299EEGFE-PDK board, the host OS will ask where to connect it. Always select the Virtual Machine.

Hardware Preparation (Motherboard + Daughterboard)

Before connecting to the software, ensure your hardware is correctly "sandwiched":

  1. The Stack: The ADS1299EEGFE-PDK consists of two layers: the Motherboard (the brain with DSP microcontroller) and the Daughterboard (the analog front-end with ADS1299EEGFE-PDK). They must be firmly connected.
  2. Jumpers (The "Pin Caps"): You will notice small plastic caps (jumpers) on various pins. In electronics, these are used to manually close a circuit (creating a "deliberate short") to set specific hardware configurations.
  3. Keep them Default: For the first run, keep the jumpers in their factory default positions. This ensures the board is powered correctly and ready for the internal test signal.

Running the Software and Firmware

  1. Installation: Download the software from the Texas Instruments (TI) website, move it to the VM, and install it.
  2. Powering Up: Connect your DIY battery pack to the board and plug the USB cable into your computer.
  3. The Connection: Once you launch the TI Software, it should recognize the board and automatically upload the firmware to it.
  4. Test Signal: Before we risk connecting to real electrodes or the cEEGrid, we want to see a Test Signal. The software generates an internal square wave or sine wave. If you see this clean, oscillating line on your screen, it means your ADS1299EEGFE-PDK is alive and communicating!
Pro Tip: If you need more in-depth details regarding the software settings, register configurations, or advanced troubleshooting, refer to the official Texas Instruments ADS1299EEGFE-PDK User's Guide (Datasheet). It is a comprehensive resource that covers every jumper setting and software feature in detail.

First Launch – Running the Internal Test Signal

Linking the ADS1299EEGFE-PDK to the TI Software

The goal here is to bridge the physical board to the TI application running on your Windows XP. Follow this specific sequence to ensure the device is recognized correctly:

  1. Hardware Preparation: First, connect the USB cable and the external power source (battery pack) to the ADS1299EEGFE-PDK board.
  2. Power & Plug: Connect the board to your computer’s USB port and turn on the battery power.
  3. Redirect the Device: When your host computer asks where to connect the USB device, select the Windows XP.
  4. Launch the App: Open the TI software within the Windows XP environment.
  5. Automatic Firmware Upload: The application is designed to detect the board upon startup; the firmware should begin uploading to the board automatically.

Run the Internal Test Signal

Once the firmware upload is complete and you see the "Ready" status in the top right corner, follow these steps to verify the hardware:

  1. Select Test Signal Mode: Navigate to the "Channel Control" tab. Change the "Channel Input" for each channel from "Normal Electrode" to "Test Signal".
  2. Verify the Default Signal: You don't need to change any advanced register settings; the software uses stable default values for the internal generator.
  3. Start Acquisition: Click the "ACQUIRE" button. You should see a clean, oscillating line (square or sine wave) appearing on the screen, confirming that the hardware and software are communicating.

Final Wiring – Connecting CEEGrid Adapter to ADS1299EEGFE-PDK

Datasheet TI - Jumpers Schematic (page 48).png
Pin mapping - cEEGrid and ADS1299.png
Connecting cEEGrid Adapter to ADS1299EEGFE-PDK.png

This stage describes the process of physically connecting the cEEGrid electrode array to the ADS1299EEGFE-PDK evaluation module. It is essential to connect the pins according to the attached schematics.

Wiring Specification (The "Every Second Pin" Rule)

When connecting the electrode adapter to the mainboard's input header, only the positive pins (INxP) for each channel are used. A gap must be maintained by skipping every second pin on the header.

  1. Input Configuration: The system operates in single-ended mode. In this configuration, the signal from each electrode is measured relative to a single, common reference point.
  2. Pin Layout: The analog input header on the ADS1299EEGFE-PDK board features an alternating layout of positive (INP) and negative (INM) pins. Due to the use of a common reference for all channels, the physical negative pins (INM) on the header remain disconnected.

Connecting BIAS and REFERENCE Signals

Correct system operation requires connecting two auxiliary lines from the JP25 connector:

  1. BIAS: Connect the Bias electrode from the cEEGrid adapter to the BIAS_ELEC pin. It is used to set the common-mode potential of the subject to reduce common-mode interference.
  2. REF: Connect the reference electrode to the REF_ELEC pin. This serves as the reference point for measurements on all positive channels.

SRB1

The signal from the REF_ELEC pin is internally routed to the SRB1 bus.

  1. Function: Activating the SRB1 bus (via software or hardware) allows for the internal connection of the reference signal to the negative inputs (INxM) of all eight channels simultaneously.
  2. Application: This eliminates the need for external jumpers for each of the eight negative inputs on the analog header.


Hardware Check – Bench Testing the Electrodes

After the physical connection of the hardware, the ADS1299EEGFE-PDK registers must be configured in the TI application to enable correct signal acquisition from the electrodes.

Application Register Configuration

In the launched TI Software, navigate to the appropriate tabs and apply the following settings:

  1. "Channel Registers" Tab: For each used channel (1 to 8), change the Input Setting to "Normal Electrode". This allows signals to be passed directly from the analog front-end input pins.
  2. "GPIO AND other Registers" Tab: Locate the reference bus section and set SRB1: Open (Off). (Note: There should be no jumpers present on J6 and JP25 on the board).

Safe Startup Procedure

To ensure stable communication and avoid initialization errors, follow this exact sequence:

  1. Connect the USB cable and the power supply (battery pack) to the electrode board.
  2. Connect the USB cable to the computer.
  3. Turn on the battery power.
  4. Launch the TI Software application within the Windows XP environment.

Functional Verification (Signal Test)

Once the application shows a "Connected" status, you can perform a simple functional test without placing the electrodes on your head:

  1. Start real-time data acquisition.
  2. Bring your hand close to the electrode array (do not touch the electrodes).
  3. Observation: You should notice distinct changes in the signal waveforms (induced noise or amplitude shifts) on the monitor. The reaction of the graphs to the movement of a hand near the electrodes confirms that the analog path is open and communication between the array and the software is functioning correctly.

Human Connection – Applying the CEEGrid and Capturing Brainwaves

Human Connection – Applying the CEEGrid and Capturing Brainwaves.png

Before application, the cEEGrid must be prepared to ensure a stable physical and electrical connection.

  1. Safety First: Wear protective gloves to avoid contaminating the electrode surfaces.
  2. Apply Adhesive: Attach the dedicated double-sided adhesive tape to the cEEGrid. Ensure the holes in the tape align perfectly with the electrode sensors.
  3. Gelling: Carefully fill each electrode well with a small amount of conductive/adhesive gel. Use a syringe for precision; avoid overfilling to prevent "gel bridges" (cross-contamination) between neighboring electrodes.
  4. Final Prep: Peel off the top protective layer of the tape to expose the adhesive surface.

Skin Preparation and Attachment

The quality of your signal depends primarily on the skin-to-sensor interface

  1. Cleaning: Use an antiseptic solution to thoroughly clean the retro-auricular area (the skin behind and around the ear). This removes dead skin cells and oils that increase impedance.
  2. Placement: Position the cEEGrid around the ear according to the cEEGrid placement guide.
  3. Securing: Press firmly along the entire surface of the grid. Ensure the adhesive is fully bonded to the skin so the sensor does not peel off during movement.

Live Bio-signal Acquisition

With the subject prepared, it is time to initialize the system.

  1. Hardware Setup: Plug the cEEGrid into the ADS1299EEGFE-PDK via the adapter we wired in the previous steps.
  2. Connection Sequence: Connect the USB cable and the 9V battery pack (ensure the power switch is initially OFF). Connect the USB to the computer. Switch the battery power ON.
  3. Software Launch: Open the TI application in your VM.
  4. Data Streaming: Initialize the device and start the data stream.

Results & Testing Template

We have attached a PDF report containing the full results of our project tests. Feel free to download and use it to document your own EEG experiments!