Author |
Message |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: May 30, 2018 11:10 PM Post subject: Problems using OpenBCI |
|
So i am playing with my OpenBCI device that i got some time ago when the initial kickstarter project finished.
I am using a trial version of BioEra.
I have installed the FTDI driver, OpenBCI_HUB and OpenBCI_GUI and can get the data stream from the OpenBCI_GUI with no problem. The device works and transmits the data into the GUI via the original BT dongle.
Now, i create a simple design (as it is advised on the openbci website) of: FTDI_Serial_Port -> F_OpenBCI -> F_Osciloscope
And nothing happens. I can't see any data coming from OpenBCI on the Osciloscope screen.
In the FTDI element properties i tried setting port number as AutoDetect and using the actual port number that i successfully used in OpenBCI_GUI.
I also tried Pacman design. Before starting the design, i went to Tools - > Device selection and chose OpenBCI as my device. Selected the appropriate port number as well. After a few seconds i get a message: "No data detected from device: OpenBCI".
What am i missing? |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: May 31, 2018 8:30 AM Post subject: |
|
Jarek,
To quote William from OpenBCI team, "the original Kickstarter offered TWO boards, both of which use the same serial port protocol as the current Cyton". I think, i have the one with 32 bit processor. Later, when they added a 4-channel board, they started calling an 8 channel board Cyton and the 4 channel board was given a name Ganglion.
As per William's comment, i am using an original board which supports the same protocol as Cyton.
When i first connected the OpenBCI dongle to my Windows 7 machine, the serial port was NOT installed automatically. I had to go to the FTDI web site and download the necessary driver. I also had to download an earlier version of both HUB and GUI, since the latest version froze or terminated just after the start. But i managed to have them working and i can get the data stream from the GUI.
When in BioEra, i tried leaving the OpenBCI_HUB both running and closed. Still didn't have any input from it.
Any other info i can supply you with? |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: May 31, 2018 8:34 AM Post subject: |
|
Oh, and i tried using "Ganglion" as the device as per the manual. |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
Posted: May 31, 2018 3:00 PM Post subject: |
|
I assume you use the usb dongle which came with the board.
And I assume you set the switch to PC position on the cyton board?
This is the cyton board which works for me with OpenBCI element: https://shop.openbci.com/products/cyton-biosensing-board-8-channel?variant=38958638542
Make sure NO other software (like HUB or GUI) is running.
Do you see more than 1 serial port in Device Manager?
Do you see any messages on the console (start BioEra with console)? |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: May 31, 2018 3:37 PM Post subject: |
|
I use dongle which came with the board, switch set to "PC" - check.
Here is a pic of my board and dongle:
https://ibb.co/g19UCd
No other software is running.
I see several ports, yes. I know which of them is the USB dongle by plugging it in and out. Other ports are not FTDI, i believe. Anyway, here is the pic:
https://www.screencast.com/t/YJd2ZLjk
----
I opened the midi.bpd example and here is what i get in console:
Here is what i see in the console:
***************** BioEra 4.027 is started ***************** Loading design: C:\Program Files (x86)\BioEraTrial\design\examples\Midi.bpd on Windows Deactivated element: Navigation\nslider(761812) cause: File source not set in the DeviceSet connected to input DeviceSet found in the design Deactivated element: Navigation\nslider(761812) cause: File source not set in the DeviceSet connected to input DeviceSet - started device: F_OpenBCI(762770) Warning: element Navigation\nslider(761812) not started, because it wasn't initialized correctly, true true Deactivated element: Navigation\nslider(761812) cause: File source not set in the DeviceSet connected to input DeviceSet - started device: F_OpenBCI(762770) Warning: element Navigation\nslider(761812) not started, because it wasn't initialized correctly, true true
Here is a pic how the device is setup in Tools->Device Setup:
https://ibb.co/haa2DJ
-----
Then i tried FTDI -> OpenBCI -> Osciloscope design:
Here is the screencast of the process: http://www.youtube.com/watch?v=pcN2Ms16nPc |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
Posted: May 31, 2018 3:56 PM Post subject: |
|
Please try the design I created for you earlier:
http://proatech.com/design/openbci.bpd
Another idea would be to try to disable all other COM ports (in case one of them is indeed FTDI). |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: May 31, 2018 8:51 PM Post subject: |
|
Still no data from the board.
Disabled all the other COM ports in device manager as well.
BTW, this time i am trying it on Windows 10 machine. The dongle was detected automatically and Windows installed the drivers by itself. |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
Posted: Jun 1, 2018 2:18 AM Post subject: |
|
So this is unusual. Lets try it without ftdi element.
http://proatech.com/design/openbci_noftdi.bpd
Load this design, open properties of the SerialPort element and you should see there only your port listed (assuming you disabled others). Or set it manually if you see more than one. |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Jun 1, 2018 7:53 AM Post subject: |
|
Pacman design works nicely with my Neurobit Optima 2. |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Jun 1, 2018 11:09 PM Post subject: |
|
Jarek,
What version of firmware is installed on your board? I haven't updated mine. |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
|
 |
wjcroft
Joined: Jul 30, 2008 Posts: 15
|
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Jun 3, 2018 2:51 PM Post subject: |
|
Jarek, William, would you recommend upgrading firmware? The process, at least from the first looks, seems a bit cumbersome and easy to screw up ) |
|
 |
wjcroft
Joined: Jul 30, 2008 Posts: 15
|
Posted: Jun 3, 2018 5:30 PM Post subject: |
|
Arty, I would hold off on your firmware upgrade until you resolve what is going on. You know your Cyton works with the OpenBCI_GUI, so should work with BioEra. And you know your BioEra works with your Neurobit. My guess would be something weird with your OS or usb setup. But you even tried on another laptop. Mysterious. |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Jun 14, 2018 8:48 PM Post subject: |
|
Yes, today i even tried on a completely different machine with Windows 10 Pro x64 installed. Still, no success.
Previously, i used one PC with two systems installed on different hard drives: one was Windows 10 x64 LTSB and another one Windows 7 x32. I had a hope, that something was wrong with ports or hardware setup, that interfered with how BioEra supposed to communicate with Open BCI.
For it to work, i only need drivers for the original OpenBCI dongle installed (which are installed automatically by Windows when inserted) and a running copy of BioEra, correct? Am i missing any other procedures? For example, before Neurobit can be used, it should be paired as a bluetooth device in Windows. Maybe, something similar is necessary? |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
Posted: Jun 14, 2018 9:01 PM Post subject: |
|
William, do you know if firmware V0 is different enough from V1 (and later) that it might not be compatible with BioEra?
I have not had a chance to try a device with it. |
|
 |
wjcroft
Joined: Jul 30, 2008 Posts: 15
|
Posted: Jun 14, 2018 10:25 PM Post subject: |
|
"William, do you know if firmware V0 is different enough from V1 (and later) that it might not be compatible with BioEra? "
Jarek, hi. Thanks again for your stellar tech support, and the constant enhancements to BioEra.
There have only been three main versions of the firmware: V1 which shipped on the original Kickstarter boards and the one you have, and Arty has as well. V2, which stabilized and added a bunch of features. And V3 which added a few more features, Wifi Shield compatibility, etc.
I have two Cytons here, an early one with V1 firmware, and the 2nd board has V2 firmware. Both of these work with my BioEra. And V3 uses the same command / data stream, so it is backward compatible as well.
What is striking, is that Arty's board / dongle works fine with the OpenBCI_GUI.
Could it have something to do with the Trial version Arty is using, might be subtly different than the dongle version? But Jarek has probably investigated this already I'm sure. |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
Posted: Jun 14, 2018 10:40 PM Post subject: |
|
Yes, I did try my Cyton with the Trial version, it works well here.
Trial version is no different than full version (except for a few artificial limitations, nothing related to serial port or device drivers). |
|
 |
wjcroft
Joined: Jul 30, 2008 Posts: 15
|
Posted: Jun 14, 2018 10:59 PM Post subject: |
|
One other data point I should mention. In the years since the release of the Cyton, very rarely on the forum, a user will mention some oddity that is happening with his mainboard or dongle. And then when they reflash the firmware, the glitch disappears.
So from seeing some of these cases, it's not beyond the realm of possibility, that some subtle corruption has happened to the chipKIT / PIC32 flash memory on Arty's mainboard or the RFduino's (2 of them, in dongle and mainboard). Such that the GUI still works, but BioEra is failing.
That seems far out I know. Especially since the command bytes and data stream should be the same for both the GUI and BioEra.
----
The conundrum is, that upgrading from V1 to V2 has been known to frustrate some users. Because the process involves a carefully sequenced upgrade of all three processors.
----
It's also possible that the V1 Cyton that Jarek and I have, might have slightly different rev level firmware than Arty's. It might be worthwhile to first try just reflashing the V1 PIC32 / chipKIT mainboard processor. This can be done in a shorter amount of time because you don't need to mess with RFduinos.
http://docs.openbci.com/Hardware/05-Cyton_Board_Programming_Tutorial#cyton-board-programming-tutorial-firmware-version-1xx-2014-fall-2016 |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Jun 16, 2018 1:50 PM Post subject: |
|
I hope Jarek doesn't mind going slightly off topic.
So, i downloaded the Arduino 1.8.5, installed the chipKit files. OpenBCI appeared in the Tools->Board menu. Now, the manual doesn't precisely state where to get the firmware v 1.0. From following the instruction, i guessed that i should get it from github. I downloaded it from here: https://github.com/OpenBCI/OpenBCI_32bit_SD/releases/tag/v1.0.0
Then i created "libraries" subfolder in my Arduino folder and put the downloaded library in it. After that, if i am following the instruction correctly, the manual asks to open the File->Sketchbook dropdown menu and choosing the OpenBCI_32 sketch in there. Unfortunately, there is no dropdown list in that menu. Howerer, i can find OpenBCI_32_SD in Sketch-Include Library submenu. Since it is not exactly what i am told to do in the manual and i am not exactly sure what i am doing, i decided to check if i am following the instructions correctly.
The other steps like switching to bootloader mode and uploading the firmware seem very easy. If only i knew how to feed the necessary firmware into the tool. |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Jun 17, 2018 1:00 AM Post subject: |
|
Ok, i found the answers for those questions by myself, went through the whole reflashing procedure facing some problems. Basically, i had to found the correct version of ChipKIT libraries through the forum search. Also, i had to downgrade Arduino to 1.6.5, otherwise it wouldn't compile.
And...
It now works :) openbci.bpd design nicely reacts to my touching the connectors on the board.
Jarek, William, thank you both for your help and patience. |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
Posted: Jun 17, 2018 1:27 AM Post subject: |
|
Fantastic! Thanks for letting us know :-). |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Oct 11, 2018 6:53 PM Post subject: |
|
Jarek, William,
I was finally able to test it in the real life. I mean, to see the signal i can get from my head's surface with actual electrodes applied to it.
From what i can see in BioEra, i am getting a very low level, low quality signal. Here is the video:
https://www.screencast.com/t/wJz9B61tBP
On this video, i applied electrodes to P3/P4 sites using the cap with gel. Ground is on the left ear clip and SRB is on the right clip.
I saw previously that i was getting a lot of 50Hz interference and tried to notch it out. Not sure if i succeeded. As you can see from the video, the signal has to be magnified big time to be seen.
https://www.screencast.com/t/fQ7ObGUC
On this video i am using F3/F4 sites, with the same gel and cap. On top of it, i prepped the sites to make the connection better. I am not using notching in this example. Still, not the best signal i have seen.
Here are two examples of the same sites with notch applied and without notch filter in OpenBCI GUI:
P3-P4 - https://www.screencast.com/t/Ap3wpV5mkNP
F3-F4 - https://www.screencast.com/t/5Hdh6TIz (no notch)
So, the signal, although looks clearer, is of low amplitude - the highest i can see on the spectrogram is only 1 uV which is kinda small.
A photo of the hookup: https://www.screencast.com/t/Ld9XiuR0EwSc
As you can see, cables are connected to the pins closer to the board. Blue and Green are used for signal, white and black are ground and reference. Two other cables are just hanging for a possible 4 channel connection (not attached to the scalp during the tests shown on video).
Electrodes are sintered silver. The work nicely with QDS Quantum and Neurobit Optima.
What am i doing wrong? |
|
 |
jarek
Joined: Oct 22, 2007 Posts: 1056
|
Posted: Oct 11, 2018 7:09 PM Post subject: |
|
I noticed that you mix scalar and float elements. It might be better to stick with only one type in the same design, I would recommend Float (unless there is no option to do so, like with FTDI serial port element). |
|
 |
wjcroft
Joined: Jul 30, 2008 Posts: 15
|
Posted: Oct 11, 2018 7:42 PM Post subject: |
|
Arty, hi.
With the ADS1299 ADC in the Cyton, you want to remove the DC offset, which will mess with your autoscaling and such. The easiest way to do this is just apply a bandpass filter, say from .5 hz to 45 hz, to your input signals. Then you can also forget about the odd notch thing you have wired up.
The ILF (Infra-Low Frequency) components of the EEG are very high in amplitude (millivolts vs microvolts). They are used in some newer forms of neurofeedback such as the Othmer's Cygnet. Here's a bit more,
http://openbci.com/forum/index.php?p=/discussion/201/large-millivolt-data-values-fbeeg-full-band-eeg/
I would also second Jarek's recommendation and use all float elements in your designs.
Regards, William |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Oct 12, 2018 4:03 PM Post subject: |
|
Hey!
Thank you for your quick responses, guys. Appreciate it.
Here are a few examples of following your advice:
https://www.screencast.com/t/Oxrrnjbgou - float objects only, bandpass filter as per William's advice.
https://www.screencast.com/t/ALFGRgNr - float objects only, notch filter using Expression Evaluator. Basically, i am subtracting 50Hz band from the main signal. Stole this idea from one of George Martin designs.
Does this signal look trainable? |
|
 |
wjcroft
Joined: Jul 30, 2008 Posts: 15
|
Posted: Oct 12, 2018 6:17 PM Post subject: |
|
Arty, hi.
The first example with the bandpass filter, 2 to 45 hz is ok. 2 Hz is a bit high, you are missing some delta there. .5 hz is what people usually go with. You can also experiment with the filter order and type, look at the filter skirts to see if they have the sharpness you need.
I would drop the autorange. What you want instead is perhaps a manual control slider that lets you adjust the range between say 60, 80, 100 microvolts. Per your situation. With your setup and the scale bouncing around constantly you can't get an impression of what is really happening.
---
Regarding the second video, as I mentioned, you must remove the DC offset. This video does not do that, hence your signal is in the millivolts range. The easiest way to remove the mains 50 hz is with a bandpass.
---
George Martin, I believe, has some designs for OpenBCI, ask him.
Regards,
William |
|
 |
StabMe
Joined: Jul 29, 2016 Posts: 34
|
Posted: Oct 13, 2018 6:17 AM Post subject: |
|
Already deep into the training:
https://www.screencast.com/t/BHbnUPdX90
The signal looks very thin, impedances are at about 10-15KOhms.
The strange thing is that i am getting a bit different values in terms of Theta/Beta ratios and other metric than those from QDS amp. Will delve into this.
The signal looks a lot better.
Thank you for your support, Jarek and William!
----
As for George Martin - yeah, bought a few designs from him. A great guy. |
|
 |
angel61606
Joined: Jul 8, 2020 Posts: 106
|
Posted: Nov 8, 2021 8:03 PM Post subject: |
|
Hi here in this page i saw that stabMe mentioned using notch filter "https://www.screencast.com/t/ALFGRgNr - float objects only, notch filter using Expression Evaluator. Basically, i am subtracting 50Hz band from the main signal. Stole this idea from one of George Martin designs." My question is how this notch filter was implemented and how was this better than regular notch filter? |
|