questions on Cyton timestamps and Python data stream access

jrseojrjrseojr Seoul, Korea
edited July 2021 in Cyton

Hi,
Recently, I bought a Cyton board and other parts for my research. (Previously, I used Muse (V.2014)).
I tried to collect data by combining OpenBCI-GUI and my content stimulation system.

For detail,
1. Enable OSC data stream from OpenBCI-GUI.
2. My system receives the OSC packet and saves data (with timestamp).

The reason for a little bit complex approach is that I wanted to separate data by stimuli that participants watched, precisely.

Unfortunately, I identified a quite unstable sampling rate. Therefore, I reviewed some articles in this forum (https://openbci.com/forum/index.php?p=/discussion/2329/how-steady-is-cytons-sampling-rate-resolved).
Following to the article, I tried to use pyOpenBCI (https://github.com/openbci-archive/pyOpenBCI). As a result, I could not know the reason, I could not collect Accelerometer data (even if I sent a command to the board).

OpenBCI supported BrainFlow; thus, I tried to use BrainFlow either (https://brainflow.org/).

When I followed and debugged sample codes, BrainFlow does not provide a single data. It only provides a bundle of data without timestamps.

May I know a way for collecting data by single data?

Thanks for reading this long discussion, would you please give a precious idea?

Comments

  • retiututretiutut Louisiana, USA
    edited July 2021

    Hi there,

    The sampling rate of the Cyton is very stable. Please understand this before moving forward. We are all always learning, but it's best to share facts to make sure we are all on the same page.

    Here are some important points to consider carefully:

    • pyOpenBCI is deprecated.
    • OSC is not a reliable means of transmitting and saving data with timestamps, due to the limitations and specifications of OSC protocol, by design. In the GUI, sending data out over OSC is just an extra step past receiving data via BrainFlow Java, which makes it easy to prototype creative solutions in a variety of domains such as art, music, and education. Such a setup is not ideal for time-locked experiments. https://en.wikipedia.org/wiki/Open_Sound_Control
    • BrainFlow is the most reliable way to receive data from an OpenBCI device
    • You can join the BrainFlow slack to speak with the creator of BrainFlow and ask about getting started with the examples.
    • Here is a better example of how to achieve a time-locked experiment using visual stimuli by using the Aux pins on the Cyton https://docs.openbci.com/Examples/VideoExperiment/. This uses a photodiode to establish a trigger directly in-line with the data from the Cyton itself.
    • Using software alone, here is an example of the new "Marker Mode" in BrainFlow https://brainflow.readthedocs.io/en/stable/Examples.html#python-markers

    Hope this helps,
    RW

  • jrseojrjrseojr Seoul, Korea

    @retiutut
    Thank you for giving the answer!!
    Well... Because of my previous EEG sensor, I may be too much familiar with OSC things.
    My issue may be solved soon!
    Cheers
    J

  • retiututretiutut Louisiana, USA
    edited July 2021

    @jrseojr

    You're welcome! You can continue to ask additional questions about your setup here in the Forum on this thread. Go through the points I mentioned first and see which direction you would like to go.

    We are here to help!

Sign In or Register to comment.