ThinkPulse active electrodes, Q&A
Hi there -
I've recently assembled an ultracortex with the thinkpulse active electrodes. As far as I can tell, I have wired them correctly according to the instructional video. Ear clips are connected to SRB2 and BIAS. The ear clips themselves seem good with an ohmeter, showing ~3ohms at most. I am definitely receiving signal from the thinkpulse electrodes, but if the ear clips are connected to the ears, the signals are all railed. If they aren't, the signal values are huge (100s- to 1000s of uV), noisy, and do not seem to reflect brain waves (not surprising, but demonstrates that the signal wires are connected). The normal spiky electrodes that come with the ultracortex seem to work ok and report reasonable values; I'm using a cyton board which has been working fine with a wet electrode EEG cap.
I feel l'm missing something here....the documentation suggests that the thinkpulse electrodes should be drop-in replacements and have similar signal ranges. I've connected the power supplies for the electrodes to AVDD and AVSS as instructed in the video via the power supply header board, so I'm not really sure what I'm doing wrong. I've tried fiddling with the channel gain settings in the GUI but that doesnt help with railing. Is there some other wiring or ref/bias connection detail I'm not seeing?
Thanks,
Daniel
Comments
Daniel, hi.
Have you tried emailing directly with the lab in Brooklyn, support at openbci.com. They should have the ThinkPulse actives there available for testing.
Do the ThinkPulse instructions mention any adjustments of the channel gain settings in the GUI? If the 'huge' values you are seeing are "(100s- to 1000s of uV)", it seems like changing from the default scale of x24 would calm that down.
Lastly, have you tried reaching out to Conscious Labs directly?
https://conscious-labs.com/
Whatever you hear back in terms of solutions, please post again here on this thread. Thanks again for being one of the first customers for this innovative product.
Regards, William
Thanks for the speedy replay William!
I had no idea there was a support email, thanks, I've pinged them.
Unfortunately, turning down the gain to 1x on all channels doesn't help.
Also fill out the form on the Conscious Labs website. They are the experts.
Please update this thread with the solution that you find.
I believe that @julienConscious recently joined the Forum, and may comment here. Thanks Julian for any tips.
William
Hi all,
thanks William for your suggestion: Daniel contacted us indeed using the form on our website, I replied with a few basic tests. High gain is probably the reason why it's railed: when using ThinkPulse active sensors with original ear clips for bias/ref, gain should typically be set to X8 or sometimes X12 but the default X24 is often too high and causes saturation due to the higher offset typical of non metal dry sensors. Daniel mentioned trying to set the Gain to 1 which should definitely solve the problem: however, sometimes the hardware settings are not properly registered especially when you switch gain a little too fast while streaming (older versions of the GUI). I'm waiting for Daniel's feedback. We'll let you guys know how it goes and how to solve the issue.
Best.
Julien
Julian, thanks much. Looking forward to Daniel's followup. Perhaps he was trying to change the gain while streaming. When instead the gain needs to be changed before the stream is started.
Can you also comment on how the gain relates to accurate calibration of the actual microvolts measured? Your comment above about x8 or x12 being possible, would seem to imply two different microvolt output readings. How can one get the best gain setting that corresponds to exact microvolt levels? Would it make sense to simultaneously measure another electrode (non active), nearby an active site, with the passive electrode set at the default x24 gain?
Best regards, William
Thanks for your help @julienConscious. The gain setting was indeed not being applied as I expected. I'm running GUI v5.0.2. With lower gain values set before any streaming starts, I get signal that aren't railed. The signals are still much noisier and larger amplitude, even with gain at 1x, than I'm used to looking at with the eeg cap wet electrodes but I'm hoping that is due to the difference in reference points. I would also like to know how I should be computing absolute uV values, as William alluded to.
A couple of additional questions I'm not clear on -
How much pressure should I need to apply to the active electrodes for good signal? I've been testing with very high (almost painful) pressure so far just to ensure contact.
How much hair should I expect these to be able to deal with? My hair is so thick in some places, even with a lot of applied pressure, the soft tips will not reach my scalp. (I am getting signal in this situation, but cant tell how good it is yet.)
Thanks again! Looking forward to many awesome experiments with these; if they prove out, I'll be buying a whole pile of them
Daniel
Daniel, thanks for your update.
re: comb electrodes and hair
Have you tried gently moving the headset back and forth / left and right on your head (or even 'circular' motion), to enable the comb prongs to dig down better closer to the scalp? 'Pressure' alone (as you mention), may not be the key, but rather pushing the hair aside to reach down to the scalp surface.
re: gain influence on actual microvolts readout
I may have misspoken on my previous comment. My understanding is that the gain is set into ADS1299 front end PGA programmable gain amplifier. But that the actual microvolts readout reported by the Cyton, takes the gain into account when reporting microvolts. So even though the gain may be reduced, the ADC 24 bit 'units' to uV conversion, contains gain as a component of the equation.
https://docs.openbci.com/docs/02Cyton/CytonDataFormat#interpreting-the-eeg-data
So what the gain setting actually does, is reduce the lower bound 'range' of what voltage readings are possible. So at lower gains, voltage into higher upper ranges of millivolts are actually possible. While somewhat reducing the low order bits. This is not an issue generally since these are 24 bit samples and at the default x24 gain, the low order 5 or 6 bits of the incoming 24 bit samples are just pure noise. (0.02235 microVolts per count / low order bit.)
Regards, William
Hi all,
@wjcroft As you said, if you do the experiment that you suggest with an extra passive electrode, there should not be any difference.
There is no voltage amplification with the ThinkPulse active sensors: the active circuit only boosts the output current to reduce sensitivity to external noise (which is also limited thanks to shielded cables). The reading is therefore similar with ThinkPulse compared to any passive electrodes.
The gain that one can set for the Cyton board via the GUI is a parameter to adjust to find a good trade-off between input voltage range and resolution and is indeed part of the equation to convert ADU (arbitrary units from the Analogic Front End) to uV. Even with goldcups and gel, or Ag/AgCl electrodes, it might happen that the signal is railed and that the gain of this particular channel should be reduced. According to my understanding, this gain is just a magnification of the signal to increase resolution (which is the minimal difference in microVolts that can be detected between 2 samples) but it should not change the reading of the actual voltage in microvolts. With gain 1 or 24, the amplitude of the signal should be the same, just like when you measure the same voltage on a multimeter with 2 different ranges. The TI ADS1299 used on the Cyton has an input voltage range of +/-4.5V I believe so at gain 1, railing happens when the signal is over 4.5V (pretty unusual for a biopotential measurement!) but railing threshold drops to 187,500 microV when gain is set to x24. A DC offset of several hundreds of mV can definitely happen hence the need to reduce the gain sometimes, with no impact on the reading. So there is no need for additional calibration with the ThinkPulse, they behave just like any other passive electrode.
@dmacd10 Glad you solved the railing issue ! As discussed above, you can read the values straight away, whatever gain you set, in the GUI display or in the text file. Regarding your questions:
As for any type of electrodes, a pretty straight forward way to make sure you have good signal is first to check signal amplitude is definitely under 50uV. Then you can do quick EMG tests: on the pre-frontal channels (usually 1 and 2 if you followed the numbering of the video), make sure you can detect eye blinking clearly, and another test for all the channels, make sure jaw clenching generates a high frequencies and significantly higher amplitude artefact. Next test is Alpha detection when you close your eyes (better be 2 people, or record your session).
Hope this helps.
Best,
Julien
Julien, thanks for your detailed comprehensive answers.
Daniel, since Julien pointed out that a chin strap on the Ultracortex could normalize the pressure seen by all sensors -- here is an excellent material for such strap(s). It's Velcro One-Wrap. Has hooks on one side and loops on the other. Loops side is very soft and will fit under chin. It adheres to itself, so after looping over the frame on both sides, you can pull until tight, then clamp at the appropriate tension. (Giving a half twist before fastening.)
https://www.amazon.com/VELCRO-Brand-ONE-WRAP-Double-Sided-Multi-Purpose/dp/B000078CUB
William
Thanks for the additional tips. I have the sensors working, sort of, but I've run in to the next roadblock: my application uses brainflow, which doesn't seem to allow me to set the gains properly and my signals are again railed. I haven't dived in to the brainflow source yet, but is there a reasonable workaround for this? (Running the OpenBCI gui and serving the data over the network to my app isn't a viable option due to high cpu usage and frequent hiccups and dropouts.)
Regarding the ThinkPulse electrodes themselves, some additional observations I'll mention here:
Daniel, hi.
You can use the Brainflow function,
config_board()
to send the appropriate gain change commands,https://openbci.com/forum/index.php?p=/discussion/2703/sending-cyton-sdk-commands-with-brainflow-resolved
https://docs.openbci.com/docs/02Cyton/CytonSDK#channel-setting-commands
I assume with lower gains, the readings would 'settle' faster.
Hopefully Julien will comment on some of your other questions. I do believe I've seen some alternate octabolts listed. I am not sure the exact thread mentioning this. You may also send a message to Aaron @ThreeForm, the 3D printing designer.
https://github.com/OpenBCI/Ultracortex/tree/master/Mark_IV/DevKit
Regards, William
One other possibility, is to get a larger frame. These are printed in SLS nylon, so are SUPER sturdy.
https://www.shapeways.com/shops/ultrabci
Longer octabolt,
https://www.shapeways.com/product/ZGLKZRPJH/ultracortex-m4-hardware-10bc-octabolt-long?optionId=62698308&li=shops
Hi Daniel,
regarding your observations:
Best,
Julien
Hi gents - Sorry for the long delay in replying to this. My immediate goal with OpenBCI equipment was to aide in healing a concussion and the thinkpulse issues proved too time-consuming to resolve vs just using wet electrodes.
@William- The config_board method was what I needed to send gain settings. Thanks! Unfortunately, some packages such as BrainTrainer don't have a great mechanism for this and I couldn't use the thinkpulse with it.
@Julien - Using the method you described, I was able to get most of the bolts into a reasonable range except for O1 and O2, which will need longer bolts. My head is right at the border between frame sizes so I'm not sure a smaller frame would work either.
For posterity, I had also corresponded with Sam and openbci:
I tried all of this but the signals still didn't seem right, and I didn't want to sink more time in to it.
I've recovered somewhat and am building my own NF R&D platform in Unity3D which will allow me more flexibility. I'll circle back when I have bandwidth again to play with these electrodes. Thanks again for all the help.
Daniel
Hi William,
What is the precise string that needs to be sent with Brainflow's
config_board
to set the gain to x8 instead of x24? I'm running into exactly the same issues previously mentioned in this thread and I can reset the gain in the GUI viaHardware Settings
but I'm not sure exactly what to send in code when working more directly with the board. I would guess, looking at some of the OpenBCI documents, that it isboard.config_board('GAIN_SET 4')
but there are lots of warnings for this function saying not to use it unless you're sure of the correct call to use (which I am not) and I can't see an example anywhere for this specific issue.Thanks,
Alex
Andrey in the OpenBrainTalk Slack channel helped me out and suggested copying the console output from the GUI when sending the change of gain settings manually there. The text file confirmed the commands needed are:
Algmur, hi. The complete set of SDK commands is listed on this page,
https://docs.openbci.com/docs/02Cyton/CytonSDK#channel-setting-commands
William
Hi, I’m wondering if anyone could share their impedance values for the ThinkPulse dry active electrodes with the cyton and daisy 16 channel board on the ultracortex mark IV?
I used to use the dry comb Ag/AgCl electrodes but the impedance on those were extremely high and wanted to check how much better would the ThinkPulse electrodes be.
I’m planning to use it for research so anywhere close to 5kohm will be good.
@yunda, hi.
I merged your new thread on ThinkPulse impedance into this existing ThinkPulse Q&A thread. The ThinkPulse inventor @JulienConscious is on this thread, as well as other users with experience. My impression is that impedance is not of consequence with ThinkPulse, since the pre-amplifier is directly behind the comb. And regarding the passive dry electrodes used with Ultracortex, see the related thread here for typical impedance values.
https://openbci.com/forum/index.php?p=/discussion/2517/expected-impedance-range-with-ultracortex-cyton-resolved
Regards, William
Hi Yunda, Hi all,
As William mentioned, ThinkPulse are active sensors. It means that right behind the electrode, there is a local active circuit which is a voltage follower. When you want to measure electrode-to-skin impedance, you typically connect two similar electrodes to an oscillating current source and calculate the impedance based on the resulting measured voltage. This is not adapted to active sensors since because of the buffer they are not meant to be be used to inject a current from the outside...
However, to give you an idea of the intrinsic impedance of the polymer electrode, the measurements we made on passive ThinkPulse (the active circuit was replaced by a simple conductive board) mounted on the UltraCortex Mark IV are around 50kOhms for flat electrode on the forehead and 200kOhms for spiky electrodes through hair (occipital location). Impedances tend to decrease with time at the beginning. Note that if ThinkPulse are not powered, they simply do not work and can not be used as passive electrodes.
The typical recommended values for clinical applications are around 10kOhms (sometimes even 5kOhms): these are values that can be obtained using metal electrodes with gel after careful skin preparation (cleaning, abrasion, sometimes shaving).
From my understanding, these recommendations are mainly based on the typical input impedance of EEG amp which can sometimes be quite low (around 10MOhms). OpenBCI Cyton uses TI ADS 1299 which has a very high input impedance of 1GOhms if I'm correct. An important parameter to get a good reading and limit noise is actually the ratio between the electrode-to-skin impedance and the amp input impedance. With high input impedance around 1GOhms, in my experience, you can achieve great EEG signal even with electrodes of "high" balanced impedances of a couple of hundreds of kOhms.
Best, Julien
Julien, thanks much for your comment on actives and impedance issues.
For those interested in a discussion (with references and figures) regarding how the 1Gohm ADS1299 input impedance enables higher skin impedance, see this comment:
https://openbci.com/forum/index.php?p=/discussion/comment/13328/#Comment_13328
That comment is part of the previously mentioned thread that discusses nominal / expected skin impedances with the Ultracortex:
https://openbci.com/forum/index.php?p=/discussion/2517/expected-impedance-range-with-ultracortex-cyton-resolved
Regards, William
I'm wondering if anyone has an STL for this longer octabolt?
I have a very simple question: is it possible to use Thinkpulse electrodes with Cyton and WiFi Shield. WiFi Shield is located on the top of Cyton. Looks like you can place Thinkpulse connector on the top of WiFi Shield to get voltage supply to electrodes. However I am not sure that power from Cython + WiFi Shield will be enough for Thinkpulse electrodes. Maybe +2.5v/-2.5v from WiFi Shield will not be enough because WiFi Shield and Cyton take big part of energy. I cannot find instructions on website how to use combination Cyton + Thinkpulse + WiFi Shield together. I afraid to buy expensive Thinkpulse electrodes if it will not work in such configuration. Thanks.
Hi @alexshar, I added your new ThinkPulse question (Wifi Shield compatibility), to this existing ThinkPulse Q&A thread. Where it will be seen by the ThinkPulse developer, Julien.
@JulienConscious, hi. Can you look at Alex's question in the comment above? He is asking if ThinkPulse can be used with a setup that has the Wifi Shield. This Shield board mounts on top of the Cyton, and passes through all signals. Thus it is even compatible with the Daisy add on. Here is an old snapshot of the Wifi Shield page. It is temporarily not in the Shop, awaiting some minor hardware mods. Apparently Alex already purchased previously.
https://web.archive.org/web/20180822092044/https://shop.openbci.com/collections/frontpage/products/wifi-shield?variant=44534009550
Regards, William
Thanks wjcroft, for sharing my question to other threads.
-Alex
Hi Alex, William,
yes it is definitely possible to use ThinkPulse electrodes with Cyton + Wifishield. We have successfully tested that configuration and even Cyton+Daisy+Wifishield (with the pack or a LiPo battery). Each TP electrode uses under 1mA, this is almost negligible compared to the current needed for the Wifi module. And as you mentionned, the Wifishield offers the same +/-2.5V connectors as the Cyton so the ThinkPulse power supply board can be plugged in the same way. Best,
Julien
Hi Julian.
Thank you very much for answer and testing this configuration! Theoretically I expected this answer, but practically sometimes there are hidden problems. Your testing shows there are no problems here. Now I can order ThinkPulse electrodes and try them for my experiments. Thanks a lot.
-Alex
Hi @wjcroft,
I was looking to buy the Thinkpulse active electrodes for my Mark IV Headset. While looking at the documentation, I read that the BIAS should be turned off in the GUI. Does that mean that there will be no ground/bias electrode? What about the common mode noise? Or the differential amps on each channel?
Thanks,
Pietro