Quantcast
Channel: OpenBCI Forum
Viewing all 4277 articles
Browse latest View live

ADC multiplexing and EEG phase

$
0
0
Hi!

Let me add small comment about some shortcomings of cost-efficient schemes for EEG advanced processing.

According to it's design both EEG amplifiers utilize multiplexing scheme in multiple channels ADC signal processing. It's not bad, until you are going to exploit fine phase metrics of EEG signals like coherence, phase reset, effective connectivity etc.

Due to multiplexing trick, inevitable phase slewing will occur with following distortion of phase between channels.

It is not good for coherence based BCI protocols.

Best regards,

Alexei

Closed-loop neuroscience and neuroengineering (field and book)

$
0
0
2014 Frontiers in Neural Circuits, special issue
http://journal.frontiersin.org/article/10.3389/fncir.2014.00115/full

It looks like the July 2016 book may be the collection of earlier papers published above.


It's surprising that no mention is made of traditional neurofeedback. Possibly because "hard science" types are a bit critical of claims that have been made in the neurofeedback field. Yet neurofeedback organizations (AAPB and ISNR) predate this new field by decades. 


---

Neuroelectrics is apparently targeting this new field with some of their combined products that do simultaneous EEG and stimulation,


A few questions around EEG data and pattern matching

$
0
0
I am still researching ahead of potentially doing some work in this space but as I read on and I starting to think there is something I have misunderstood.

From the videos I have seen the EEG output seems very sensitive to muscle movement in the face and jaw as well as eye movements, for example in this video from your good selves at OpenBCI (image) the presentation was opened and controlled through jaw and eye artifacts rather than actual brain activity (thinking).
I am still very new to this so this may sound really dumb but is it possible to see from EEG data a pattern if someone, for example, thought of "left" or pictured in their mind an object moving left? or is the output of EEG just not sensitive or artifact free enough to pick up on that kind of thing?

In my case I was thinking of doing something to try and map a pattern of EEG data to the thought of, for example, throwing a ball but not necessarily actually throwing it (hesitation). Would there be evidence in the EEG data of a "thought" of throwing a ball?

Please ask for clarification if this makes no sense.

Regards,
Sam

LabStreamingLayer into BCILAB / EEGLAB / MATLAB

$
0
0
Dear all, I am a student who is doing a project with OpenBCI. I can now realize live data streaming using OpenBCI GUI and the Brainbay. Is it possible for me to stream data into MATLAB and do some real-time DSP?

What kind of headgear is this?

$
0
0
I saw this in a slideshow by Jussi Lindgren. Does anyone recognize this technology? image

computer no longer recognizing Cyton dongle

$
0
0
We have two 8ch OpenBCI Cyton boards where both their dongles are no longer being recognized in the OpenBCI GUI.  We have tried them on multiple computers (mac and pc) and multiple versions of the OpenBCI GUI with no luck.  The blue light does turns on when you plug it in.

Any idea on what happened?

OpenGL error 1285 at bot endDraw(): out of memory

$
0
0
Hello,

the new 64bit GUI version finds my Ganglion (only when called as root), but after a few seconds of streaming data the GUI freezes. The Shell says:

OpenGL error 1285 at bot endDraw(): out of memory

Any hints?

record to sd @1kHz

$
0
0
Hello, 
I am trying ask via python to record on sd card at 1kHz, using v3.0.0
I looked around and tried quite a bit but cant get it to work.
My code looks like below, does anyone knows what i'm doing wrong by chance?
i get createfdContiguous fail without softreset, and if i do a soft reset i get back to 250Hz,
Thanks
board.ser.write(b'~6');sleep(1);read() # ask 250Hz
board.ser.write(b'v');sleep(1);read() # soft reset
board.getSampleRate() # check 250.0
board.ser_write(b'a');sleep(1);read() # record ~14sec
sleep(20)
board.ser.write(b'~4');sleep(1);read() # ask 1kHz
board.ser.write(b'v');sleep(1);read() # soft reset
board.getSampleRate() # check 1kHz
board.ser_write(b'a');sleep(1);read() # record ~14sec
sleep(20)




OpenBCI delivery denied at Customs (Europe)

$
0
0
A friend of mine ordered a nice present for me. A Ganglion board together with a pre-printed Ultracortex IV. Since it was a delivery to Germany, I had to go and pick it up from Customs. I was expecting to pay the necessary fee (tax) and simply receive it. That was not the case, unfortunately. The Customs officers argued with me that since it had no CE marking, it could not be sold in Europe. I tried to argue with them that it was an evaluation board, I know the risks, am technically adept, and the rest to no avail. Since it did not meet the "technical requirements" it cannot be used here.

Was this normal? How can I get the thing delivered lawfully here? I read around the web (and in these forums) all the time about persons using OpenBCI kits in the EU, how do they manage to have their stuff past Customs?

How to know what channel names to enter for Ganglion in OpenViBE

$
0
0
I've been working with the motor imagery set of example scenarios in OpenViBE. I'm able to record the training brainwave data from Ganglion.

However, when I get to the 3rd .xml file (scenario) the scenario fails because it requires you to enter the name of the reference channel in the "Reference Channel" box. The name of the channel in their example was "Nz". How can I determine what name I should give for the Ganglion's reference channel?

I believe I'm about to have the same question for the rest of the channel names, because once this box is working the next one is the Channel box, which has 4 different channel names in it.

Thanks in advance!

Update: I think I found something that shows a way you could figure it out with the Windows version, but I'm not seeing anything like those diaglouges in the Linux version...

How to choose the coefficients for a Surface LaPlacian filter (spatial filter)?

$
0
0
I'm trying to read up on the Surface LaPlacian filter/transform to better understand what this is all about. However, if someone wants to explain what I need to know to continue learning OpenViBE that would be greatly appreciated :)

In the OpenViBE classification examples, they have this spatial filter labeled LaPlacian Surface. It takes 2 coefficients for every 1 input channel as parameters. I am wondering how one goes about determining what coefficients to use.

Bluetooth communication between Mac Osx and Ganglion with C++ ( terminal a-p

$
0
0
I am curious if anyone has any experience and luck successfully using C++ to create a central and a peripheral relationship with Mac.

I am trying to build a terminal application in C++ that searches for the Ganglion, connects and receives the array of objects from the Ganglion board.
So far the docs seem to be more angled for IOS development .
I have found the headers which compiles , but unable to find actual functions to implement the logic needed to search, connect , communicate







p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12f1b}
span.s1 {font-variant-ligatures: no-common-ligatures; color: #78492a}
span.s2 {font-variant-ligatures: no-common-ligatures}

#include <IOKit/hid/IOHIDLib.h>

#include <CoreFoundation/CoreFoundation.h>

#include <IOKit/IOReturn.h>

#include <IOKit/IOTypes.h>

#include <IOBluetooth/IOBluetoothUserLib.h>

#include <IOBluetooth/IOBluetoothUtilities.h>

#include <CoreFoundation/CoreFoundation.h>



Has anyone encountered this before? I am almost leaning towards just using the Qt framework since it has built in bluetooth libraries which does what I want but wanted to stay away from any framework or overhead

Reference channel location

$
0
0
So, I've finally got everything working with my online OpenBCI-LSL-OpenViBE online classification. Now I need to get it working well, because the classification accuracy is terrible.

The examples I was following used a reference channel whereas I didn't, so I'm going to try adding that as a first step. My little 10/20 Brainnet cap has location just behind the top of the head labeled "REF". Is that where I should put the reference channel? Maybe I don't understand the logic, but I thought it should go on some place with 0 activity, like an elbow or something.


Railing on 2, 5, 9, 12, and 14 - readings seem un-reliable

$
0
0
Greetings,

I received my Cyton and V3 Daisy Module the other day.  I have designed my own headset using solid round steel wires, after having donned a swim cap to establish electrode positions and establishing where the wires needed to be run.  I covered the headset wiring with heat shrink tape and then secured sized wooden dowels to ensure that the electrodes are positioned correctly on the skull.  I have used Ten20 to help paste the electrodes to my head.  I have secured the ground wires to my ears using jewelry clamps (having soldered the wires directly to the clamps).  I am using the pins close to the board for the electrode connections.

For the first couple of minutes all seemed fine - but then it started to rail on 2, 5, 9, 12, and 14.  They appear to be firmly attached to skin, so I am unsure as to why they show like this.  As well, upon review in the OpenBCI application (running on Windows 10) - the readings show nothing more than straight lines that appear to be in sych with each other (patterns are the same).  If I disconnect the Daisy board it appears to work better. 

Upon investigation it appears that there is some sort of a flaw in the design of the Daisy boards that require pins 51 and 52 to be connected together?  This has not been done on mine - should it?  Is my board running a faulted software version?  Why is it not working as expected?

Any help is greatly appreciated!

Thanks,
Don

Placing triggers in data with button press

$
0
0
Hi all,

I need to send triggers to mark external events while recording with the OpenBCI. Eg, to mark eyes open, eyes closed, and a variety of other subjective states. 

I understand that you can just use the PROG button the OpenBCI board for this?

I have had a search around the tutorials and forum, but am still a little in the dark about this.
I understand that with the most recent firmware (I bought my OpenBCI Cyton in August 2017) there is no need to program the board, and that it will be able to read button pushes without adding further code?

In this case, can you just press the PROG button and a channel will register that button press???

Can anyone point me in the right direction on this, I really need a bit more instruction that I can see on the tutorial.

Also, ideally, I would have an external button box. I will look into this.  
I see this tutorial on external button boxes:

But that button box seems to need an external power supply, which is not recommended.
Is there an alternative way of creating and using an external button box to send triggers, which is safer and easier than bunging your finger into the boards PROG button any time something happens?

Thanks in advance folks!



Cannot connect Cyton with PC using Bluetooth CSR dongle

$
0
0
Trying to get the Mark IV EEG up and running by connecting Cyton
8-channel to the OpenBCI GUI on Windows 10.
  • I have installed the CSR Bluetooth dongle and the Harmony software (v 2.1.63). In the settings I see:

Ports (COM & LPT):

     Bluetooth SPP Driver (COM3)

    Bluetooth SPP Driver (COM4)

When I look at driver details, it says Cambridge Silicon Radio Limited




  • I install the VTDI drivers as instructed. I used the setup.exe file. (I am not sure how to confirm that this was successful).
  • I flip the switch on the Cyton board to "BLE". I see a solid blue light.
  • I open the Harmony software and choose "Add New Device". No device is
    found. I flip both the Cyton switch and the PC Bluetooth switch a couple
    of times. However, the PC/Harmony detects my iphone and successfully
    pairs with it.
I have turned off my wireless mouse and I have re-booted. Same problem. Thankful for help!

Niklas
 

[HELP NEEDED] Ganglion connection

$
0
0
Hi guys.

I have followed the tutorial to setting up the 4 channel Ganglion board and it worked for the OpenBCI GUI. I used a CSR 4.0 bluetooth dongle and installed the driver using Zadig as WinUSB. 


However, I want to do live streaming of the channel data into Matlab and I found the library for the Lab Streaming Layer.


My python installation is completed successfully, and the problem occurs now at the board initialisation.

using the command python openbci_lsl.py --stream ,  it raises an OSerror that no OpenBCI port is found. (Image of the error : imagehttps://ibb.co/kHcNbv)

So, I went to check my device manager to see the ports available on my laptop, and I found that the bluetooth dongle is not listed under COMs. (Image of the device manager : https://ibb.co/kTuoia)

Can someone tell me what have I done wrong or installed wrongly for the bluetooth dongle? I am not that familiar with the various drivers available for CSR 4.0. 

Your help is greatly appreciated. 

EEG binary classification / motor imagery performance

$
0
0
What sort of classification accuracy have you been getting for motor imagery or any 2-class classification problem with Ganglion or Cyton?

Any tips or tricks for improving performance?

My performance is not great with my Ganglion at the moment. It struck me, however, that when i get the 2 class motor imagery model working well enough that I can just use that for any 2 class BCI use case (I'll just have to think "right" or "left" even if it's being interpreted as "on", "off", "up", "down", or whatever the actual class labels are).

Also, is it just me or is the so-called 2 class motor imagery (or any similar problem) really 3 classes? Because aren't the classes implicitly "right", "left" and "neither"?

Current Consumption Cyton

$
0
0
What is the amount of current consumed by the cyton board with SD Card. It is writtten in this blog http://eeghacker.blogspot.ch/2015/01/estimating-openbci-battery-life.html that it consumes 40mA without daisy and without SD card. 

I want to know the total current consumed with storing going on in parallel. 

Can we add the currents consumed by the sd card and Cyton individually. For e.g. if sd card consumes 500 mA and cyton consumes 50 mA so can we say that the total current consumed is 550 mA during recording ??

Thanks.

GUI V3 does not find my Ganglion / GUI V2.2.1 LSL widget hangs

$
0
0
I am using Ganglion board with OpenBCI GUI to use the LSL protocol to stream data to Matlab R2015a for BCILab 1.4 toolbox usage.

I have downloaded V3.0 OpenBCI GUI, but the BLE devices are not detectable. The bottom tool bar displays a message "Wifi devices refreshing". Is this a bug which actually searches for devices through Wifi rather than BLE?

Anyway, I went ahead to download V2.2.1 OpenBCI GUI to test out the networking widget. I have tried to start stream on LSL but the entire GUI hangs instead. May I ask if there are any steps I have to take in order to get this to work? Thank you!
Viewing all 4277 articles
Browse latest View live