<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Cyton — OpenBCI Forum</title>
        <link>https://openbci.com/forum/index.php?p=/</link>
        <pubDate>Sat, 18 Jul 2026 14:55:00 +0000</pubDate>
        <language>en</language>
            <description>Cyton — OpenBCI Forum</description>
    <atom:link href="https://openbci.com/forum/index.php?p=/categories/cyton/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Cyton Board + Cyton Radio Dongle Cannot Connect After Long Storage — Firmware v1.0.0 Issue?</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4134/cyton-board-cyton-radio-dongle-cannot-connect-after-long-storage-firmware-v1-0-0-issue</link>
        <pubDate>Sat, 30 May 2026 17:20:56 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>nugroho_budi</dc:creator>
        <guid isPermaLink="false">4134@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<h1>Cyton Board + Cyton Radio Dongle Cannot Connect After Long Storage — Firmware v1.0.0 Issue?</h1>

<p>Hello OpenBCI community,</p>

<p>I would like to ask for help troubleshooting an old <strong>Cyton Board with Cyton Radio USB Dongle / RFduino</strong>.</p>

<p>I am using an <strong>Ultramark III system with a Cyton Board and Cyton Radio dongle</strong>. This equipment was purchased for our laboratory before 2018 by my late friend. I am now trying to use it again for my research.</p>

<h2>Background</h2>

<p>The last time I successfully used this system was around <strong>July 2018</strong>. At that time, I believe I was using <strong>OpenBCI GUI v3.4.0</strong> on Windows. If I remember correctly, there were two executable files: OpenBCI Hub.exe and OpenBCI.exe.</p>

<p>At that time, the software and hardware worked well, and I was able to record EEG data.</p>

<p>However, in <strong>2026</strong>, when I tried to use the system again, I could not connect to the Cyton Board and could not record any data.</p>

<h2>Main Problem</h2>

<p>The OpenBCI GUI can detect the <strong>Cyton Radio USB dongle</strong>, but it cannot connect to the <strong>Cyton Board</strong>.</p>

<p>The main warning/error message is:</p>

<pre><code>[WARN]: Found a Cyton dongle, but could not connect to the board. Auto-Scanning now...
CytonAutoConnect: Error reading from Serial/COM port
[ERROR]: Unable to connect to Cyton. Please check hardware and power source.
</code></pre>

<h2>Complete Console Log</h2>

<pre><code>Console Log Started at Local Time: 2026-05-30_10-39-37
Screen Resolution: 1680 X 1050
High-DPI Screen Detected: true
Operating System and Version: Mac - 26.5
MacOS Details: MacOS Catalina
JVM Version: 17.0.6
Welcome to the Processing-based OpenBCI GUI!
For more information, please visit: https://docs.openbci.com/Software/OpenBCISoftware/GUIDocs/
OpenBCI_GUI::Setup: GUI v6 Sample Data exists in Documents folder.
Settings: LogFileMaxDuration = 60 minutes
OpenBCI_GUI::Settings: Found and loaded existing GUI-wide Settings from file.
ControlP5 2.3.6 infos, comments, questions at https://github.com/retiutut/controlp5
TopNav: Internet Connection Successful
Local Version: v6.0.0-beta.1, Latest Version: v6.0.0-beta.1
GUI is up to date!
Unpacking to: /Users/nugrohobudi/Library/Caches/JNA/temp/libGanglionLib.dylib
Unpacking to: /Users/nugrohobudi/Library/Caches/JNA/temp/libneurosdk-shared.dylib
Unpacking to: /Users/nugrohobudi/Library/Caches/JNA/temp/libsimpleble-c.dylib
Unpacking to: /Users/nugrohobudi/Library/Caches/JNA/temp/libMuseLib.dylib
Unpacking to: /Users/nugrohobudi/Library/Caches/JNA/temp/libBrainBitLib.dylib
Unpacking to: /Users/nugrohobudi/Library/Caches/JNA/temp/libBoardController.dylib
BrainFlow Version: 5.10.0
OpenBCI_GUI: AuditoryFeedback: Loading Audio...
OpenBCI_GUI: AuditoryFeedback: Done Loading Audio!
CP: Playback History Size = 2
OpenBCI_GUI::Setup: Setup is complete!
sourceList: click! 
OpenBCI_GUI: Channel count set to 8
ControlPanel: Found Cyton Dongle on COM port: /dev/cu.usbserial-DB00MEQK

-------------------------------------------------
ControlPanel: Attempting to Auto-Connect to Cyton
-------------------------------------------------

ControlPanel: Found Cyton Dongle on COM port: /dev/cu.usbserial-DB00MEQK
CytonAutoConnect: Error reading from Serial/COM port
[WARN]: Found a Cyton dongle, but could not connect to the board. Auto-Scanning now...
CytonAutoConnect: Error reading from Serial/COM port
...
CytonAutoConnect: Error reading from Serial/COM port
[ERROR]: Unable to connect to Cyton. Please check hardware and power source.
SHUTDOWN HOOK
</code></pre>

<h2>What I Have Tried</h2>

<p>I have already tried the following:</p>

<ol>
<li><p><strong>MacBook Air M1</strong></p>

<ul>
<li>macOS 26.5</li>
<li>OpenBCI GUI v6.0.0-beta.1</li>
<li>Cyton Radio dongle connected using two different USB-C adapters</li>
</ul></li>
<li><p><strong>Windows 10 22H2</strong></p>

<ul>
<li>FTDI driver updated through Windows Update</li>
<li>OpenBCI GUI v6.0.0-beta.1</li>
<li>Cyton Radio dongle connected directly to the USB port</li>
</ul></li>
<li><p><strong>Windows 10 22H2 with older OpenBCI GUI</strong></p>

<ul>
<li>FTDI driver updated through Windows Update</li>
<li>OpenBCI GUI v3.4.0</li>
<li>Cyton Radio dongle connected directly to the USB port</li>
</ul></li>
<li><p><strong>Firmware check attempt using terminal program</strong></p>

<ul>
<li><p>I tried using a terminal emulator program on Windows 10:<br />
<code>https://sites.google.com/site/terminalbpp/</code></p></li>
<li><p>I read in the forum that sending the <code>?</code> character through a terminal emulator may show the firmware version.</p></li>
<li>However, I am not sure whether I did it correctly, or whether this method applies to both the Cyton Board and the Cyton Radio dongle.</li>
</ul></li>
<li><p><strong>Changed COM port number in Windows Device Manager</strong></p>

<ul>
<li>I changed the Cyton Radio dongle COM port number from <strong>COM7</strong> to <strong>COM10</strong>.</li>
<li>I tried connecting again in OpenBCI GUI after changing the COM port.</li>
<li>The problem still remained, and the GUI still could not connect to the Cyton Board.</li>
</ul></li>
</ol>

<h2>Procedure I Used in Each Test</h2>

<p>For all tests, I used the following procedure:</p>

<ol>
<li>Open <strong>OpenBCI GUI</strong>.</li>
<li>Connect the <strong>Cyton Radio USB dongle</strong>.</li>
<li>Set the Cyton Radio dongle switch to <strong>GPIO_6</strong>.</li>
<li>Turn on the battery to power the <strong>Cyton Board</strong>.</li>
<li>Set the Cyton Board switch to <strong>PC</strong>.</li>
<li>Use a fresh battery.

<ul>
<li>I checked the battery voltage using a multimeter, and it showed around <strong>6.1 V</strong>.</li>
</ul></li>
<li>In OpenBCI GUI:

<ul>
<li>Select <strong>System Control Panel</strong></li>
<li>Select <strong>Cyton (Live)</strong></li>
<li>Select <strong>Serial from Dongle</strong></li>
<li>Tried both <strong>Auto Connect</strong> and <strong>Manual</strong> connection.</li>
</ul></li>
</ol>

<h2>Firmware Information</h2>

<p>From my previous post in this forum around <strong><a rel="nofollow" href="https://openbci.com/forum/index.php?p=/discussion/1671/similar-result-in-each-channel-time-domain-and-frequency-domain#latest" title="2018">2018</a></strong> , I found that my Cyton firmware version was identified as:</p>

<pre><code>Firmware version: 1.0.0
</code></pre>

<p>I have not updated or flashed the firmware yet, because I do not want to damage the board or dongle before understanding the problem clearly.</p>

<h2>My Main Question</h2>

<p>Could the old <strong>firmware version 1.0.0</strong> be the source of this connection problem?</p>

<p>More specifically:</p>

<ol>
<li><p>Is Cyton firmware <strong>v1.0.0</strong> still compatible with current OpenBCI GUI versions, such as <strong>v6.0.0-beta.1</strong>?</p></li>
<li><p>How can I safely check the current firmware version of:</p>

<ul>
<li>the Cyton Board</li>
<li>the Cyton Radio USB Dongle / RFduino</li>
</ul></li>
</ol>

<p>Any recommended troubleshooting sequence before attempting firmware updates would be very helpful.</p>

<p>Thank you very much.</p>

<p>Best Regards,<br />
nug</p>
]]>
        </description>
    </item>
    <item>
        <title>Supplemented tutorial for Cyton Radios programming</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4107/supplemented-tutorial-for-cyton-radios-programming</link>
        <pubDate>Tue, 10 Mar 2026 18:06:00 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>danysab</dc:creator>
        <guid isPermaLink="false">4107@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello,<br />
I´ve been struggling the past months with the cyton radios programming and I´d like to share the way I´ve manage to succesfully do it. The first problem I´ve faced was to install the RFduino board on the Arduino IDE. I´ve tried many times to manually install the board using this json file (<a href="http://rfduino.com/package_rfduino166_index.json" rel="nofollow">http://rfduino.com/package_rfduino166_index.json</a>) but i always got "ERROR downloading etc.". After researching on the web archives, I´ve found this json that worked out perfectly (<a href="https://gist.githubusercontent.com/per1234/f7822073e05276c4243740eaab4235d1/raw/9c34051294ddd54dbbdf3bec392df0afef8da938/package_rfduino166_index.json" rel="nofollow">https://gist.githubusercontent.com/per1234/f7822073e05276c4243740eaab4235d1/raw/9c34051294ddd54dbbdf3bec392df0afef8da938/package_rfduino166_index.json</a>). After this I´ve downloaded the RFduino repo from OpenBCI that you can download here (<a href="https://docs.openbci.com/Cyton/CytonRadios/" rel="nofollow">https://docs.openbci.com/Cyton/CytonRadios/</a>) and included all the packages from that zip file to the library of the json file. Especially you need the <strong>Platform.txt</strong> and  <strong>RFDLoader</strong>. In order to compile the Radio sketches, you need to modify the Platform.txt otherwise it´s not gonna work.  I´m gonna post the finished txt data here so you can copy and use it:</p>

<h1>RFduino compile variables</h1>

<h1>-------------------------</h1>

<p>name=RFduino Boards<br />
compiler.path={runtime.ide.path}/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/<br />
compiler.c.cmd=arm-none-eabi-gcc<br />
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf<br />
compiler.c.elf.cmd=arm-none-eabi-g++<br />
compiler.c.elf.flags=-Os -Wl,--gc-sections<br />
compiler.S.flags=-c -g -assembler-with-cpp<br />
compiler.cpp.cmd=arm-none-eabi-g++<br />
compiler.cpp.flags=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -Dprintf=iprintf<br />
compiler.ar.cmd=arm-none-eabi-ar<br />
compiler.ar.flags=rcs<br />
compiler.objcopy.cmd=arm-none-eabi-objcopy<br />
compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0<br />
compiler.elf2hex.flags=-O ihex<br />
compiler.elf2hex.cmd=arm-none-eabi-objcopy<br />
compiler.ldflags=<br />
compiler.size.cmd=arm-none-eabi-size<br />
size.script.path={runtime.platform.path}/tools<br />
size.script.cmd=size<br />
size.script.cmd.windows=size.bat<br />
compiler.define=-DARDUINO=</p>

<h1>this can be overriden in boards.txt</h1>

<p>build.extra_flags=</p>

<h1>RFduino compile patterns</h1>

<h1>------------------------</h1>

<h2>Compile c files</h2>

<p>recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} {build.extra_flags} {includes} {build.variant_system_include} "{source_file}" -o "{object_file}"</p>

<h2>Compile c++ files</h2>

<p>recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} {build.extra_flags} {includes} {build.variant_system_include} "{source_file}" -o "{object_file}"</p>

<h2>Create archives</h2>

<p>recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"</p>

<h2>Combine gc-sections, archives, and objects</h2>

<p>recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} {build.extra_flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -lm -lgcc -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group  {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.variant.path}/libRFduino.a" "{build.variant.path}/libRFduinoBLE.a" "{build.variant.path}/libRFduinoGZLL.a" "{archive_file_path}" -Wl,--end-group</p>

<h2>Create eeprom</h2>

<p>recipe.objcopy.eep.pattern=</p>

<h2>Create hex</h2>

<p>recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"</p>

<h2>Compute size</h2>

<p>recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"<br />
recipe.size.regex=^(?:&#46;text|&#46;data|&#46;rodata|&#46;ARM.exidx)\s+([0-9]+).*<br />
recipe.size.regex.data=^(?:&#46;data|&#46;bss|&#46;noinit)\s+([0-9]+).*<br />
recipe.size.regex.eeprom=^(?:&#46;eeprom)\s+([0-9]+).*</p>

<h1>RFduino Uploader tools</h1>

<h1>----------------------</h1>

<p>tools.RFDLoader.cmd=RFDLoader<br />
tools.RFDLoader.cmd.windows=RFDLoader.exe<br />
tools.RFDLoader.upload.params.verbose=<br />
tools.RFDLoader.upload.params.quiet=<br />
tools.RFDLoader.path={runtime.platform.path}<br />
tools.RFDLoader.upload.pattern="{path}/{cmd}" -q {serial.port} "{build.path}/{build.project_name}.hex"</p>

<p>The next step was to modify the <strong>RFduinoGZLL.h</strong> because I always got the error 'class RFduinoGZLLClass' has no member named 'channel' while compiling the sketch. To fix this issue add, at the very end of the script (under the line "extern RFduinoGZLLClass RFduinoGZLL;"  )  <strong>extern int RFduinoGZLL_channel;</strong><br />
After this editing, I´ve followed the required steps to programm the Radios that you can find here <a href="https://docs.openbci.com/Cyton/CytonRadios/" rel="nofollow">https://docs.openbci.com/Cyton/CytonRadios/</a> and everything worked out perfectly, so that now the dongle and the cyton board are communicating. <br />
<img src="https://openbci.com/forum/uploads/editor/bu/v4alq00yyf5j.jpg" alt="" title="" /><br />
<img src="https://openbci.com/forum/uploads/editor/1l/blom8vecwmfl.jpg" alt="" title="" /></p>

<p>If you have some questions feel free to ask <img src="https://openbci.com/forum/resources/emoji/smile.png" title=":)" alt=":)" height="20" /> <br />
Happy tinkering</p>

<hr />
]]>
        </description>
    </item>
    <item>
        <title>How to Process EEG Data with Large Amplitudes After High-Pass Filtering</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4140/how-to-process-eeg-data-with-large-amplitudes-after-high-pass-filtering</link>
        <pubDate>Sun, 21 Jun 2026 20:04:31 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>jiongjiong</dc:creator>
        <guid isPermaLink="false">4140@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I'm working with EEG data collected using a Cyton + Daisy setup. The experiment allows participants to move freely throughout the recording, so I expected a significant amount of motion-related noise.</p>

<p>I applied a 1 Hz high-pass filter, but the data still shows a very large proportion of high-amplitude values. Overall, about <strong>55% of samples have absolute values greater than 100 µV</strong>, which seems too high for usable EEG.</p>

<p>My question is: how to process or clean this dataset, since standard filtering does not seem sufficient?</p>

<ol>
<li><p>Channel data screenshot:<br />
<img src="https://openbci.com/forum/uploads/editor/tz/twn7uf8zj4lz.png" alt="Scroll Channel Data Screenshot" title="" /></p></li>
<li><p>Percent of samples with |amplitude| &gt; 100 µV per channel:<br />
<img src="https://openbci.com/forum/uploads/editor/bh/ymkd3r8pqimn.png" alt="" title="" /></p></li>
<li><p>Additional channel statistics:<br />
<img src="https://openbci.com/forum/uploads/editor/8i/lx2f1sjsil99.png" alt="" title="" /></p></li>
</ol>

<p>Thank you so much for your guidance!</p>
]]>
        </description>
    </item>
    <item>
        <title>high impedence</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4132/high-impedence</link>
        <pubDate>Fri, 29 May 2026 17:50:56 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>gg_022006</dc:creator>
        <guid isPermaLink="false">4132@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Cap preparation procedure:</p>

<ol>
<li>Subject hair/scalp is cleaned beforehand.</li>
<li>EEG cap is placed on the head.</li>
<li>Through each electrode opening, we use the syringe tip/needle carefully to move hair aside right beneath the hole that we see.</li>
<li>Conductive gel is then inserted through the opening into the electrode cavity until contact is made with the scalp (we ask the subject as of now if he feels the gel if he says yes we assume that the contact is made).</li>
<li>This is repeated for C3, Cz, C4, REF, and GND electrodes.</li>
</ol>

<p>Now on the hardware settings button of the Open BCI GUI :</p>

<ul>
<li>SRB1 = ON</li>
<li>SRB2 = OFF</li>
<li>Bias = ON</li>
<li>Input type = Normal</li>
<li>Gain = 1x  (i checked online and it is suggested to be 24x but i am not sure about it)</li>
</ul>

<p>Reference/Ground placement:<br />
Currently the cap’s built-in REF and GND positions are being used and they are on the scalp itself . We have not yet moved REF to the ear lobe or BIAS/GND to the forehead.</p>

<p>Current observations:</p>

<ul>
<li>We can clearly observe large jaw clench artifacts, especially on C3 and C4.</li>
<li>Cz shows comparatively lower jaw artifact amplitude which i think is normal.</li>
<li>However, eye blink and eye movement artifacts are not very clearly visible because it might be covered due to noise.</li>
<li>In the OpenBCI GUI impedance/N-status check, we typically see around ~5000 kΩ impedance per channel even after all the gel application.</li>
</ul>

<p>Our current analysis/suspicion:<br />
We suspect the issue may be related to one or more of the following:</p>

<ul>
<li><p>REF/GND placement,</p></li>
<li><p>using the top pins instead of bottom pins,</p></li>
<li><p>very high impedance,</p></li>
</ul>

<p>i think if the impedence can be brought down to an acceptable level the noise would itself reduce and we will be able to see the signals like eye blink and eye movements</p>
]]>
        </description>
    </item>
    <item>
        <title>Using cEEGrid for trigeminal / jaw reflex electrophysiology</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4131/using-ceegrid-for-trigeminal-jaw-reflex-electrophysiology</link>
        <pubDate>Wed, 27 May 2026 09:11:12 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>Frisardi56</dc:creator>
        <guid isPermaLink="false">4131@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>I am exploring the possibility of using OpenBCI cEEGrid together with Cyton + Daisy for advanced neurophysiological studies involving:</p>

<ul>
<li>jaw jerk reflexes</li>
<li>trigeminal dynamics</li>
<li>silent period analysis</li>
<li>jaw clenching activity</li>
<li>peri-auricular EMG activity</li>
<li>multimodal electrophysiology</li>
</ul>

<p>I would like to better understand the practical capabilities and limitations of cEEGrid in this context.</p>

<p>More specifically:</p>

<ol>
<li>Has cEEGrid ever been used for:</li>
</ol>

<ul>
<li>jaw muscle activity</li>
<li>trigeminal reflex studies</li>
<li>peri-auricular EMG</li>
<li>jaw clenching detection</li>
<li>facial or masticatory muscle recordings</li>
</ul>

<ol start="2">
<li><p>What is the practical frequency bandwidth of cEEGrid when used with Cyton/Daisy?</p></li>
<li><p>Is the signal quality sufficient for short-latency reflex-related activity?</p></li>
<li><p>Can cEEGrid be combined simultaneously with:</p></li>
</ol>

<ul>
<li>standard surface EMG</li>
<li>external trigger systems</li>
<li>piezoelectric reflex hammer synchronization</li>
<li>electrical stimulation paradigms</li>
</ul>

<ol start="5">
<li>Are there known limitations regarding:</li>
</ol>

<ul>
<li>muscle artifacts</li>
<li>stimulation artifacts</li>
<li>temporal precision</li>
<li>synchronization</li>
</ul>

<ol start="6">
<li>Has anyone attempted multimodal acquisition combining:</li>
</ol>

<ul>
<li>ear-centered EEG</li>
<li>facial EMG</li>
<li>trigeminal reflex timing</li>
<li>jaw activity</li>
</ul>

<p>Thank you very much.</p>
]]>
        </description>
    </item>
    <item>
        <title>TTL trigger output synchronization for external electrical stimulator</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4130/ttl-trigger-output-synchronization-for-external-electrical-stimulator</link>
        <pubDate>Wed, 27 May 2026 09:00:04 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>Frisardi56</dc:creator>
        <guid isPermaLink="false">4130@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>I am evaluating Cyton + Daisy for advanced neurophysiological EMG reflex studies.</p>

<p>My setup would involve:</p>

<ul>
<li>piezoelectric reflex hammer (trigger input)</li>
<li>external electrical stimulator</li>
<li>jaw jerk reflex recordings</li>
<li>silent period analysis</li>
<li>paired stimulation paradigms</li>
<li>recovery cycle studies</li>
</ul>

<p>I already found documentation about external trigger INPUT through GPIO pins.</p>

<p>My main question is about TRIGGER OUTPUT.</p>

<p>Can Cyton generate a deterministic hardware TTL trigger OUTPUT capable of synchronizing an external electrical stimulator with millisecond precision?</p>

<p>More specifically:</p>

<ol>
<li><p>Can Cyton send hardware trigger pulses (TTL) to external devices?</p></li>
<li><p>Is trigger output timing deterministic and stable enough for reflex latency studies?</p></li>
<li><p>What is the expected trigger output jitter/latency?</p></li>
<li><p>Can trigger input and trigger output operate simultaneously during acquisition?</p></li>
<li><p>Has anyone used Cyton for:</p></li>
</ol>

<ul>
<li>trigeminal reflex studies</li>
<li>jaw jerk recordings</li>
<li>silent period paradigms</li>
<li>paired pulse stimulation</li>
<li>recovery cycle studies</li>
</ul>

<p>Thank you very much.</p>
]]>
        </description>
    </item>
    <item>
        <title>Cyton long term measurements power supply</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4121/cyton-long-term-measurements-power-supply</link>
        <pubDate>Wed, 15 Apr 2026 11:47:40 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>a_melis</dc:creator>
        <guid isPermaLink="false">4121@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello!<br />
I need to make long term recordings (at least 72 hours) using Cyton board. I tried a powerbank, but it turns off after a couple of hours, probably due to a very low current request from the board. Any tips?</p>
]]>
        </description>
    </item>
    <item>
        <title>huge numbers while getting data from the cyton</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4118/huge-numbers-while-getting-data-from-the-cyton</link>
        <pubDate>Thu, 09 Apr 2026 08:35:16 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>eya</dc:creator>
        <guid isPermaLink="false">4118@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>i'm working on a bci projcet using the ultracortex markv headset  while reading the values coming from cyton and the daisy board i got  huge numbers ;( i'm using gui lsl    to stream the data with osychopy and lab recorder ); should i rescale this data before preprocessing it and feeding it to the ai model ?</p>
]]>
        </description>
    </item>
    <item>
        <title>Issue on Firmware Update and Cyton Working</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4116/issue-on-firmware-update-and-cyton-working</link>
        <pubDate>Thu, 02 Apr 2026 08:58:15 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>Raghul</dc:creator>
        <guid isPermaLink="false">4116@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I am working with 4 Cyton boards, each dedicated to acquiring separate EEG signals. Initially, all 4 boards were functioning correctly; however, they suddenly started producing noisy signals during signal acquisition. As a result, a firmware update was performed, but following the update, the boards are no longer connecting properly.<br />
Among the 4 Cyton boards, one board's LED is blinking continuously and only responds when both the PROG and RST buttons are pressed simultaneously. Another board powers on normally and the dongle is recognized by the PC  the Device Manager successfully detects it and assigns a COM port but the Cyton board fails to establish a connection with the dongle. When attempting to start a session in the OpenBCI software, an error message appears stating "Hardware is not connected, please check the power supply." This issue was reproduced on both older and newer versions of the OpenBCI software.<br />
It appears that the firmware update has caused these issues. Kindly suggest a solution to resolve this.</p>
]]>
        </description>
    </item>
    <item>
        <title>Issues with failure to retain data stream and packet loss with a Cyton+Daisy system</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4112/issues-with-failure-to-retain-data-stream-and-packet-loss-with-a-cyton-daisy-system</link>
        <pubDate>Sun, 15 Mar 2026 15:00:37 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>shatch10</dc:creator>
        <guid isPermaLink="false">4112@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I have been working on a system for the collection of EEG data from participants during mental imagery tasks. I am using a Cyton+Daisy system for recording the EEG data. I have been using an LSL to record all of the EEG data along with time markers sent to the LSL by the image presentation software, PsychoPy, indicating which stage of the trial participants had completed during data recording. I am using the open-source LabRecorder software for implementation of the LSL.</p>

<p>This system worked well last semester, however it has recently developed issues with the Cyton system becoming disconnected/failing to reconnect with the computer. Usually, during recording, a message would appear on the screen saying “An error has occurred during data recording, close the GUI and start a new session.” Following closing the GUI, I can open a new GUI, but when I try to record data, I have high packet loss (greater than 80% loss). I also can’t record data for longer than about 5 minutes without data loss occurring.</p>

<p>Previously, I had issues with the Cyton failing to reconnect with the computer after the initial GUI session was closed. I would usually get a message of “Dongle found but no Cyton board could be located.” I think this issue was resolved by only opening LabRecorder after the LSL streams had been opened in the OpenBCI GUI and PsychoPy. This theoretically ensures the data streams are fully established before LabRecorder tries to start recording them. I also found resetting the dongle and Cyton board using the physical buttons located on them could fix this issue.</p>

<p>However, I still felt this issue was relevant to the conversation because it was also a new issue that didn’t occur last semester, and as such it may be related to the unresolved issues I described above. To solve the issue of packet loss and failure to remain connected, I have tried closing all python programs running in the background in hopes of terminating a previous instance of the GUI that may have remained active. I’ve also tried resetting the hardware using the physical buttons on them. Finally, I’ve tried restarting the computer itself, but I still experience the difficulty with the Cyton+daisy being able to remain connected and record for longer than 5 minutes. I also still experience the related packed loss issue with the data I can record.</p>

<p>Please let me know what I should do next to solve this problem.</p>
]]>
        </description>
    </item>
    <item>
        <title>OpenBCI GUI connection error</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4110/openbci-gui-connection-error</link>
        <pubDate>Sat, 14 Mar 2026 09:38:17 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>smanne</dc:creator>
        <guid isPermaLink="false">4110@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I'm using the Cyton in debug mode (serial output via SERIAL1, D11/D12 pins). After this, when I attempt to plug in the USB dongle and connect via OPENBCI GUI, connections fails. It is important to note that the dongle actually connects successfully via channel 20, but when I click auto-scan, it just skips past channel 20 and fails the autoscan! I try everything here <a href="https://docs.openbci.com/Troubleshooting/GUI_Troubleshooting/" rel="nofollow">https://docs.openbci.com/Troubleshooting/GUI_Troubleshooting/</a> but the problem persists. It seems that the UART window on my laptop to communicate serially with the dongle indicates the connection is perfect, but the GUI just won't open a session.</p>
]]>
        </description>
    </item>
    <item>
        <title>Understanding serial connection via Dongle w/ Cyton</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4104/understanding-serial-connection-via-dongle-w-cyton</link>
        <pubDate>Sun, 01 Mar 2026 23:25:18 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>smanne</dc:creator>
        <guid isPermaLink="false">4104@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello, <br />
I want to stream raw data from the Cyton+daisy board to a bare-metal microcontroller with UART/SPI/I2C support but no USB support. This microcontroller will preprocess and analyze the raw data. I want to better understand how I can do this. <br />
Can I directly connect the TX/RX pins on the USB dongle to my microcontroller, and have the microcontroller read the data over UART? What are the data transfer limitations here?<br />
Or, does the USB dongle require a USB host to speak with (Arduino Due)?<br />
Would I need an Arduino to connect to the USB dongle that converts USB-&gt;SPI/I2C so that my bare-metal microcontroller without USB can understand it?</p>

<p>Please point me in the right direction as soon as possible. This is urgent. Thank you so much!</p>
]]>
        </description>
    </item>
    <item>
        <title>How to match the imported channel numbers with the channel names in eeglab?</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4109/how-to-match-the-imported-channel-numbers-with-the-channel-names-in-eeglab</link>
        <pubDate>Wed, 11 Mar 2026 08:01:17 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>mx_D</dc:creator>
        <guid isPermaLink="false">4109@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello everyone,<br />
I used the 8-channel file of OpenBCI. When I import the EEG data into EEGLAB, only the channel numbers are displayed. How can I match the numbers (1-11) with the channel names (Fz, Cz...)?</p>

<p>Additionally, it shows 11 channels here, but I am using an 8-channel device. What are the other 3 channels?</p>

<p>Also, due to my computer system, the EEG data format is .bdf.</p>

<p>I am very sorry, as I am a beginner with EEG devices. This question may indeed be very basic, but it has been bothering me for a long time. Can anyone help me solve these problem? Thanks in advance!<br />
<img src="https://openbci.com/forum/uploads/editor/wh/ldlwri2a664o.jpg" alt="" title="" /><br />
<img src="https://openbci.com/forum/uploads/editor/9d/5iguwgx81glk.png" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>latency</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4105/latency</link>
        <pubDate>Wed, 04 Mar 2026 16:28:37 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>gilad</dc:creator>
        <guid isPermaLink="false">4105@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi,<br />
Is there a direct way to measure the latency between the Cyton board and its dongle?<br />
Does it appear in any of the specs of the Cyton board?<br />
Thanks a lot,<br />
Gilad</p>
]]>
        </description>
    </item>
    <item>
        <title>Signal polarity (sign) in Cyton data</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4101/signal-polarity-sign-in-cyton-data</link>
        <pubDate>Thu, 12 Feb 2026 02:40:50 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>ginom</dc:creator>
        <guid isPermaLink="false">4101@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>I am currently confused about the polarity (sign) of the EEG signals from the Cyton board.</p>

<p>In the following forum post, it is mentioned that the signal polarity from Cyton is inverted:<br />
<a rel="nofollow" href="https://openbci.com/forum/index.php?p=/discussion/comment/16393#Comment_16393" title="https://openbci.com/forum/index.php?p=/discussion/comment/16393#Comment_16393">https://openbci.com/forum/index.php?p=/discussion/comment/16393#Comment_16393</a></p>

<p>However, when I compare signals from:</p>

<ul>
<li>OpenBCI GUI</li>
<li>my own Python application using pyOpenBCI</li>
<li>my own Python application using BrainFlow (Python)<br />
the polarity appears to be consistent across all of them.</li>
</ul>

<p>In the OpenBCI GUI, both positive and negative values are clearly displayed on the graph, and they match what I observe in my own applications.</p>

<p>So my question is:<br />
Is the Cyton signal actually inverted at the hardware level, and the GUI compensates for it?<br />
Or is the GUI simply displaying the raw signed values from the board as-is?</p>

<p>For reference, my electrode setup follows the official EEG setup documentation:<br />
<a rel="nofollow" href="https://docs.openbci.com/GettingStarted/Biosensing-Setups/EEGSetup/" title="https://docs.openbci.com/GettingStarted/Biosensing-Setups/EEGSetup/">https://docs.openbci.com/GettingStarted/Biosensing-Setups/EEGSetup/</a></p>

<p>(Reference electrode connected to SRB2, BIAS connected as recommended.)</p>

<p>I would appreciate clarification on how polarity is handled internally.</p>

<p>Thank you in advance.</p>
]]>
        </description>
    </item>
    <item>
        <title>Sending triggers to Cyton AUX pins</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4096/sending-triggers-to-cyton-aux-pins</link>
        <pubDate>Wed, 28 Jan 2026 16:26:07 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>cgontier</dc:creator>
        <guid isPermaLink="false">4096@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I am trying to run an experiment on PsychoPy while also recording EEG using the OpenBCI Cyton board. I would like to send triggers from the Psychopy experiment to the EEG recordings.</p>

<p>According to the first comment here (<a href="https://openbci.com/forum/index.php?p=/discussion/3101/psychopy-brainflow-and-markers-resolved" rel="nofollow">https://openbci.com/forum/index.php?p=/discussion/3101/psychopy-brainflow-and-markers-resolved</a>), the 3 AUX channels of the Cyton board can be used to record trigger and marker. The Cyton documentation (<a href="https://docs.openbci.com/Cyton/CytonExternal/" rel="nofollow">https://docs.openbci.com/Cyton/CytonExternal/</a>) mentions 5 General Purpose Input and Output pins and explains how triggers can be manually sent from a physical push on the board.</p>

<p>I would like these triggers to be sent from Psychopy. I tried to follow this tutorial: <a href="https://psychopy.org/hardware/serialPortInstr.html#sending-triggers-via-a-serial-port" rel="nofollow">https://psychopy.org/hardware/serialPortInstr.html#sending-triggers-via-a-serial-port</a></p>

<p>But I am not sure which port address I should use, nor how to find the port address for the Cyton AUX pins. More specifically, the port name is dev/ttyUSB1, but I cannot find its address. Running</p>

<p><code>setserial -g /dev/ttyUSB[01]</code></p>

<p>yields</p>

<p><code>/dev/ttyUSB1, UART: unknown, Port: 0x0000, IRQ: 0</code></p>

<p>And whichever address value I try in “Port” in the “Basic” properties of serialPort in Psychopy yields the following error:</p>

<pre><code>raise SerialException(msg.errno, &quot;could not open port {}: {}&quot;.format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port 0x0000: [Errno 2] No such file or directory: '0x0000'
######## Experiment ended with exit code 1 [pid:215199] ########
</code></pre>

<p>My OS is Ubuntu 24.04. Any help is appreciated. Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>Streaming Accel/AUX data via the Networking widget</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4099/streaming-accel-aux-data-via-the-networking-widget</link>
        <pubDate>Thu, 05 Feb 2026 09:35:19 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>cgontier</dc:creator>
        <guid isPermaLink="false">4099@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I would like to stream Accel/AUX data via the networking widget. Per the documentation (<a href="https://docs.openbci.com/Software/OpenBCISoftware/GUIWidgets/#networking" rel="nofollow">https://docs.openbci.com/Software/OpenBCISoftware/GUIWidgets/#networking</a>), this should be possible:</p>

<blockquote><div>
  <p>With the networking widget, you can send Time Series, FFT, EMG, Band Power, Accel/Aux, and Pulse data. The Accel/Aux option allows you to send Accelerometer, Analog Read, or Digital Read data.</p>
</div></blockquote>

<p>I am especially interested in the Digital Read data and in streaming times at which the push button on the Cyton board is pressed (cf. the OpenBCI GUI Networking Guide: <a href="https://docs.google.com/document/d/e/2PACX-1vR_4DXPTh1nuiOwWKwIZN3NkGP3kRwpP4Hu6fQmy3jRAOaydOuEI1jket6V4V6PG4yIG15H1N7oFfdV/pub" rel="nofollow">https://docs.google.com/document/d/e/2PACX-1vR_4DXPTh1nuiOwWKwIZN3NkGP3kRwpP4Hu6fQmy3jRAOaydOuEI1jket6V4V6PG4yIG15H1N7oFfdV/pub</a>).<br />
However, only the following streams are available in the menu of the Networking widget (see also image):</p>

<ul>
<li>Focus</li>
<li>EMGJoystick</li>
<li>AVGBandPower</li>
<li>TimeSeriesFilt</li>
<li>TimeSeriesRaw</li>
<li>EMG</li>
</ul>

<p>(i.e. no option to choose Accel/Aux as it is shown in the documentation). This is the case for all protocols (LSL, UDP, OSC, Serial, although I am working with LSL) and even when the required widgets are activated. I'm working with the Cyton board and OpenBCI GUI v6.0.0 on Ubuntu 24. Thanks!<br />
<img src="https://openbci.com/forum/uploads/editor/8m/qvmrruoob4t1.png" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Multiple Cyton's Simultaneously: (Packet Loss, Pairing, Signal Dropouts)</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4098/multiple-cytons-simultaneously-packet-loss-pairing-signal-dropouts</link>
        <pubDate>Thu, 29 Jan 2026 13:22:39 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>jean_diddy</dc:creator>
        <guid isPermaLink="false">4098@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello OpenBCI team,<br />
I am currently working with two Cyton systems and am experiencing persistent connectivity and packet loss issues when using them simultaneously. I would appreciate your guidance.</p>

<h2>Setup</h2>

<h3>Hardware</h3>

<ul>
<li><strong>1 × Cyton + Daisy board</strong> for EEG</li>
<li><strong>1 × Cyton board</strong> for ECG</li>
<li><strong>Subject</strong>: Same person for EEG and ECG simultaneously</li>
<li><strong>Computers</strong>: Two separate Windows 10 computers (one per Cyton)</li>
<li><strong>Software</strong>: OpenBCI GUI with FTDI drivers installed</li>
</ul>

<h3>Radio configuration</h3>

<ul>
<li>Each Cyton paired with its own USB dongle</li>
<li>One system communicating on <strong>channel 10</strong>, the other on <strong>channel 20</strong></li>
</ul>

<h3>Physical setup</h3>

<ul>
<li>Computers are ~1 m apart, in the same room</li>
<li>Each Cyton board is &lt;2 m from its corresponding dongle</li>
</ul>

<h3>Electrodes / grounding</h3>

<ul>
<li><strong>EEG</strong>: Gel cap, GND electrode on scalp (Cyton + Daisy)</li>
<li><strong>ECG</strong>: GND electrode placed on the right hip (Cyton)</li>
</ul>

<h3>Power</h3>

<ul>
<li>Both computers must be connected to mains power (recordings are too long for battery operation)</li>
</ul>

<h2>Issues encountered</h2>

<ol>
<li><p><strong>Severe packet loss when both devices are connected</strong>, especially once electrodes are attached to the body.</p>

<ul>
<li>Packet loss increases significantly compared to when boards are not connected to the subject.</li>
<li>Packet loss also appears when pressing the <strong>PROG</strong> button to generate a trigger (following this guide:<br />
<a href="https://docs.openbci.com/Cyton/CytonExternal/" rel="nofollow">https://docs.openbci.com/Cyton/CytonExternal/</a>).</li>
</ul></li>
<li><p><strong>Occasional inability to start recording</strong>, even though sessions appear to start correctly in both OpenBCI GUIs.</p>

<ul>
<li>The GUI reports <em>“No signal received for 5 seconds.”</em></li>
</ul></li>
<li><p><strong>After stopping a recording, it is impossible to start a new one</strong> without completely restarting the setup.</p>

<ul>
<li>We must close the GUI, reopen it, and redo channel selection and pairing.</li>
</ul></li>
<li><p><strong>Intermittent signal dropouts during recording</strong>, with the GUI again reporting <em>“No signal received for 5 seconds,”</em> even though nothing in the setup has changed.</p></li>
<li><p><strong>Radio channel pairing issues</strong>:</p>

<ul>
<li>At one point, one Cyton became stuck on channel 10 and its dongle on channel 20.</li>
<li>We were unable to re-pair the original Cyton–dongle pair (channel 10).</li>
<li>We tried auto-scan, unplugging the dongle, powering off the Cyton, closing the GUI, and restarting the entire pairing procedure (with the other Cyton powered off), but without success.</li>
</ul></li>
</ol>

<h2>What we have tried / considered</h2>

<h3>1. Reducing distance between Cyton boards and dongles</h3>

<ul>
<li>Bringing the boards very close to their dongles (&lt;30 cm) significantly reduces packet loss and makes channel selection easier.</li>
<li><p>We are considering using a USB extension cable for the dongles, as suggested in this thread:<br />
<a href="https://openbci.com/forum/index.php?p=/discussion/3216/packet-loss-with-cyton-mounted-on-head-resolved" rel="nofollow">https://openbci.com/forum/index.php?p=/discussion/3216/packet-loss-with-cyton-mounted-on-head-resolved</a></p></li>
<li><p>However, this raises a conceptual question: <strong>what is the intended benefit of wireless communication if the board needs to be this close to the dongle to function reliably?</strong></p></li>
</ul>

<h3>2. Following the official multiple-Cyton procedure</h3>

<ul>
<li><p>We carefully followed the instructions here:<br />
<a href="https://docs.openbci.com/Cyton/CytonRadioChannel/" rel="nofollow">https://docs.openbci.com/Cyton/CytonRadioChannel/</a></p></li>
<li><p>Unfortunately, this does not work reliably. Often we need to repeat the procedure multiple times, sometimes taking more than 20 minutes to get both devices working.</p></li>
<li>According to the documentation, it should be possible to run up to 25 Cytons simultaneously. We are struggling to get even two to work consistently.</li>
<li>Are there specific radio channels that should be preferred or avoided?</li>
</ul>

<h3>3. Clarification about “one pair at a time”</h3>

<ul>
<li>The documentation states: <em>“This procedure must be done one pair at a time.”</em></li>
<li><p>Our understanding is:</p>

<ol>
<li>Pair and start a session with the first Cyton and its dongle</li>
<li>Then pair and start a session with the second Cyton and its dongle</li>
</ol></li>
<li><p>Is this interpretation correct, or is a different sequence recommended?</p></li>
</ul>

<p>Thank you very much in advance for your help and insights.</p>
]]>
        </description>
    </item>
    <item>
        <title>Dongle not recognized / not being identified by the GUI.</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4097/dongle-not-recognized-not-being-identified-by-the-gui</link>
        <pubDate>Thu, 29 Jan 2026 03:09:38 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>kingbob_01</dc:creator>
        <guid isPermaLink="false">4097@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi all,<br />
I recently got a Cyton Biosensing board, but I’m having trouble connecting it to the OpenBCI GUI. When I plug in the dongle, it flashes red briefly and then turns blue, which I believe means it is working. However, when I open the OpenBCI GUI, no device appears.<br />
In Device Manager, the dongle shows up under Other Devices as an unknown device. I tried installing the FTDI driver, but I’m not sure if I installed it correctly, and the device is still not recognized.<br />
I’m also having another issue where the OpenBCI GUI will not open properly. When I click the application, it often does nothing. If I repeatedly click it, it sometimes opens, but it gets stuck on a white screen and freezes, and I cannot close the app.<br />
If anyone has experienced this before or knows how to fix either of these problems, I would really appreciate your help. Thank you!</p>
]]>
        </description>
    </item>
    <item>
        <title>What caused this abnormal (high frequency noise) phenomenon?</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4094/what-caused-this-abnormal-high-frequency-noise-phenomenon</link>
        <pubDate>Mon, 26 Jan 2026 11:31:54 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>Zenton</dc:creator>
        <guid isPermaLink="false">4094@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>When analyzing data using EEGLab, I noticed increased amplitude and strong high frequencies in channels F3 and F4. I then checked the impedance values ​​of channels F3 and F4, which were normal, around 25 kΩ.The reference electrode was placed on the right earlobe, and the ground electrode on the left earlobe. During preprocessing, a bandpass filter from 0.5 to 40 Hz was used, with a CZ electrode as the rereference. And I  used a Cyton board and a gel EEG cap.<img src="https://openbci.com/forum/uploads/editor/dw/gvzlf4cny11j.jpg" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Import channel locations using EEGLAB</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4013/import-channel-locations-using-eeglab</link>
        <pubDate>Tue, 13 May 2025 10:08:37 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>Zenton</dc:creator>
        <guid isPermaLink="false">4013@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>hi everyone<br />
When I used EEGLAB to import channel locations, I used the 16-channel file of openbci, but there was no positions of channels Fz, Cz, and Pz. Can anyone help me add them? <br />
Thanks advance!<br />
<img src="https://openbci.com/forum/uploads/editor/fr/hunb5igbkv39.jpg" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>cEEGrid missing second half of channels (9–16)</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4091/ceegrid-missing-second-half-of-channels-9-16</link>
        <pubDate>Tue, 06 Jan 2026 18:38:44 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>Hendrik</dc:creator>
        <guid isPermaLink="false">4091@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi everyone,</p>

<p>I’m experiencing an issue using a cEEGrid 16-channel system on a Windows laptop. Initially, all 16 channels work correctly. However, after a couple of minutes, the second half of the channels (channels 9–16) stop streaming and no longer appear.</p>

<p>I tried turning the device off and back on, but channels 9–16 remain missing.</p>

<p>Interestingly, when I test the same setup on a MacBook (on different days), all 16 channels work fine, even after more than 1 hour of continuous streaming.</p>

<p>Has anyone experienced a similar issue? Could this be related to the Windows OS, or possibly the use of a USB extension cable on the Windows laptop?</p>

<p>I plan to use this cEEGrid together with fNIRS, so I want to make sure everything is working properly before running real participants.</p>

<p>Thank you in advance for any suggestions or insights.</p>
]]>
        </description>
    </item>
    <item>
        <title>The impedance test can't reduce the impedance on certain leads.</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4084/the-impedance-test-cant-reduce-the-impedance-on-certain-leads</link>
        <pubDate>Tue, 16 Dec 2025 03:12:23 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>winterrrr</dc:creator>
        <guid isPermaLink="false">4084@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>During impedance testing, the impedance values of certain leads remain around 3 or 4kΩ. Whether we try to wipe the scalp with an alcohol swab, add conductive paste and put on a net cap to ensure a fit, their impedance values remain unchanged. Moreover, there are two other points I don't understand. Firstly, this stubborn bad sector is not fixed on a single channel. Secondly, I tried to swap the positions of two different channels at the conversion port. For instance, I originally connected channel 7 to the p3 region and channel 8 to the p4 region. At the beginning of the impedance test, the value of channel 7 remained at 4kΩ, but I swapped their positions at the conversion port. Connect Channel 7 to p4 and channel 8 to p3. Then remeasure the impedance. Channel 7 is still 4kΩ. Shouldn't it be channel 8 that becomes 4kΩ? I hope someone can answer this question or teach me some effective methods to reduce my resistance. I would be extremely grateful!</p>
]]>
        </description>
    </item>
    <item>
        <title>Bias feedback</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/3553/bias-feedback</link>
        <pubDate>Tue, 07 Mar 2023 17:02:12 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>fs_clar</dc:creator>
        <guid isPermaLink="false">3553@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I assembled an EEG setup for the first time and I found quite a lot of line noise (50 Hz) unless I use the notch filter on the GUI. This seems to me quite odd, as the ADS1299 should have a fairly good CMRR, so I started digging into the schematics and have a couple of questions.<br />
Regarding the feedback loop for the Bias pin of the Cyton Board: on the datasheet of the ADS1299 (and the evaluation board), there is a low-pass filter formed between BiasOut and BiasInv<br />
<img src="https://openbci.com/forum/uploads/editor/bs/fckzvp8am4li.png" alt="" title="" /><br />
whereas on the Cyton board, that filter is missing. There is, however, a filter formed by R5 and C16; what is the purpose of the latter? Just limiting the current? If so, why was the low-pass filter of the evaluation board avoided?</p>

<p>Thanks,<br />
Federico</p>
]]>
        </description>
    </item>
    <item>
        <title>Cyton board not powering up  [resolved]</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4080/cyton-board-not-powering-up-resolved</link>
        <pubDate>Tue, 04 Nov 2025 20:28:52 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>todor</dc:creator>
        <guid isPermaLink="false">4080@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>My Cyton board stopped working suddenly and I can't figure out what the issue is. I used it for about an hour for some EEG demos after which it basically went dead. I thought the battery had discharged so I charged the battery and measured the voltage output which reads at 3.88V measured at the board contacts. So, I don't think this is a power issue. (I am powering it with the OpenBCI Lipo battery.)<br />
However, when I turn the board on ('PC'), the LED doesn't power up and I cannot detect the board on the GUI. I might have flicked the switch to BLE when it failed originally, could this be the problem? I read this manual which tells me to press RST if the board stops responding:<br />
<a href="https://docs.openbci.com/GettingStarted/Boards/CytonGS/" rel="nofollow">https://docs.openbci.com/GettingStarted/Boards/CytonGS/</a><br />
I tried this but nothing changed. I looked at previous forum posts and this seems to be the only relevant one I could find:<br />
<a href="https://openbci.com/forum/index.php?p=/discussion/3755/cyton-not-turning-on#latest" rel="nofollow">https://openbci.com/forum/index.php?p=/discussion/3755/cyton-not-turning-on#latest</a><br />
It tells me to check voltage between GND and DVDD. I record this at 1.6V when the board is on. The post above said this should read at 3.8V. Could you please help me as I am a bit stuck. <br />
Thank you!<br />
Todor</p>
]]>
        </description>
    </item>
    <item>
        <title>Why is BiasOut run through 1M resistor in Series?</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4079/why-is-biasout-run-through-1m-resistor-in-series</link>
        <pubDate>Mon, 03 Nov 2025 23:25:43 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>tdengineer</dc:creator>
        <guid isPermaLink="false">4079@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>In the ads1299 datasheet it shows bias out traced out with the resistor in parallel not in series. Wouldn’t this resistor cause a massive voltage drop and interfere with the bias out voltage?<img src="https://openbci.com/forum/uploads/editor/hh/n6j49ln0g7vi.jpeg" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Impedance measurement</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4076/impedance-measurement</link>
        <pubDate>Wed, 29 Oct 2025 11:52:03 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>LR__07</dc:creator>
        <guid isPermaLink="false">4076@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello,<br />
I'm currently trying to measure the impedance of my Cyton board channels in Python using Brainflow. However, I consistently get this error: <br />
'utf-8' codec can't decode byte 0x9e in position 2: invalid start byte<br />
My plan is to iterate over all channels and compute the impedance. Therefore, I implemented the following workflow:<br />
1. Select Channel i<br />
2. Send "z{i}01Z" via config_board() to the board<br />
3. Starting the stream via start_stream()<br />
4. Get the data via get_board_data()<br />
5. Stop the stream via stop_stream()<br />
6. Send "z{i}00Z" via config_board() to stop the LeadOff Impedance<br />
7. Perform preprocessing on the data (Bandpass (8,30) and Notch(50))<br />
8. Calculate the impedance: impedance = ((math.sqrt(2.0) * preprocessed_data[i]*1e-6)/6e-9) - 2.2<br />
9. Repeat for all channels<br />
10. Set the gain to 12 for EEG measurement</p>

<p>The problem appears already at step 6 for the very first channel—calling config_board("z{i}00Z") throws the exception above.<br />
Could someone explain what I’m doing wrong or what I should change to avoid this decoding error?<br />
Thanks in advance!</p>
]]>
        </description>
    </item>
    <item>
        <title>Packet Loss Analysis: Bug or Real Loss? Need Help Understanding</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4074/packet-loss-analysis-bug-or-real-loss-need-help-understanding</link>
        <pubDate>Thu, 16 Oct 2025 22:33:39 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>DashBarkHuss</dc:creator>
        <guid isPermaLink="false">4074@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<h1>Packet Loss Analysis: Packet ID labeling bug or real loss? Need Help Understanding</h1>

<h2>Recording Details</h2>

<ul>
<li>Duration: ~5 hours (304 minutes)</li>
<li>Board: Cyton Daisy</li>
<li>File format: BrainFlow CSV</li>
<li>Total packets received: 2,281,491</li>
<li>Board: Cyton-Daisy</li>
</ul>

<h2>Cyton Daisy Packet ID System</h2>

<p><strong>Important context</strong>: The Cyton Daisy labels packets from 0 to 254, <strong>skipping odd numbers</strong> (0, 2, 4, 6, ..., 252, 254), then wrapping back to 0. This gives us <strong>128 unique packet IDs per loop</strong>.</p>

<h2>The Problem</h2>

<p>I'm analyzing packet loss in my recording and found patterns that could be interpreted as either <strong>bugs in packet ID labeling</strong> OR <strong>real packet loss</strong>. I need help determining which.</p>

<h2>Pattern #1: Duplicate Packet ID + Skipped ID</h2>

<ul>
<li><strong>Pattern</strong>: The same packet ID appears twice in a row, and the expected next ID is skipped</li>
<li><p><strong>Example</strong>: Received IDs <code>136, 136, 140</code> but expected <code>136, 138, 140</code></p>

<ul>
<li>Packet ID 136 appears twice</li>
<li>Packet ID 138 is completely missing</li>
</ul></li>
<li><p><strong>If this is real packet loss</strong>: Packets with duplicate IDs represent actual lost data (127 packets lost per wraparound)</p></li>
<li><strong>If this is a bug</strong>: The board failed to increment packet IDs correctly, but the data itself is present with wrong labels (minimal actual data loss)</li>
</ul>

<h2>Pattern #2: Backwards Packet</h2>

<ul>
<li><strong>Pattern</strong>: Packet ID decreases instead of increasing</li>
<li><p><strong>Example</strong>: Received IDs <code>120, 118</code> but expected <code>120, 122</code></p>

<ul>
<li>After packet 120, the next should be 122</li>
<li>Instead received 118 (going backwards by 2)</li>
</ul></li>
<li><p><strong>If this is real packet loss</strong>: 126 packets lost in a wraparound (120 → 122 → ... → 254 → 0 → ... → 118)</p></li>
<li><strong>If this is a bug</strong>: The board sent packets out of order or mislabeled them, but the data is present</li>
</ul>

<h2>Two Interpretations</h2>

<h3>Interpretation A: It's a Bug</h3>

<ul>
<li>Packet IDs got scrambled/mislabeled</li>
<li>Data exists but labels are wrong</li>
<li>Evidence: Bimodal distribution, clustered with other bugs</li>
</ul>

<h3>Interpretation B: Real Packet Loss</h3>

<ul>
<li>Hardware correctly reports wraparound (120→122→...→254→0→...→118)</li>
<li>Actually lost 126 or 127 packets in transmission</li>
</ul>

<h2>Key Evidence</h2>

<p>The reason it doesn't seem likely that these are real packet losses is because of the distribution of packet loss in my 5 hours of data.</p>

<p>Distribution of <strong><em>Packets Lost</em></strong> Per <strong><em>Packet Gap</em></strong>:</p>

<pre><code>1-23 packets lost: 1454 gaps ██████████████████████████████████████████████████
24-99 packets lost:    6 gaps
100-125 packets lost:  148 gaps █████
126 packets lost (backwards pattern):  109 gaps ████
127 packets lost (duplicate/wraparound):  885 gaps ██████████████████████████████
</code></pre>

<p>This gap in distribution (24-99 range) suggests the 100-127 losses aren't natural wireless interference, but rather a bug in the packet ID labeling. If these were real packet losses, I'd expect to see the number of gaps taper off as the number of packets lost increases.</p>

<p><strong>Timeline shows extreme clustering:</strong><br />
This could be a cluster of bugs, but it could also be a cluster of packet loss so it's not particularly informative but I thought I'd share it anyways.</p>

<ul>
<li>All three suspicious patterns (127, 126, and 100-125 packet losses) explode simultaneously at 3.3 hours</li>
<li><p>The 198-204 minute window contains:</p>

<ul>
<li>652 gaps with 127 packets lost (duplicates)</li>
<li>108 gaps with 126 packets lost (backwards)</li>
<li>147 gaps with 100-125 packets lost</li>
</ul></li>
<li><p>Outside this window, packet loss is minimal and normal (1-23 packets lost)</p></li>
</ul>

<p><strong>Timeline Visualization:</strong></p>

<pre><code>      Time    127 (dup)   126 (back)      100-125 Visualization
--------------------------------------------------------------------------------
      0-6m            3            0            0 D
    24-30m           15            0            0 D
  ...
  192-198m           25            1            0 D B               &lt;-- First backwards
  198-204m          652          108          147 DDD BBB SSS       &lt;-- MASSIVE CLUSTER
  204-210m            1            0            0 D
  ...

Legend: D = 127 packet loss (duplicate), B = 126 packet loss (backwards), S = 100-125 packet loss
</code></pre>

<h2>Questions for the Community</h2>

<ol>
<li><p><strong>Is this a known OpenBCI bug?</strong> Has anyone seen backwards packet IDs or duplicate IDs?</p></li>
<li><p><strong>How can I definitively tell the difference</strong> between real packet loss and packet ID bugs?</p></li>
<li><p><strong>Should I assume packets are always delivered in<br />
sequential order</strong>, or could backwards jumps (120 →<br />
118), duplicates (120 → 120), and large gaps<br />
indicate out-of-order delivery or mislabeled packet IDs?</p></li>
<li><p><strong>Is there a standard method for detecting accurate packet loss with<br />
OpenBCI/BrainFlow?</strong> Am I using the right approach (packet ID<br />
sequence analysis), or is there additional metadata I should be checking?</p></li>
</ol>

<h2>Impact on My Data</h2>

<p>I'm using this EEG data for AI sleep stage classification. This will be used on live streamed data to score sleep in real time, though I'm testing it on recorded data. If the backwards patterns and duplicates are losses, I need to understand what amount of samples were lost to create accurate 30 second epochs. If this is a bug, it changes the amount of samples lost.</p>

<p>Any insights appreciated!</p>
]]>
        </description>
    </item>
    <item>
        <title>Best practices for handling uneven timestamps from Brainflow/Cyton</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/3911/best-practices-for-handling-uneven-timestamps-from-brainflow-cyton</link>
        <pubDate>Mon, 16 Sep 2024 18:45:41 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>programmatix</dc:creator>
        <guid isPermaLink="false">3911@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi there.<br />
I'm capturing data from the Cyton using some simple Brainflow Python code that writes to file.  The key part of this is 'board.add_streamer(f"file://{filename}:w")'.<br />
I've recently found that the timestamps in this file are quite odd.  Ideally they'd be 4ms part, but instead they are mostly something like 0.025ms apart, with an intermittent jump of about 60 milliseconds.<br />
Data:</p>

<pre><code>$ head -n 20 2024-09-13-21-24-32.brainflow.csv | cut -f 23
1726259073.024538
1726259073.024589
1726259073.024616  &lt;-- 0.0027ms gap from previous here
1726259073.024641 
1726259073.024665
1726259073.024690
1726259073.024713
1726259073.024737
1726259073.024762
1726259073.024786
1726259073.024810
1726259073.024834
1726259073.024859
1726259073.024883
1726259073.024907
1726259073.085258  &lt;-- ~60 millisecond jump here
1726259073.085329
1726259073.085353
1726259073.085378
1726259073.085402
</code></pre>

<p>I'm recording on a Raspberry Pi 5, from the dongle.</p>

<p>I've read through all the forum answers I could find, such as<br />
<a href="https://openbci.com/forum/index.php?p=/discussion/1328/csv-data-files-contain-only-bursts-of-data-not-continous-streaming" rel="nofollow">https://openbci.com/forum/index.php?p=/discussion/1328/csv-data-files-contain-only-bursts-of-data-not-continous-streaming</a><br />
<a href="https://openbci.com/forum/index.php?p=/discussion/2329/how-steady-is-cytons-sampling-rate-resolved" rel="nofollow">https://openbci.com/forum/index.php?p=/discussion/2329/how-steady-is-cytons-sampling-rate-resolved</a></p>

<p>I've learnt from this that the Cyton itself should be outputting at something very close to a steady 250Hz (maybe with a small amount of fixed drift).  So the buffering I'm seeing is probably introduced in some part of the stack between the dongle and the Brainflow.</p>

<p>Does anyone have any best practices for how to handle this?  Should I be trying to recalculate estimated real timestamps based on the expected sample rate (which will be challenging, as the whole reason I'm doing this timestamp analysis is because I want to handle dropout periods where the Cyton couldn't communicate with the dongle).  Are there any driver tweaks people can recommend?  Should I be using the FTDI driver?</p>
]]>
        </description>
    </item>
    <item>
        <title>Concentration Monitoring</title>
        <link>https://openbci.com/forum/index.php?p=/discussion/4073/concentration-monitoring</link>
        <pubDate>Mon, 13 Oct 2025 21:59:18 +0000</pubDate>
        <category>Cyton</category>
        <dc:creator>AvaneeshBabu</dc:creator>
        <guid isPermaLink="false">4073@/forum/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I’ve been using the Cyton for a few weeks to track concentration now and want to extract band powers for alpha, beta, gamma, and theta rather than just extracting millivolts and a time signature.</p>

<p>I understand that the OpenBCI GUI computes these values from the raw EEG stream (via FFT/PSD) using Brainflow, but I’d like to confirm the exact processing steps you use (e.g., window length, overlap, windowing function, normalization, etc.).</p>

<p>Would you be able to share or point me to the portion of the source code where the FFT and band power calculations are implemented? Having this reference would help me align my analysis with the GUI outputs for validation.</p>

<p>Thank you for your time and for all the amazing work you do to support the neurotech community.</p>

<p>**<a href="https://openbci.com/forum/index.php?p=/profile/wjcroft" rel="nofollow">@wjcroft</a>  <a href="https://openbci.com/forum/index.php?p=/profile/retiutut" rel="nofollow">@retiutut</a> **</p>
]]>
        </description>
    </item>
   </channel>
</rss>
