SSVEP standalone system

Hello, I acquired a Cyton+Daisy Board recently. I intend to do a standalone system based on SSVEP. I made the stimulation through Matlab, but after I prove that stimlus is detected, I am thinking about putting some leds a certain frequency and connect the board to a domestic appliance. The idea is to control the environment without any PC or LCD. 
Here is the point, first I tested the stimulation with a gtec hardware to see if I produce some response and everything checks. I tried the frequencies of 10, 12, 15 and 20 Hz. Then, I tested with the OpenBCI hardware and software and I can't get any satisfying results. I processed the signal through Matlab and I couldn't get any response to the stimulus. Can anyone help me with my problem. I am very excited to do this project.
Regards,

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Manuel, hi.

    What electrodes did you use with the g.tec, with Cyton? Do you actually need the Daisy and all 16 channels? 8 channels should be enough. 

    Because of bandwidth limitations of the Bluetooth link, when using the Daisy, the sample rate drops from 250Hz to 125Hz, this will impact the accuracy of your DSP.

    What sample rate was the g.tec using?

    When looking at the time series or FFT graphs, do you see evidence of the SSVEP flash frequency, when using the OpenBCI_GUI?

    Regards,

    William

  • wjcroftwjcroft Mount Shasta, CA
    Also look through the forum here using the search button in lower right column. A lot of previous threads on SSVEP. Generating screen flashing with a laptop will produce considerable 'jitter' in frequency. Some of the threads mention that. Most optimal would be a bright LED or LED array, which could be controlled for example by an Arduino.

  • wjcroftwjcroft Mount Shasta, CA
    "I made the stimulation through Matlab"

    In addition to jitter caused by laptop OS variability in load and response, an app like Matlab, which is very heavyweight and possibly 'interpreted' rather than 'compiled' code -- will also lead to increased jitter.

  • wjcroftwjcroft Mount Shasta, CA
    "The idea is to control the environment without any PC or LCD. "

    You might consider a Raspberry Pi, to do both the signal processing and the output of the LEDs (via GPIO pins.) The Pi has the ability to use looping DMA output, to get very precise timing intervals.


    The Pi also has usb ports, that would accept the Cyton dongle, and present as a serial port.

  • @wjcroft, thanks for the reply.
    For these tests I am only using 8 electrodes. With the gtec equipment I use a gel based electrodes. For the Cyton system, I used 6 spikey dry electrodes and 2 flat electrodes for FP positions.
    The sample rate of gtec was 256 Hz. About the graphs, the blinking artefacts appear perfectly, but when I introduced the stimulation, there was no effect on the plot of FFT (the spykes in the frequency of the stimulation).
    Could it be the NFFT or window length from GUI not be suitable to my case?
    My idea was to control domotic appliances only through the Cyton board, Wifi Shield and ESP8266 that I wiil implement. These ESP8266 will control the LED matrix and receive commands from the Cyton board through Wifi.
    Before, I turn to the Led matrix, I wanted to prove that the Cyton board could produce similar results to the gtec system.
    The signal processing can be done in the Cyton, right?
    Regards
  • wjcroftwjcroft Mount Shasta, CA
    edited May 2019
    You say that you used gel based electrodes with the g.tec, therefore to make a valid comparison, you must also use the gel electrodes with the Cyton. Dry electrodes (that are passive, without 'active' pre-amplifiers behind each electrode) -- will always produce less signal than wet electrodes. ALSO, with dry electrodes, how do you know that the tips were indeed contacting the scalp as firmly as required? With gel, the electrolyte bridges the distance between the metal and the skin. With dry there is no such bridge. Were you using the 5mm combs or the original 2mm combs? How were the dry electrodes being held in place with sufficient pressure, etc.

    re: "The signal processing can be done in the Cyton, right?"

    Are you are referring to the DSP digital signal processing to do FFT or digital filters? That is generally NOT "done in the Cyton" firmware. But instead on the laptop after receiving the data stream from the Cyton.

    William
  • The electrodes that I am using are the ones that came with the mark IV. My objective is to obtain some results with OpenBCI headset, not the same as the gtec system, but to see that with the OpenBCI I can also detect SSVEP. In the headset the dry electrodes were attached to the mark IV and in touch with the scalp (hurt a little bit :) ) The tips were the original 2 mm combs. 
    Yes, I am referring to the DSP digital signal processing, because these way the capture of the raw eeg signal, the pre processing of the signal, the detection and classification of SSVEP could be done in the same board and with that I could create a standalone system that was easy to use by user (a plug and play system).
    Regards,
  • wjcroftwjcroft Mount Shasta, CA
    Simple DSP can be done in the PIC32, but not complex algorithms. And certainly not based in languages such as Python or Processing. The PIC is much much slower than laptop CPUs. And even slower than the Raspberry. Your development process and user interface will be much more pleasant using a Raspberry or laptop or netbook to plug the dongle into. Such a Raspberry could also use available Bluetooth or Zigbee or Z-Wave standards for communicating with your appliance. Doing that with the PIC is going to be difficult.

    To have a fair comparison with a wet electrode system, you must use wet electrodes. There is also the sample rate difference I mentioned, 125Hz with Daisy. You likely do not need 16 channels for SSVEP. Please rerun your test at 250Hz sample rate, 8 channels.

    If you use the search button in the right column and look for SSVEP, you will see some other threads, in particular Chip Audette's posts on his EEGHacker blog.

  • cmellocmello United States

    I realize it's been quite some time since this thread was active; however, I find @wjcroft's responses particularly frustrating. It's clear that the original poster isn’t focused on making a 'fair' comparison—they simply want to determine if detecting SSVEP is feasible with OpenBCI equipment as-is. Yes, using gel-based electrodes may yield better results, but that’s not the question here. The real question is whether OpenBCI and dry electrodes are practical for this use case.

    In my experience, the answer is no. I haven’t had any success using either passive or active electrodes, including both older and newer passive models. We experimented with several people, maintained acceptable impedance levels, and configured 8 channels for SSVEP detection—yet still, no results. Using only the OpenBCI GUI and its frequency domain tool (FFT), we could not discern any difference between the baseline and when using our LED-based stimulus. Solutions like OpenVibe didn’t help either. I would’ve expected SSVEP to be the simplest evoked response to detect, but so far, we've seen nothing.

  • wjcroftwjcroft Mount Shasta, CA
    edited November 2024

    @cmello, please take a look at the multiple threads on the Forum, regarding the MindAffect cVEP system. This is generally superior to SSVEP, because it allows a substantial number of on-screen 'buttons' that when gazed at, trigger the associated activity you have designed.

    https://www.google.com/search?as_q=mindaffect&as_sitesearch=openbci.com

    An important aspect of setting up MindAffect is the calibration phase, where you check the frequency fidelity of your computer monitor system. All MindAffect users are utilizing wet electrode systems, also covered in the docs.

    https://mindaffect-bci.readthedocs.io/en/latest/

    Two recent Community posts show tutorials.

    https://openbci.com/community/mind-controlled-robot-openbci-mindaffectbci-maqueen-v2/

    https://openbci.com/community/mind-controlled-game-openbci-mindaffectbci-unity/

  • wjcroftwjcroft Mount Shasta, CA

    Also note that when flashing LEDs using square waves, other EEG non-dominant (harmonic) frequency components are generated. Which can confuse your FFT interpretation. I guess you could consider amplitude modulating the LED with an appropriate sine wave. But again cVEP seems substantially superior to SSVEP.

    Somehow even though MindAffect is using pseudo-random binary sequence flash stimulation (NOT AM sine waves), their analysis phase can pick out the stimulated button from the noise.

Sign In or Register to comment.