Is my Cyton broken? -> incomplete mainboard RFduino firmware upgrade

DerekDerek Berlin
edited November 2017 in Cyton
Dear all,

I would like to begin with the appropriate newbie disclaimer: I very much depend on step-by-step instructions (like the excellent "Getting Started" section) and feel a bit lost when I encounter a problem on my own. Expect stupid questions from me! Thank you!

So, I bought a Cyton two years ago for an EEG-project, did a basic set up back then and, as far as I remember, everything went fine. Only that the project wasn't our highest priority, was post-poned several times and we finally rebooted some weeks ago; meanwhile, Cyton was not in use.

Now, I downloaded the newest version of the OpenBCI software and updated firmwares of the dongle and the Cyton board to the current versions.
Again, I walked through the Getting Started section, but this time, I have an oddly strong constant noise on all electrodes. The following image is with no electrodes attached:

No_electrodes.png

So channel 1 shows a constant 1 Hz-signal and all the other channels are just caotic. Note that scaling is set to 'auto' because signal strength goes far beyond the available scales. Impedances are also in the 10s of thousands.

I nevertheless proceeded to set up an arrangement for polysomnography:
(SRB2: right mastoid, N1P: outer corner of the right eye, N2P: outer corner of the left eye, N3P: left frontal, N4P left parietal, N5P: left occipital, N6P: left chin, N6P2: clavicule, N7P: empty, N8P: chest; BIAS: empty, AGND: left mastoid).

connected.png

But besides getting a decent EKG on chanel 8, there was little change. And the EKG might also disappear with any handling of software or hardware. But overall, detaching or reattaching electrodes made no notable difference, be it ground, reference or any of the others. I think I used a sufficient amount of contact gel, but that didn't improve impedances. Channel 1 looks a bit more organic, but that's just by filtering, and it is not synchronous to heart beat, even though it might appear so on first glance.

One last curiosity I want to point out is that when I silence a channel, it will actually be the subsequent channel that goes flat.

Silent_6.png

Here, I turned off channel 5 (yellow), as you can see by the greyed number 5; it is however channel 6 that goes silent; it might eventually come back.

As for trouble-shooting, I didn't know what to do beyond checking the electrodes themselves (which seem fine) and reinstalling the software and re-uploading the firmware. So I'm stuck - and would be happy about any suggestions!

Thanks in advance,
Derek

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Derek, hi.

    None of your images came through. Best approach is to upload to a file sharing site such as Google Drive.

    With nothing connected, the signals look noisy.

    DO NOT use AGND. Only use your IN*N (closest to board) pins, as well as SRB2 and Bias (also closest to board).

    If you are mixing EMG and ECG signals with EEG, you must adjust gain downward on the louder millivolt level signals (ECG, EMG). EEG is in the microvolt range. See the Cyton tutorial for how to adjust gain.

    William

  • wjcroftwjcroft Mount Shasta, CA
    Before attempting PSG, follow the Cyton tutorial steps exactly. This would have shown Bias and SRB2 connections. And how to disconnect SRB2 for the non-EEG signals.
  • DerekDerek Berlin
    edited November 2017
    Hi William,

    Thanks for the rapid reply!
    That's weird, I can see the images in my thread. But I'll post links here:

    image one: no electrode connected
    https://www.dropbox.com/s/hmod1bpofzyi8t6/No_electrodes.png?dl=0

    image two: electrodes connected, decent ECG-signal
    https://www.dropbox.com/s/wx79nwel5hbqldg/connected.png?dl=0

    image three: shutting down channel 5 will silence channel 6
    https://www.dropbox.com/s/9t85fi7zqkdl01b/Silent_6.png?dl=0

    I failed to mention in my original post that I indeed adjusted gain to account for the differences in ECG, EMG and EEG signal strength. It didn't make much of a difference, though. The noise on all the channels is in the 100,000 µV range (as were the impedances), which doesn't make a lot of sense. And that couldn't be fixed by loads of contact gel.
    Thanks for pointing out that I have to connect BIAS instead of AGND for ground, that was definitely a mistake I made - I did however switch back and forth to BIAS at some point when I was just randomly trying out different options. And it was all the same, just high amplitude noise, no mattter if I  connected or disconnected the ground, reference or any other electrode. Even the moment of (dis)connecting was indistinguishable in the time series of the respective electrode.
    As you can see in image two, I did get an ECG signal, but it wasn't reliably repreducible. Any thoughts in particular on the 1-Hz-signal that I always have on channel 1? Note how it phase shifts when turning off channel 5 in image three.

    Thanks again for any feedback!
    Cheers,
    Derek
  • wjcroftwjcroft Mount Shasta, CA
    Derek,

    The 1 Hz ramp signal on Channel 1 looks like some type of Cyton or GUI glitch. It looks like the decoding of the packet stream is somehow out of whack. Just guessing here, but if the packet counter field was somehow being interpreted as data, it would then form a ramp like this.


    Are you sure you upgraded BOTH the mainboard RFduino AND the dongle RFduino? The new V3 dongle firmware requires matching firmware in the onboard RFduino. Mentioning AJ @pushtheworld.

    Did you verify operation of the Cyton BEFORE you did the upgrade to V3 firmware? Just to confirm that your hardware was ok at that time.

    As I said previously, unconnected pins can generate random noise. 

    I'm also confused. Your previous post on this thread said that "connected.png" was your PSG setup with Channels 1-6 and 8 connected (nothing on 7). But now your connected.png, you say is only two channels connected.

    Regards,

    William

  • Hi William,

    Your intuition seems to be correct. Even though I was pretty sure that my firmware update had also included the dongle, I was apparently mistaken - I found no trace of previously having downloaded the pertinent files for the dongle.
    So now I updated the HOST-firmware but I am missing the tools to update the DEVICE-firmware to Cyton. Correct me if I'm wrong, but this is the firmware for the bluetooth radio and not the chipset of the Cyton board itself, which I had updated using the ChipKit Core - right?

    Unfortunately, now I have no means of connecting to the Cyton (neither Arduino nor the OpenBCI GUI will find it) and I guess this won't be possible until I have the tools necessary for wiring to Cyton and updating the DEVICE-firmware - right? There is some small success here that the OpenBCI GUI communicates correctly with the dongle ("Success: System up") while previously it would post an error message (something along the line of "Error:check connection/port"), even though it would eventually connect to Cyton and now doesn't.

    Sorry about not being precise in my description, but the first version is correct: the image "connected.png" is with all channels in use except for CH7.

    Cyton did work before the upgrade to V3, even though we only did brief test-runs.

    BTW: do I understand correctly that while flashing the dongle, channel definition must read
    radio.begin(OPENBCI_MODE_DEVICE,2);
    if I am using channel 2, which is the channel my Cyton is tuned to? It says '20' in the original code and I take that to be just a placeholder.

    Thank you very much for your time and effort!
    Best,
    Derek

  • Just one more question:

    I managed to downgrade back to HOST 1.x.x and now the dongle and Cyton reestablished communication (with all the artifacts motivating my original post). But the connection is fine for Arduino and programming the board itself.
    If I were to buy a Wifi Shield and my artifacts do arise from an incompatibility of the chipset firmware and the bluetooth firmware - is it likely that the signal will be just fine once I connect via Wifi?

    Thanks!
    Derek
  • wjcroftwjcroft Mount Shasta, CA
    Only AJ @pushtheworld can answer that.

    It seems from my readings of the upgrade guides, that the steps must be followed EXACTLY and in the order prescribed. Otherwise all three processors will not be speaking in the same tongue.  :-)  So it should be possible for you to upgrade if you go in that order.

  • Aha! I followed the instructions on the OpenBCI tutorial (your second link) and went straight from V1 to V3, skipping V2. Additionally, I flashed the board first and then the dongle and then couldn't flash the device. Unfortunately, I hadn't come across the UPGRADE_GUIDE you reference in your first link.
    So I'll start all over and let you know how it went.

    Thank you so much!
    Derek
  • But wait a minute... I still need the extra tools (serial connection cables) to directly connect my Cyton in order to flash the onboard RFduino... no?
  • wjcroftwjcroft Mount Shasta, CA
    If you follow the instructions, I believe it is possible to use the dongle itself (RFduino host) with the short cables to upgrade the RFduino device (on the mainboard). So you don't need another dongle type device for the upgrade.

  • If I unterstand you correctly, it is assumed that I already have all the cables that are necessary, i.e. that they were included in the shipment. Oh dear... I will have to go searching... :-)
    Thanks again!
  • That's the tutorial that I had been using. But in the "UPLOADING DEVICE FIRMWARE TO CYTON BOARD" section it is presupposed that you have a lot of extra material (either a third party FTDI board and/or a breadboard, a capacitator and jumper cables) which I don't possess at this moment AND it involves soldering if I don't want to use a third party board. Since I have never done that, it seems most reasonable to buy the RFduino FTDI with built-in capacitator and jumper cables to upload the device firmware.
  • wjcroftwjcroft Mount Shasta, CA
    The tutorial shows how to do it with the dongle you have. It does require a few wires and capacitors that most electronics folks have. You are correct that the other FTDI and such boards shown may be 'easier'. But since you are in Germany, not sure how quickly / easily you can get such a board.
  • DerekDerek Berlin
    edited November 2017
    Hi William,

    Well, I could get the RFduino USB shield for some 30 bucks on the internet (2-3 weeks delivery) but unlike in the tutorial, it comes without capacitor, so there's not much of an advantage here. Alternatively, I can walk over to the nearby electrical retail, buy a breadboard, jumper cables, a capacitor, and female header pins for virtually no money at all, dig out the soldering iron that I inherited, take a youtube course on soldering and then go for it.
    What could possibly go wrong..? (I will elaborate on that question in a later post) ;-)

    Regards,
    Derek
  • Hi William,

    I am happy to report that it worked! I got the breadboard, cables, etc., soldered the header pins to the dongle, built the circuitry according to the instructions and was able to flash the RFduino firmware. And now i have a very beautiful EEG signal.
    This is so elating: I feel like having evolved from being a rookie without the foggiest notion of what he's doing to being a rookie without the foggiest notion of what he's doing but with a stroke of luck.

    I thank you sincerely for your patient and thoughtful reflections on my problems that eventually set everything on the right track! I would have been stuck!

    Best,
    Derek

    (Oh, BTW, this post hasn't really been about polysomnography; if anyone happens to have a question about clinical polysomnography, contact me and maybe I can provide some help)
  • wjcroftwjcroft Mount Shasta, CA
    Derek, thanks. Congrats.

    I modified the thread title to reflect what we concluded.

    Regards,

    William

Sign In or Register to comment.