We are happy to say that we are now working with the second hardware version, and it’s starting to really look like something!
In addition to the fancy silkscreen design,The circuit has been updated from the first version to allow for daisy-chaining two or more boards. Also, there are two variants of V2, each using different DC/DC converters.
Our decision to make these initial prototypes fit the form factor of Arduino was based on the emergence of numerous hardware platforms that are embracing the Arduino pinout. We wanted to be able to quickly move between different microcontrollers for testing and prototyping. We now have working code examples for the Arduino UNO, Arduino DUE, Freescale FreedomBoard, and Microchip ChipKIT. In the coming weeks, we will be deciding which device we want to commit to for the next step in our design iteration. The goal is to make a battery powered wireless version, with an on-board re-programmable microcontroller. Our main reason for going wireless is to avoid most of the safety issues that come with attaching electrically live parts to your body parts. Also, it’s cool!
These version 2.1 and 2.2 designs are primarily for our internal testing and research, and are not really meant for general public use. That said, in the spirit of Open Source, sharing, and education, we’re publishing the schematic designs in pdf format. Enjoy!
Our code repository is on Source Forge here.
Our version 2 board breaks out the N inputs of each channel for connection to electrodes. Channel 8 has both N and P inputs available for experimenting with ECG. The configuration we’ve been using to test uses the SRB2 input as the reference connected to the P channels of each input. In connecting to the electrode cap, we are selecting one of the electrodes to use as reference, and that is tied to the SRB2 input. The other electrodes connect as needed, and the Bias electrode (Driven Right Leg, or Driven Ground) is connected to the earlobe or mastoid.
Here’s a screenshot of the current GUI (made in Processing) that shows the electrode map, time domain graph and FFT output. In this instance, the subject had her eyes closed and is showing really bright alpha in the occipital region.
The position of the electrodes and reference are shown on the diagram at upper left. On the right side of the screen is a graph of all 8 channels in the time domain. Here you can see an artifact from the subject closing her eyes at about the 4 second mark, which shows up in electrodes 1 and 2 located over the prefrontal cortex. Lower left is an FFT plot, showing a nice peak in the alpha region (8-13Hz) which you would expect to see in the occipital lobe when you close your eyes.
We have also run some tests to determine the noise level of the board, and we’re happy to say that our results square nicely with the specifications laid out in the ADS1299 datasheet. First off, the highest LSB resolution that we can get, using a gain of 24, and the full 24 bit ADC result, is 0.022uV. That’s super tiny, which is great! But, we have to also take into account the input referred noise of the ADS chip itself, and then also the board noise. Chip Audettte, our Researcher and Developer At Large (RDAL) has details of his setup and graphs of the data on his blog EEG Hacker. He has two posts on the Self Noise of OpenBCI here and here. The bottom line is that our system has just about the same input referred noise level as stated in the data sheet. Here are some graphs. On the left is from the ADS1299 datasheet, the right is taken from Chip’s test.
The ADS1299 claims an input referred noise level of 0.14uVrms, and our OpenBCI board has a measured IR noise level of 0.16uVrms. Not too shabby, if we do say so ourselves!
This material is based upon work supported by DARPA under Contract No. W31P4Q-13-C-0155. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of DARPA