documentation for API to read from OpenBCI devices / showcase projects?

edited April 2019 in Software
I apologize if this is the wrong forum or if this is a redundant series of questions. I spent about an hour reviewing the documentation and browsing the website before coming forward and asking for help. 

The short version is that I am a professional software engineer that is hoping to harness the power of openBCI for personal projects. However, I have some questions that are preventing me from stepping forward. 

Is there an API which exists that allows a programmer to access the data received from the hardware (the headset reading the EEG, Heart rate data, etc.)? If so, what datatype does it come in (JSON? Integer? etc.). Does it have documentation? I see that there is code in the github repository that displays data graphically in a GUI, but it's kind of not obvious if you guys have tools that allow me to access this data for my own purposes or if I'd have to build my own. 


As an aside, I'd prefer to work with Java, but the only Java resource I see points to a GUI that is depreciated. Are there others I just haven't found yet? Or is Python kind of the gold standard we're using here?

Side question : 
Is there an updated list of successful openBCI projects? Does this community sponsor or have some kind of resource as to where I can find conferences / calls for papers related to openBCI technology? 

Thanks for your time and patience.

Comments

  • wjcroftwjcroft Mount Shasta, CA
    edited April 2019
    Modus, hi.

    Do you want to read the devices in realtime, or just process the data that was recorded? For recording, the OpenBCI_GUI app can record the data as a CSV text file, or in some other formats. For realtime there are several ways to do this. As you say the OpenBCI_Python repository provides a way to read in realtime, then signal processing can be done in various DSP Digital Signal Processing libraries available for Python.

    Another way to go is to tell the GUI (via the Networking widget control panel in the GUI), to output a data stream in the LSL LabStreamingLayer format. This then can be consumed by APIs in various languages, including Java.


    ----

    As far as a page listing example OpenBCI projects, see,


    You can also use the search button (bottom of right column here in the forum), to search all portions of the OpenBCI.com website, including forum and community pages.

    There are many BCI resources on the web, and annual conferences. OpenBCI has sponsored Hackathons in the past. BCI is actually a huge field, try some searches,


    Regards,

    William

  • wjcroftwjcroft Mount Shasta, CA
    If you are interested in the lowest level specifications for the data streams, they are listed here as SDKs, or APIs,


    But if you do some searches on the forum here, you can find various apps or libraries that read these streams. What kind of application are you interested in, that might narrow down the existing apps.
  • wjcroftwjcroft Mount Shasta, CA
    NeuroTechX is also a great resource, with a newsletter, local Meetups, Hackathons, Slack channel, etc.

  • wjcroft,


    I just wanted to pop by and thank you very much for your patient and thoughtful replies. This information is very helpful.

Sign In or Register to comment.