LabVIEW OpenBCI Toolkit

Hi everyone,

I've working with the OpenBCI V3, (8bit version with 8 channels) and I've implemented the OpenBCI communication protocol in LabVIEW. The codes for it are in the LabVIEW OpenBCI Toolkit. The link is:

https://decibel.ni.com/content/docs/DOC-40837
I hope this toolkit is helpful for some of you

Cheers

Raymundo

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Raymundo, fantastic!

    I actually know of one neurofeedback company that uses LabView as the basis for their product. (NeurOptimal from Zengar, developed by Val Brown.) Of course that is with the full version including the advanced signal processing toolbox.

    Question for you, do you know if your OpenBCI toolkit will work with this low cost version of LabView from Sparkfun,

    https://www.sparkfun.com/products/11225

    That gets you a legitimate student version for $50. Do you know of any other routes where non-university students can acquire LabView inexpensively? Can you honestly do real designs with the limited student version?

    Regards,

    William
  • Hi William,

    Yes, the toolkit will work with the student version offered by Sparkfun.
    You may want to see this Student Edition: http://sine.ni.com/nips/cds/view/p/lang/en/nid/210867 a little bit more expensive (link) but it include some toolboxes.

    I think you can create pretty good designs with the Student version, so far I've only implemented the board communication.

    Best,
    Raymundo
  • wjcroftwjcroft Mount Shasta, CA
    edited March 2015
    Raymundo, hi.

    Thanks for those links, that does look like a better option for those who have university affiliation. I see that the version you mention has the "Digital Filter Design Toolkit", which is likely missing from the Sparkfun version.

    Advantage of the Sparkfun deal is that it works for the many of us who don't have university affiliation, and who don't have access to a commercial version of LabView with the necessary addon toolkits.

    http://www.ni.com/labview/buy/
    commercial version comparison chart

    Base version $1K
    Full version $3K with signal processing

    http://www.ni.com/labviewse/compare/
    SE Student Edition comparison chart

    So looking at the SE comparison table, NO signal processing would be available in the Sparkfun version.

    Anyway, this is a wonderful resource for those fortunate enough to have business or University access. Could you tell us a bit how you will be using OpenBCI with LabVIEW in your own applications? Just curious. Did see the news release at your lab,

  • hello there,
     i have developed my own eeg acquisition circuit with the help of the circuitry of openBCI board, but m currently confused at a point. the output of the arduino will be serial right. now i am asked to use a DAQ to interface parallely with the PC where labview will be used to do the rest of the job. now before the DAQ how should i convert serial data into parallel and dat to channel wise??

    thank u.
  • wjcroftwjcroft Mount Shasta, CA
    edited March 2015
    Plabita6, hi.

    I've merged your LabVIEW question into this existing thread.

    That toolkit directly decodes the OpenBCI serial data format. So I believe you can completely skip the DAQ and parallel port stuff. Just have your Arduino output to the laptop serial port. The toolkit then is configured to read that serial data.

  • hello,
    thanks for your reply wjcroft. but m worried that will the toolkit work with labVIEW 2010? or if i don't use the toolkit then can i do the decoding part myself in labVIEW (the part which the toolkit does!!), or will this make everything too complex. actually, m asked to do every step myself, i mean not using any predefined toolkit.
  • wjcroftwjcroft Mount Shasta, CA
    You just have to try it and see if it works. If you encounter any issues you could contact @Cassani who is the author. He could likely share the source code with you as well. There must be the API's to manipulate serial port data with LabVIEW primitive operations. So if you want to write your own toolkit you could do that. Get some help from Cassani. The parallel approach with the DAQ seems overly complex.
  • Hello plabita6,

    I would like to have more information about what you want to do to help you better.

    1. The EEG circuit you are making, it based in the OpenBCI diagrams to acquire and amplify signals from the electrodes, right?
    2. The DAQ that you mentioned has as inputs analog signals which are digitized and available in LabVIEW environment, ok?
    2a. Can you expand on the DAQ devices you want to use?
    3.
    OpenBCI board does all the process, it acquires signal, amplifies it,
    filters it, digitized and transferred to the PC using a virtual serial
    port. The LabVIEW OpenBCI toolbox, reads that data from the virtual
    serial port and decoded to obtain the signal that were digitized, in
    this sense, there is not need of any other DAQ
  • Great news to hear LabView support is in the works.  There's a few LabView based EEG packages out there.  The name escapes me at the moment, but there was a pretty popular commercial program that used it.

    Does LabView still support building applications?  If so it might be worth it for someone with university connections to buy a license that could be shared by the group over a license key server. 
  • wjcroftwjcroft Mount Shasta, CA
    edited March 2015
    Jake, the LabVIEW toolkit (written by Cassani) is already working with OpenBCI. As a commercial example, Zengar NeurOptimal uses LabVIEW as it's base; it incorporates the Advanced Signal Processing toolkit for algorithms like the Gabor transform.

    The NI license terms for academic use are quite restrictive if you look those over. See some of the previous links in this thread. http://us.ni.com/academic/software


  • edited March 2015
    I guess what I meant to say is that someone with access to a "LabView Application Builder" license can now more easily produce stand-alone programs that we could all use.

    It's a quick route to a polished application interface with powerful signal processing capabilities.  Doing a nice interface is no simple task, even using something like Qt.  Adding in all the signal processing capabilities is an additional layer of complexity.

    LabView is probably a nice shortcut to slick and powerful end user apps.  I'll have to do some checking at my uni.  I'm sure there's a few LabView licenses floating around.  Not sure if they would be served up by a keyserver or are dongle based.  Don't recall ever having to use a dongle though.  I use some LabView apps and have stitched together a few programs in the past, so it's just a matter of beating up the IT department for the info.
  • hello Cassani,

    Thanks a lot for ur concern. firstly, m building the eeg circuit based on the openbci board but not exactly the same. my board has three module,
    1. power ckt
    2. main acquisition ckt (ads1299 and necessary passive components), (ckt diagram as given in openbci)
    3. arduino duemalinove as the main microprocessor.

    now, i guess the o/p of the arduino board will be serial with data packets coming from all the 8 channels which i have to interface with the pc. at this point, prior to interfacing, if i use a DAQ (ni usb 6501) and then interface with the pc, can i demultiplex the serial data into their respective channels by using labview (labview 2010) ?? here, i m stuck...i am new to all hardware stuffs and find even simple info confusing. plz help.

    thanks already.

  • Forget the DAQ.  There is no point in using one on serial data.  They are for acquiring multiple channels of digital data.  You already have acquired and digitized the data into a single serial stream.
  • wjcroftwjcroft Mount Shasta, CA
    Plabita6, I've been assuming that you would use a portion of our OpenBCI code base with your project. The part that talks to the ADS1299 and collects the data; and then serializes it into our OpenBCI packet format. But of course leaving out the code that deals with the RFduino radio modules (since you have a direct serial port interface.

    Using our serial format will allow you to immediately run with all apps and languages that support OpenBCI. Including LabVIEW. If you choose your own odd formatting, then you lose that advantage. Does that make sense?
  • Hello plabita6,

    As JakeStew and William (wjcroft) mentioned, there is no need of using the NI USB6501 device, you already have the digital EEG data as serial stream.

    The flow of EEG data is the following:  The input for ADS1299 is analog EEG data. The ADS1299 converts this analog EEG data into digital EEG data, and transfers this digital EEG data to the Arduino by SPI. Arduino's role is to take this digital EEG data, and pack it into a serial stream that is read by a virtual serial port in the PC. Then the action of the LabVIEW OpenBCI toolkit is:
    1. Read the virtual serial port to get data coming from OpenBCI board
    2. Parse this serial data (decode serial stream) into data for each channel
    3. As result you will have in LabVIEW information of the 8 channels already separated.

    I hope, this explanation helps
     
  • IvanIvan singapore
    Hi, I am still new to the OpenBCI software. What I am been trying to do is converting OpenBCI's raw data to the LabView software. Currently, both OpenBCI and LabView does not go along with each other morphologically. I am using the example that was given in the tutorial ( http://docs.openbci.com/tutorials/01-GettingStarted ). Everything is the same as according to the tutorial. 

    I am using OpenBCI's raw data text files to transfer over to LabView and the text file does not look good to transfer over to the LabView software. 

    Please help! Thanks! 

    image
    image
    image

    Edited: added links to view the pictures

  • wjcroftwjcroft Mount Shasta, CA
    Hi @Ivan, I merged your question into this existing thread on LabView. Please see links above.

    William

    PS we also have a Search box in the right column to locate other relevant threads.
  • Hi @Ivan,

    The idea of the LabVIEW toolkit https://decibel.ni.com/content/docs/DOC-40837 is to communicate the OpenBCI board with LabVIEW without the OpenBCI software.
    This will make the process of having EEG data in LabVIEW very straight forward

    Raymundo 
Sign In or Register to comment.