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

Required sampling rate for EMG

$
0
0

Hi,

I've read almost everywhere that the dominant energy of an EMG signal lies within 50-400Hz.

If we want to regenerate the EMG waveform we would need a sampling rate of at least (Worst case) 2 times the maximum frequency component of EMG.

So it is clear that we would need at least 800SPS. But Cyton samples 250 readings per second.

How does all this add up? Am I missing something? Or is 250Hz sampling rate is actually enough for EMG?

Also, I am aware that we can increase the sampling rate of ADS1299, However, the BLE module cannot transmit at these higher rates. What is the limitation of BLE module? How fast can it transmit?


Detecting EEG frequency bands

$
0
0
Hello,

I'm working on a project that will use a Ganglion board to capture the various EEG signals (alpha, beta, gamma, delta, theta, etc...).  Is there anything built into the firmware on the Ganglion or the software off-board to do the processing required to detect these bands?  If not, what is the simplest way?  I'm looking to find all of these bands simultaneously.

Thank you for your help!

Signal quality difference between Cyton and Ganglion

$
0
0
I'm working on a project to read EEG and get the band powers, specifically Alpha and Beta.  I've been using a Ganglion, but have been having very noisy signals.  I switched to a Cyton I had for a previous project and had much much cleaner signals.  Here's my setup: I have four electrodes across the forehead (AF7, Fp1, Fp2, AF8), and two earclip electrodes.

On the Ganglion, the four electrodes are connected to the +1 ... +4 pins and the earclips are attached to D_G and REF.  When holding absolutely still, I'm getting around 100µV on average.  The channel switches are set off, so the channels will use the reference pin, and not the corresponding -1 ... -4 pins.
image
image

Immediately after, I moved the electrodes to the Cyton board.  Here, the four electrodes are connected to the 1P ... 4P pins and the earclips are attached to BIAS and SRB pins.  When connected, I set the SRB1 to "Yes" for the first four channels in the "Hardware Settings" menu.  Now, I'm getting around 3.5µV on average.
image
image

So my question is why is the Cyton board so much better than the Ganglion?  Am I wiring things up correctly?

Thanks,
-Pete

Unable to input OpenBCI LSL stream in BCILAB

$
0
0
Hi all, 
I would like to use MatLab + BCILAB to pre-process, classify, and visualize real-time EEG data from OpenBCI.

Using an OpenBCI board streaming into LSL I'd like to stream into MatLab with BCILAB's LSL receive. In the BCILAB doc it says that if you do this and then select the following option:

image

You should be able to stream live data into BCILAB. However, BCILAB gets stuck on:

Looking for a device with type='EEG' ...

And then gives the following message when I interrupt:

Operation terminated by user during lsl_resolve_bypred (line 35)

In run_readlsl (line 108)

        result = lsl_resolve_bypred(lib,opts.data_query); end


Strangely enough, when I run LSL's ReceiveData.py I'm able to receive the stream just fine. However, when I run ReceiveData.m it again gets stuck at:

>> ReceiveData
Loading the library...
Resolving an EEG stream...

And then when I interrupt:

Operation terminated by user during lsl_resolve_byprop (line 37)
In ReceiveData (line 9)
    result = lsl_resolve_byprop(lib,'type','EEG'); end


It seems MatLab's LSL isn't able to resolve the EEG stream from OpenBCI even though Python LSL can. What do I need to do to?

Details:
Python 2.7 virtual environment
BCILAB 1.2 alpha
Matlab 2013b ( 8.2) with this patch (BCILAB is buggy with more recent MatLab versions) 


 

 

I need help, how to send the data to speaker(audio card)

$
0
0
I am new one, how to send the openbci data to speaker(audio card) by matlab software, I want to output the openbci crginal data by the audio card of the PC, then I will get the signal to my other set.

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?

SD Card saves Data without dongle Connection?

$
0
0
Hi,

I have some problems with the stability of the bluetooth connection, especially if the participant is moving more than 3 or 4 metres away from the dongle. I know, I could use the WiFi Shield instead. However, another possibility would be to save data on the SD card.

My question:
- Once the recording was initialized and started via the GUI, does the SD-Card save all recorded data - *even if there is no bluetooth connection*?
- I guess the samplerate when using the SD is still 250 Hz, isn't it?

Extended board holder (for Mark III and IV) covering the daisy module, and an 1100 mAH Li-Po battery

$
0
0

Dear Community,

https://www.thingiverse.com/thing:2835953

I uploaded in Thingiverse an extension of the board holder, which covers the daisy module, and also includes an 1100 mAh battery which may be changed avoiding unscrewing the main board. It has one version for Mark III, and another for Mark IV (because of different fixation holes).

image

Critiques are welcome.

Regards, Paulo


convert raw data stream to another acquisition hardware stream?

$
0
0
Hi, 
I'm not a software or hardware engineer and have no idea about how things work "behind the scene". I was just wondering if it is possible to present OpenBCI as another hardware?
In other words is it possible to convert data received on serial port to another hardware's (e.g., Neuron-Spectrum) data and feed it to a software?

PS. I consider myself a total newbie ;)

Thanks

Cyton Board not working after loading AlphaWave firmware

$
0
0
Hi everyone!
I have a BIG problem, i always used cyton board with LSL networking system for real time streaming of time-series data in Matlab.
I tried to change both radio and board firmware in order to reproduce this application:


but I think I made some mistakes... because into the android app I can find the bluetooth device but when I start the record I can't see data... Now I want to re-upload the default conditions, but I don't know how... How can I fisically upload the host and the device radio default firmware? 

Thank u so so so much, I don't find any documetation about this.
I'm really desperate.

Android-based App | (AlphaWave Demo)

$
0
0
Hello guys,

I'm happy to share with you all the source code for the Android app that we worked on couple months ago. This app can be used with the AlphaWave demo to communicate with the OpenBCI 32-bit board directly through the RFduino-radio installed in the board.

This app has much more features than iOS version; such as:
- Ability to send custom commands to the app.
- Plotting the alert level on real-time
- Summarize the results

Here are some screen shots:

image
image
image
image
image
image
image
image
image
image


I think it can be extended for many other usages .. have fun using it :D





Neural networks and BCI

$
0
0
I am curious if any experimentation is being done with BCI and interfacing to neural networks.
One thought would be to feed EEG signals into an NN while operating a mouse and see if the
 NN could be trained to predict where the mouse should move based on EEG signals. I did some searching on
google and the machine learning reddit and surprisingly saw no mention of trying to use the two together.

Based on what little I know about NN, it would seem if there were a usable signal a NN would be able to tease it
out of the EEG signals.

Init timeout (64 bit Linux) - error reading from Serial/COM port

$
0
0
I can't connect to a Cyton board with the dongle. I have tried on two computers, both running 64 bit Linux, kernel 4.13.0-36-generic.

Steps:
1) Plug in the dongle. It's set to GPIO 6, and the blue light comes on.
2) Switch the Cyton board from "off" to "pc". The blue light also comes on. It says "V3 - 32" on the board itself. The batteries are new.
3) Try to connect with various software, and watch it fail (repeating step 1 and 2 between attempts, in order).

The port is ttyUSB0, and I'm in the dialout group and have appropriate permissions to use it.

% ls -lh /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Mar 27 16:40 /dev/ttyUSB0



% dmesg
[1297915.238859] usb 3-6: new full-speed USB device number 10 using xhci_hcd
[1297915.385303] usb 3-6: New USB device found, idVendor=0403, idProduct=6015
[1297915.385305] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1297915.385306] usb 3-6: Product: FT231X USB UART
[1297915.385307] usb 3-6: Manufacturer: FTDI
[1297915.385308] usb 3-6: SerialNumber: DN00965Y
[1297915.388287] ftdi_sio 3-6:1.0: FTDI USB Serial Device converter detected
[1297915.388316] usb 3-6: Detected FT-X
[1297915.388509] usb 3-6: FTDI USB Serial Device converter now attached to ttyUSB0

I can't send '?' to the board.

cu claims it can connect (but claims that even for ports where it clearly can't), but I can't send anything, and it doesn't show any info beyond claiming to be connected:
 % cu -l /dev/ttyUSB0 -s 115200
Connected.

Screen shows nothing.

I'm happy to paste full 'check status' or 'start system' output from the OpenBCI gui, but they're not particularly enlightening. From check status:







Radios_Config:
connect_to_portName: attempting to open serial port:
/dev/ttyUSB0

Radios_Config: connect_to_portName: port is
open!

Error reading from Serial/COM port

'Start system' leads to the gui showing "Init timeout. Verify your Serial/COM Port. Power DOWN/UP your OpenBCI & USB Dongle. Then retry initialization."


What is a reasonable next troubleshooting step?

p { margin-bottom: 0.25cm; line-height: 120%; }

Timestamp jump in the raw data

$
0
0
Hello. When recording with a frame rate of 250 with the cyton board and dongle there are arbitrary time jumps in the raw data file of about 200-400 ms in the timestamps. At first we thought it was due to the bluetooth but after having compared the datafile from the GUI to the datafile written to the SD-card which looks the same we realised this can't be the case. We can't figure out why this is and how to solve it. Someone else that have encountered this? Could this be just a fault in the output of the timestamp or does this mean that we do not have data between these time stamps?

Look at the timestamp at 19:02:44.071 and the one after.
221, -22729.62, -10545.33, -82978.08, -77797.44, -96769.37, -113060.71, -64416.52, -89388.34, 0.000, 0.000, 0.000, 19:02:44.071
222, -22731.79, -10547.77, -83013.08, -77815.18, -96763.41, -113046.40, -64420.95, -89374.41, 0.000, 0.000, 0.000, 19:02:44.071
223, -22760.11, -10557.64, -83086.62, -77874.75, -96753.26, -113026.78, -64473.09, -89354.00, 0.000, 0.000, 0.000, 19:02:44.071
224, -22730.20, -10534.29, -83094.93, -77889.68, -96716.58, -112994.61, -64490.19, -89355.05, 0.000, 0.000, 0.000, 19:02:44.071
225, -22715.99, -10530.84, -83030.78, -77853.00, -96736.80, -113016.72, -64444.59, -89383.77, 0.000, 0.000, 0.000, 19:02:44.517
226, -22723.19, -10540.75, -82959.59, -77815.67, -96775.36, -113053.16, -64381.45, -89404.34, 0.000, 0.000, 0.000, 19:02:44.517
227, -22727.70, -10534.80, -82987.64, -77835.79, -96735.48, -113025.52, -64386.07, -89367.14, 0.000, 0.000, 0.000, 19:02:44.518

Thanks in advance

New user, Introduction plus 20-something Questions (Ganglion)

$
0
0
Hi all,

Let me introduce real quick: Lidia, from the Netherlands,
almost 40 years and interested in all things. My dad made ECG
biofeedback device in the 80's with his collegue at Philips, and always
told interesting stories about it. Sitting at the couch twee weeks ago,
talking about meditation and how to measure that, we came back to
biofeedback. Fast forward a few hours of surfing google and I had bought
the ganglion, plus goldcups, paste and a BLE dongle. It arrived
yesterday, and all works as expected.

of course, the openBCI
software is nice and all, and the focus widget is nice. But the real fun
lies in making your own widgets. My question is how to get the data
that the openBCI GUI uses to visualise stuff.

now, back off a
moment. I have some programming skills (hanging on by my fingernails and
some education 20 years ago in turbo and Matlab). Husband is good with
PHP and all kinds of languages and willing to help. I see guides (or
musings) about LSL and matlab and couplings with Brainbay and the like.
Have not enough skills to do that, or not yet anyway.

What I
want, is to make a widget, similar to the focus widget integrated in the
GUI. I don't want to use the 19bit system thing and do all FFT
calculations myself, as the software already does that. I want to use
the values that is used by the openBCI GUI, and work with THAT, real
time. Must be possible, since the GUI also uses that data to display
graphs and the focus widget.

Actual question: can you adapt the
GUI to make your own widgets? I can use the focus widget to use the UP
or SPACE key, and could use that as input for a mini game of my own. But
I want to alter the uV limits, cutoffs and other things Jason did in
that widget. Some basic python is available, and willing to learn more.
But first need to know if I can access the data that is there in the GUI
real time.

God, I hope I am being clear. Definitely not a programmer, so please be patient :)

Intan making interesting chips.

$
0
0
I came across a company called Intans that is making a EMG/ECG etc on a chip. It requires a lot less components that the ADS1299 and could prove useful to people looking for something with a smaller footprint.

They have 16 bipolar channels on a chip and it chats via SPI.  http://intantech.com/products_RHD2000.html

Looks to be very exciting.

Dave

OpenBCI_GUI 3.2.0 and Max 7: Networking

$
0
0
Hello All,

The current GUI for Mac is working well via OSC messages, and I'm doing my best to create a template to make the data usable with Max 7 objects. I have a few questions to make this possible. The data looks correct when displayed on multislider objects, but I don't understand how the received OSC values correlate to what I see in the GUI in regards to measurements.

How do I convert the Time Series amplitude to microvolts?
Recorded Data Range on Synthetic Channel 1: -150. to 150. (floating point)

I believe I can plot the data logarithmically as in the GUI in Max, but it doesn't seem to match what the GUI shows with synthetic data. How do I interpret Band Power to (uV)^2 / Hz per channel?
Recorded Data Range on Synthetic: 0. to 5. (floating point)

Can I use the data from the previous question to create a focus algorithm in Max per the description in the GUI?

Lenovo Customer Service 0800-046-5242 Lenovo Service Center Near Me

$
0
0

Lenovo Helpline 0800-046-5242 is accessible for
Lenovo Customer Service.
lenovo service center in london
is accessible here dependably. Lenovo Laptops are overhauled here. Driver
related issues can happen while working with your convenient workstation or
some other issue in your Lenovo.

Writing data to file from a custom widget

$
0
0
Hello, I'm trying to implement a P300 speller as a widget screen in the Processing 3.x code of OpenBCI_GUI.  I need to record information about the flashing letter stimuli to a text file so I can match it up with the raw samples later. I first attempted to use a StringBuilder and BufferedWriter but I could not figure out how to do the exception handling for IOExceptions. (IDE will say something like "Exception IOException is not compatible with throws clause in OpenBCI_GUI.Widget.update()." ) I took a look at DataLogging.pde and it seems to be written only for writing raw BCI samples. What is the recommended way to go about this?

External triggering on Cyton 32-bit board

$
0
0
I am trying to do a P300 test so that I can try to figure out the exact delay of the trigger for my group's design project, but I'm unclear about the directions listed on the external triggering page from OpenBCI: http://docs.openbci.com/Tutorials/06-External_Trigger_Cyton_Example 

I'm pretty sure we have a 3.x.x firmware since we ordered and received the board in December 2017, although I'll try to make sure by checking the version via terminal emulator (once I learn how to use that). What section of that page should we be following? EXTERNAL TRIGGERING THE HARDER WAY (FIRMWARE 1.X.X)? We have an optoisolator and will be using a computer that has a parallel port with pins that emit a voltage of 0.3 V from the P300 paradigm loaded on the computer. Do I need to be loading the sample code or do I just have to put in the pins into the digital inputs and the board will automatically switch to the correct input mode?

As I'm a novice with this, I'm also not sure what the following means: "allowing you to simply read from the analog input (sending /2) or digital input (sending /3) with the type of a command. The default board is activated by default, but can always be achieved again by sending a /0."  


From what program are we supposed to send /2, /3, or /0? 
Viewing all 4276 articles
Browse latest View live