BrainBay, install, neurofeedback tutorial
Hi All,
Chris, the primary developer for <a href="http://www.shifz.org/brainbay/" title="BrainBay">BrainBay</a>, has just created an OpenBCI-specific driver. Now you can use OpenBCI with BrainBay without any fakery or trickery...just plug it in and go! All 8 channels at full 24-bit resolution...yay!
You can see some example data at: http://eeghacker.blogspot.com/2014/01/openbci-driver-in-brainbay.html
I think that the OpenBCI driver is part of BrainBay V1.9.
Thanks, Chris!
Chip
Chris, the primary developer for <a href="http://www.shifz.org/brainbay/" title="BrainBay">BrainBay</a>, has just created an OpenBCI-specific driver. Now you can use OpenBCI with BrainBay without any fakery or trickery...just plug it in and go! All 8 channels at full 24-bit resolution...yay!
You can see some example data at: http://eeghacker.blogspot.com/2014/01/openbci-driver-in-brainbay.html
I think that the OpenBCI driver is part of BrainBay V1.9.
Thanks, Chris!
Chip
Comments
As an example, one mod in particular, to the Oscilloscope block, makes it much easier to view your signals from the OpenBCI board. Previously scale factors had to be adjusted manually with right clicking on Osc. input pins, (due to the huge signal range of our 24 bit samples.) Now the scale factors are adjusted automatically.
So if you are interested in BrainBay, this version 1.9.3 has considerable improvements over the January 2014 version. And works with the V3 board. Partial list of Github commits:
* added sanity checks to Filter parameters to prevent crashes
* fixed design view display of 1 channel RAW EEG sources
* MCI Media Player: now rewinds / restarts at end-of-media.
* New installer .nsi with Uninstall warning message.
* Roll the Spectrogram window rather than completely clearing it.
* Oscilloscope mod for huge (24-bit) output range EEG devices.
* New OpenBCI V3 packet format, both 8 and 16 channels.
* added opi test configurations
* modified COMREADER to allow also writes to COM port
* second NIA device updates
* added OPI TrueSense Exploration support
* added option to append archive starttime to time display
* Neurobit fixes, dll version
Download page: https://github.com/ChrisVeigl/BrainBay/releases
Main site: http://www.shifz.org/brainbay/
Commits log: https://github.com/ChrisVeigl/BrainBay/commits/master
Neurofeedback tutorial with OpenBCI: https://sites.google.com/site/biofeedbackpages/brainbay-openbci
If you previously used an old BrainBay installer, you do not need to uninstall before installing the new version. You can just run the new installer. If you do use the Uninstaller, be cautious, as it will also uninstall any additions or changes you have made in your CONFIGURATIONS (.con files) folder. The new Uninstaller dialog box warns of this.
William Croft
PS as an aside, it does even appear to work on Mac under VirtualBox using one of the free Microsoft virtual machines(!) (And virtual COM port emulation). But you are obviously better off running under native Windows.
https://sites.google.com/site/biofeedbackpages/brainbay-openbci
This covers both an initial simple design, similar to what is described below -- and a sample neurofeedback design. Both designs are explained so that you can start building your own 'circuits'.
----
Very abbreviated steps just to verify install and oscilloscope output (tutorial is recommended instead):
You can then setup a very simple design / "circuit". OpenBCI EEG element on the left, connect one of the channels to a Filter element, then connect the Filter output to an Oscilloscope. Filter parameters would be for example, a Butterworth Bandpass filter, order 4, from .5 hz to 40 hz.
All the design blocks "open up" by right clicking on them. In the EEG block, put in your COM port and press the Connect button. The check box should come on. When your circuit is ready, press Play button in the lower left of the main window. Adjust the slider in the Oscil. to set your full scale uV. It starts out somewhat high at 500 uV full scale. Typical scope full scale values would be around 100 uV or 50 uV.
The 'books' page below has a link to a video tutorial series on BCI from UCSD. Many other resources in these lists as well.
Brainbay, Bioexplorer, etc. are what you could consider "signal processing flow" programming environments. They basicallly take a stream of EEG samples (250 per second) and do various filtering and feedback operations on the data. So a typical sequence might be to filter and display EEG activity in a certain band, say alpha from 8 to 12 hz. Then extract the magnitude / amplitude of that band (in microvolts), and use that to control the audio volume / or visual feedback that is given to the user. I'm sure you've seen Chip's blog, a really excellent series of tutorials / DIY howto's.
When plugging in the dongle, a new device should appear under /dev/tty.usbserial...
Symlink this file to a virtual com port in Wine like this:
ln -s /dev/tty.usbserial-DN00969W ~/.wine/dosdevices/com1
After installing and starting BrainBay in Wine, insert the OpenBCI source via "Insert Element" -> "Source" -> "Biosignal/EEG Amplifier" -> "OpenBCI" and then choose and connect to COM port 1.
Using the oscilloscope test that William explained in the first post, I got plausible signals from all channels including accelerometer
The same procedure should work under Linux, only the device name might differ and you should check that the permissions on the device file are appropriate.
Have fun!
Martin
http://www.autodidacts.io/use-openbci-with-brainbay-on-ubuntu-linux-and-wine/
ln -s /dev/tty.usbserial-DN00969W /Users/Ray/Applications/CrossOver/BrainBay/com1
It says Not such file or directory. Any sugggestions?
BrainBay currently does not have an element block that can send an arbitrary string to a COM port. The COM port block you see in the documentation is for outputting commands to the old OpenEEG interface.
Are you wanting to do some text (source code) programming language work, or do you want to use the BrainBay / OpenViBE / PureData / VVVV style of visual programming language (VPL)? A number of projects have utilized the 'Processing' language built OPENBCI_GUI source code as a base. See some of Chip's EEGHacker blog posts. Python is another good choice.
If you want to stay with VPLs, here is the list of element 'box'es in OpenViBE,
http://openvibe.inria.fr/documentation/unstable/Doc_BoxAlgorithms.html
The Run Command box there would allow you to do arbitrary COM port operations. And if you had a 2nd Arduino listening on that COM port, your commands to it could initiate various operations. VVVV and PureData also allow command execution; these would read the EEG data over a OSC link. And the OSC Python plugin would feed the OSC stream.
See the previous post above by @nightscape , on Jan 2. You need to setup the symbolic link to the 'simulated' COM port. Windows uses COM1 through COMn ports for serial IO. Linux and Mac use /dev/.
William
Brainbay v2.0
ChrisVeigl released this 19 minutes ago
Thanks for great news!
Only one moment for clarification, please: according to Chris’ comments about usage of OpenBCI Hub for communication with Ganglion, in this new release BrainBay still uses middleware OpenBCI Hub interface to communicate with board, not directly by hardware (dongle) drivers. But it did exactly the same already in previous versions of BrainBay, at least since v2.0.
So, what’s the new feature of this new release?
What would be great, if BrainBay include WiFi option for communication with OpenBCI boards. I believe it could be implemented quite easily by using the same middleware, OpenBCI Hub.
Best regards,
Alexei
Thanks for prompt details explanation! Now all is clear for me!
Yes, I’m very interested in WiFi support of BrainBay and plan to play a bit with BrainBay source, kindly provided by Chris. Hopefully within this month I can be able to report here about results.
Thanks again,
Alex
Chris Veigl just released BrainBay v 2.5 with new features listed at the end of this post.
https://github.com/ChrisVeigl/BrainBay/releases/
Article on our Community page,
https://openbci.com/community/brainbay-dsp-environment-update-for-ganglion-cyton/
Thanks again Chris for your ongoing support of the OpenBCI community!
--