OpenBCI / OpenBCI_GUI

A cross platform application for the OpenBCI Cyton and Ganglion. Tested on Mac, Windows and Ubuntu/Mint Linux.
MIT License
708 stars 257 forks source link

Cyton impedance checks incorrect at low resistances #1204

Open philippitts opened 10 months ago

philippitts commented 10 months ago

Problem

Several users on the OpenBCI forum report incorrect values from the electrode impedance widget for Cyton when using resistors of 500kOhms or less. Using resistors of greater than 500kOhms appear to be working as expected.

Expected

The Cyton impedance check widget should reflect the values of resistors used in lab validation configurations. If a resistor is connected between the N port of a channel and SRB2, the widget should show an impedance similar to the value of the resistor.

philippitts commented 10 months ago

Below are a series of tests surrounding the problem space. I connected several different resistors between the negative channel 1 pin and each of the following pins: SRB1, SRB2, Channel 1 positive, BIAS 1, BIAS 2, AGND 1, and AGND 2. I performed these tests with a new Cyton using the default settings (including hardware settings) in the GUI. I used GUI version 5.2.2 with Windows 10.

Below are my setups for each of these configurations.

SRB1

1000008074

SRB2

1000008075

Channel 1 Positive

1000008073

BIAS1

1000008072

BIAS2

1000008071

AGND1

1000008070

AGND2

1000008069


The table below shows the values returned in the OpenBCI GUI Cyton Signal widget for each of the different setups. I waited 5 seconds before recording each test for the value to settle.

Resistor Value Pin GUI Impedance Reading
1000 kOhm SRB1 1013 kOhm
1000 kOhm SRB2 0 kOhm
1000 kOhm 1P 522 kOhm
1000 kOhm BIAS1 ~400 kOhm (dropping)
1000 kOhm BIAS2 ~250 kOhm (dropping)
1000 kOhm AGND1 973 kOhm
1000 kOhm AGND2 973 kOhm
Resistor Value Pin GUI Impedance Reading
680 kOhm SRB1 0 kOhm
680 kOhm SRB2 825 kOhm
680 kOhm 1P 373 kOhm
680 kOhm BIAS1 ~300 kOhm (dropping)
680 kOhm BIAS2 ~150 kOhm (dropping)
680 kOhm AGND1 715 kOhm
680 kOhm AGND2 715 kOhm
Resistor Value Pin GUI Impedance Reading
470 kOhm SRB1 2510 kOhm
470 kOhm SRB2 0 kOhm
470 kOhm 1P 256 kOhm
470 kOhm BIAS1 30 kOhm (dropping)
470 kOhm BIAS2 4 kOhm (stable)
470 kOhm AGND1 479 kOhm
470 kOhm AGND2 479 kOhm
Resistor Value Pin GUI Impedance Reading
51 kOhm SRB1 2450 kOhm
51 kOhm SRB2 0 kOhm
51 kOhm 1P 28 kOhm
51 kOhm BIAS1 ~80 kOhm (dropping)
51 kOhm BIAS2 15 kOhm (dropping)
51 kOhm AGND1 53 kOhm
51 kOhm AGND2 55 kOhm

General observations:

wjcroft commented 10 months ago

Phil, thanks!

Seems pretty certain that SRB2 should be the pin used, in normal EEG applications. And that SRB2 PREVIOUSLY worked with the original ADS1299 register settings. Which is confirmed on this page,

https://openbci-stream.readthedocs.io/en/latest/notebooks/A2-electrodes_impedance.html

So hopefully this is an easy fix.

Thanks everyone.

retiutut commented 6 months ago

https://openbci.com/forum/index.php?p=/discussion/3790/high-impedance#latest

philippitts commented 6 months ago

Additional testing with different versions of the GUI:

GUI v5.0.0 👍 Resistor Value Pin GUI Impedance Reading
51 kOhm SRB1 197 kOhm
51 kOhm SRB2 48.9 kOhm
51 kOhm 1P 48.9 kOhm
51 kOhm BIAS1 ~40 kOhm (unstable)
51 kOhm BIAS2 0 kOhm
51 kOhm AGND1 0 kOhm
51 kOhm AGND2 0 kOhm
GUI v5.0.6 👍 Resistor Value Pin GUI Impedance Reading
51 kOhm SRB1 0 kOhm
51 kOhm SRB2 48.8 kOhm
51 kOhm 1P 49 kOhm
51 kOhm BIAS1 0 kOhm
51 kOhm BIAS2 0 kOhm
51 kOhm AGND1 0 kOhm
51 kOhm AGND2 0 kOhm
GUI v5.0.8 👍 Resistor Value Pin GUI Impedance Reading
51 kOhm SRB1 0 kOhm
51 kOhm SRB2 48.8 kOhm
51 kOhm 1P 49 kOhm
51 kOhm BIAS1 0 kOhm
51 kOhm BIAS2 0 kOhm
51 kOhm AGND1 0 kOhm
51 kOhm AGND2 0 kOhm
GUI v5.0.9 👎 Resistor Value Pin GUI Impedance Reading
51 kOhm SRB1 0 kOhm
51 kOhm SRB2 511 kOhm
51 kOhm 1P 27 kOhm
51 kOhm BIAS1 ~16 kOhm
51 kOhm BIAS2 ~21 kOhm
51 kOhm AGND1 ~62 kOhm (unstable)
51 kOhm AGND2 ~64 kOhm (unstable)
GUI v5.1.0 👎 Resistor Value Pin GUI Impedance Reading
51 kOhm SRB1 ~2400 kOhm
51 kOhm SRB2 0 kOhm
51 kOhm 1P 57 kOhm
51 kOhm BIAS1 ~30 kOhm
51 kOhm BIAS2 ~2 kOhm
51 kOhm AGND1 ~53 kOhm
51 kOhm AGND2 ~53 kOhm
GUI v5.2.0 👎 Resistor Value Pin GUI Impedance Reading
51 kOhm SRB1 516 kOhm
51 kOhm SRB2 2450 kOhm
51 kOhm 1P 27.7 kOhm
51 kOhm BIAS1 ~75 kOhm
51 kOhm BIAS2 ~75 kOhm
51 kOhm AGND1 ~70 kOhm
51 kOhm AGND2 ~70 kOhm

The problem appears to have been introduced in v5.0.9