[Summer’16 Internship] Arduino, EEG, and Free Will: First steps
Many EEG experiments are done using 21 electrode helmets to gain better localization resolution. In our case, this will not be necessary. Since the secondary motor area generates the readiness potential, the strongest RP signal is found immediately over that region, contralateral to the side of the body performing the task. In our case, the right hand is used, so our two electrode EEG headband will be positioned over C3 and Cz, according to the 10-20 chart.
The RP has an amplitude of 1/10th that of an alpha wave, so there will be no way for a human to look at a recording and see the RP building before a wrist flex. We’re hunting for a tiny signal in a lot of noise, so the RP will only be visible after a ton of averaging.
I’ve got the device built: It’s just an Arduino with the Backyard Brains Heart/Brain Shield and the Muscle Shield stacked on top. Analog data from both shields is converted to digital by the Arduino and sent to the computer by USB, where I’m using the free Backyard Brains Spike Recorder software to visualize and record both channels. There are a lot of issues with RF noise, so I’ve had to look around for a good location away from fluorescent lights and power cables. Perhaps an anti-static wristband would be useful.
I’m using MATLAB to process the recording, recognize the muscle spikes, and average the EEG signals before and after the onset of the action. This is the tricky part for me, since I have very little experience programming in MATLAB.
Debugging and free coffee
Initial results from my first test were… underwhelming. There were a ton of artifacts in the signal. Among these were EOG (electrooculography) and static discharge.
The eye is a dipole, with the cornea being positive and the retina negative. Electric fields caused by movement of this dipole can result in huge artifacts in scalp potential recordings. There are a few ways to control for this. The first option is to manually remove individual trials that are polluted by EOG movement. The second way is to place additional electrodes around the orbital bone and record two channels of EOG movements while also recording EEG on the scalp. Then we would use some algorithm to subtract EOG movement artifacts from the EEG signal afterwards. Alternatively, I could instruct the subjects to fixate their eyes on a certain point. The issue with this method is it requires the subject to put extra attention on maintaining their eye position, which is a bad confounding factor if our experiment has to do with conscious decision making. The best low-tech solution to this issue is… to have subjects close their eyes. It’s not perfect, as the eyes tend to slowly drift when the eyelids are closed, but the reduction in movement is good enough for these purposes. Also alpha waves tend to pollute the signal when the subject’s eyes are closed, so my solution to that is to offer subjects free coffee. Caffeine is a known suppressor of alpha wave production, and plus it entices people to volunteer to participate in the study.
The issue of static is harder to deal with. Wearing an anti-static cuff only gets you so far. Putting down an anti static mat also helps a bit, but there’s still a fair deal of DC drift in the signal. Part of me is convinced EEG has a fairly significant voodoo component to it….
By Patrick Glover