I just bought an EEG click and arduino "click" breakout board to be used with an arduino uno (links below). The maker of the EEG board (Mikroe) has open source software but it's compilers don't support arduino unfortunately. I want to use this hardware to measure the EEG waves associated with any conventional EEG. Does anyone know how I would go about this? For example, can I take the raw EEG signal (singular signal) and apply filters to derive every type of wave? Or is there any aduino module that will do this for me already?
The output of the EEG click is an analog signal according to the PINOUT DIAGRAM here
Technically, you can connect it to one of the analog input of the Arduino and collect data from it. Processing the collected data is an entirely different matter...
My current thinking is I would write some code like this:
Acquire raw data
Apply filters to real time raw data (I'm thinking a bandpass filter for each respective EEG wave i.e. alpha wave would be 8-12 Hz, beta waves 13-30 hz, etc.) probably a notch filter as well
Design code so that waveforms can be monitored on serial plotter
design code so that waveforms can be monitored on serial plotter
So I seem to get a pretty good raw signal. However I don't know if I can use the straight analog readout for post processing. I've seen in an EMG application the creator divided the raw signal by the bit size of a nano (im running an uno). Here's their code:
I'm basically using this except I'm sampling at the Nyquist Frequency (256 Hz) so my delay is delay(3.9).
Also, filtering the raw data... am I better off making a labview VI if I wanna view filtered data in real time? I'm guessing Arduino does have some filter libraries...
Yeah I've pivoted to LabView with building out an EEG model. I'm considering building out matlab code for this as well. I'm just not comfortable with applying complicated filters in Arduino ide. I truly don't know the capabilities of the Arduino IDE when it comes to signal processing, but I don't necessarily care to find out haha. Please message me if you want to discuss further! Are you using an EEG click?
My Click board will arrive sometime this week. Do you think the Click Shield is necessary to read off data from the Click EEG or just nice to have because of the isolation? I would like to get the raw data and view it for now like you started of with. I will be using the Arduino for processing later on hopefully sending me the FFT of the data every few seconds. I'm trying to build a fitbit for my brain =)
the isolation board has been nice for pure connection purposes. You mention isolation. Does this mean I have no business implementing a notch filter in the my code if I'm using the click shield??? I'm still plugging away at making a LabView model. I also don't know why I don't see any major differences in output voltage when I'm adjusting the gain. Let me know how your test run goes.
As far as isolation goes I think it is generally recommended to have all your devices run on battery since our measurements are faint micro volts. Have you found information on the calibration ratio of input voltage to output voltage (0-5V) somewhere?
Funny enough I emailed Mikroe about that in support. Haven't heard back. Doesn't make sense to read outputs in units of V. They are amplifying the gain I suspect but I don't know to what degree so I can account for this in my code.
The EEG electrodes should pick up only micro Volts so the gain needed is very large. Do you think we could just build a voltage divider and map out the output voltage in 5 mc V increments? I'm just waiting for my power supply, breadboard, and jumper cables to arrive. Then I'll do my setup of the click board.
I created a project using the EEG MikroE board by connecting it to a Feather M0. It's not an ideal setup because the SAMD21 only tolerates <3.3V analog input but it worked fine by using a voltage divider. If anyone has got better ideas for stepping down the voltage that would be good otherwise I'd advise just using a mikrobus compatibile board - I just couldn't find anything simple for that which would work in a wearable. I also mainly used this board because I could record directly to SD card and for sleep you need a ton of storage space if you're not sending anything by bluetooth or wifi, which I wanted to avoid. More details here: https://www.majorinput.co.uk/post/arduino-based-eeg-sleep-monitoring
hi odjassemi, i'm a newbie in using arduino, i would like to make a project about eeg click and arduino, however, when i tried to upload the libraries for eeg click (taken from LibStock based on mikroe catalogue) in arduino, it says "invalid library found". can you help me on this matter?
The LibStock libraries are unique to Mikroe's software to the best of my knowledge. I think you can perhaps tweak the code that you can find in the LibStock, but in my experience it's best to code the EEG click in arduino from scratch. This is a good link to get started:
I am working on getting started with MikroE's clickshield.
Their documentation of which pins correspond to which pins on the Arduino Mega 2560 is nearly impossible to read because all the pin numbers are numbered strangely. It took me a whole afternoon with a multimeter to map it out. Hopefully this helps someone else out there: