OpenBCI_GUI 5.0 Serial Port
nejemia
argentina
in OpenBCI_GUI
Hello.
I would like to have the possibility of using OpenBCI_GUI ver. 5.0 with direct serial connection WITHOUT RFDuino dongle. The previous versions up to 4.20 did it quite well, however, it seems to me the version 5.0 establishes certain dialog with the Dongle itself and this is what I want to override.
Not having the Electron Hub is a great advantage!
Any directions on this will be appreciated.
All the best.
Nelson
Comments
GUI v5 uses BrainFlow backend, which is open-source.
You are free to modify both BrainFlow and GUI code. Here is a link to the C++ backend code for Cyton:
https://github.com/OpenBCI/brainflow/blob/master/src/board_controller/openbci/cyton.cpp
Hope this helps,
RW
Thanks a million.
I just checked the BrainFlow side of my problem but I need to modify the Processing sketch to allow the OpenBCI_GUI to detect my COM port even if it is NOT connected to the RFDuino, but connected to my standard USD-Serial adaptor.
Version 4.0 using the Electron HUB allows me to select (p.e) COM7 as my Serial Com port while I have COM7 attached to a standard USB/Serial adapter, and does not requires RFDuino dongle.
However, OpenBCI_GUI version 5.0 based on js does not "see" any COM port UNLESS it has attached the RFDuino dongle.
How do I allow the Version 5.0 to select my COM7 attached to a standard USB-Serial adapter.
Thanks again !!
Nelson
In Control Panel, there is a method
getCytonComPorts()
:https://github.com/OpenBCI/OpenBCI_GUI/blob/b1b03c5549fa0448a91c8ee3b605e5f83e63cc84/OpenBCI_GUI/ControlPanel.pde#L1378
Here is the line of code that gets the names of the available com ports from the operating system:
So you could do:
And add your desired com port to
final String[] names = {"FT231X USB UART", "VCP"};
Hope this helps,
RW
Thank you.
Worked like a charm!
All the best.
Nelson
Dear All. Hope everything is going well. In Argentina situation is not improving, so far.
Let me ask:
1)the new option in OpenBCI_GUI Version 5.0.1 shows a new option STREAMING (from external). Where can I see the protocol required to use with CYTON boards in order to use this very interesting option?
2) Is it possible to adjust the Serial Port baud rate to 230400 bps in the OpenBCI_GUI AND in CYTON firmware? Note: I am NOT using RFDuino for this testings.
All the best, Nelson
STREAMING Board accepts an OpenBCI Board coming from a separate process (Example: BrainFlow example Python sketch).
You may need to modify the the Cyton firmware, BrainFlow, and/or GUI to increase communication rate.
@wjcroft Do you have any other advice for this user?
Richard, hi. Is the STREAMING protocol documented anywhere? For example, what is the format of the stream? LSL, Brainflow, etc. If it is Brainflow, is there example code that outputs a stream? Most of the Brainflow tutorials are covering RECEIVING from a board and doing signal processing in that code. These examples are not sending out a stream(?)
re: serial port baud rate. There are other threads regarding wired usb that can be found with the Google Advanced Search button.
STREAMING Board is not documented yet, and is an advanced feature used in testing and development.
Here is the Streaming Board documentation from BrainFlow: https://brainflow.readthedocs.io/en/stable/SupportedBoards.html#streaming-board
I have made an issue to add this information to the Docs: https://github.com/OpenBCI/Documentation/issues/34. Hope to resolve this soon!
Dear all:
I am running comparison between OpenBCI CYTON and commercial EEG unit.
The preliminary results shows that sensitivity of CYTON is very low compared to commercial unit.
My question is:
The A/D conversion done by ADS requires a calibration in uV per Sample.
Assuming I set GAIN x24 there is a variable in BoardCyton.pde
static final float ADS1299_Vref = 4.5f;
static final float scale_fac_uVolts_per_count = ADS1299_Vref / ((float)(pow(2, 23)-1)) / ADS1299_gain * 1000000.f;
Is there any other place where calibration is done?
I did not see nothing on Cyton Firmware, so I assume Cyton sends raw values to OpenBCI_GUI.
Next. This formulae used for calibration is based on TI ADS datasheet? I did not found it...
Does it make any sense to you the low sensitivity of Cyton compared to commercial unit or it is just a lack of calibration at the GUI side?
Thank a lot.
Nelson
Jeremy Frey, PhD, found that Cyton compared very favorably regarding sensitivity to a direct comparison with a g.tec high end medically certified amplifier for EEG usage.
https://arxiv.org/pdf/1606.02438.pdf
In the latest GUI, there is a button near the filter buttons that allows users to choose between two gain conventions "Body" and "Classic":
Can you clarify, the Cyton you refer to is one manufactured by OpenBCI with our unaltered firmware. Or is this the clone you have manufactured?
i am using original board bought from OpenBCI with original dongle.
And your comparison between the "commercial EEG unit", is with EEG or ECG? Who is the manufacturer / model of the unit? The g.tec company is highly respected in the BCI arena. An Austrian company, that also sponsors BCI conferences and hackathons, etc.
https://www.gtec.at/product/
https://www.gtec.at/product/webinars/
The comparison is based on Argentinian units that are used in public hospitals and clinics as the gold standard.
Brand name ATI.
However, i will go over Dr. Frey's paper and double check the gain settings as well as filters.
During my own lab testings, CYTON showed a quite fantastic performance.
My guess is: configuration and settings.
Will keep you informed.
The process is extremely slow due to Covid 19...
All the best.
Nelson.
Dear All:
In which .pde is the code
if (currentBoard instanceof ADS1299SettingsBoard) {
double scaler = (4.5 / (pow (2, 23) - 1) / 1.0 * 1000000.);
if (((ADS1299SettingsBoard)currentBoard).getUseDynamicScaler()) {
scaler = (4.5 / (pow (2, 23) - 1) / ((ADS1299SettingsBoard)currentBoard).getGain(channel) * 1000000.);
}
I would like to have the GUI starting with "Gain Conv\nBody uV" by default.
Thank you so much !
nelson
You can find code in question in
Extras.pde
in theDataStatus
class in GUI v5.0.1.We are about to make "Body uV" the default gain mode. Will be coded/merged soon. Just discussed today.
Also, I hope you are using Visual Studio Code or Atom instead of Processing. Makes it easier to read and type. https://github.com/OpenBCI/OpenBCI_GUI/wiki/Developer-Setup