Is my Cyton broken/non-responsive? After attempted firmware upgrade.

SkalbeSkalbe Latvia
edited July 2019 in Cyton
I bought my Cyton board in late 2015 and use it regularly. I`ve seen a few things, but this is the first time I`ve seen it make so little sense.
Recently I discovered that my Cyton isn`t initializing properly after I updated my OpenBCI GUI.
This issue seemed fixed after I updated the Cyton board firmware 3.1.2 although I do not remember if I checked the Live Cyton data stream at that point as well.
Now I can`t get any responsive readings out of any of the pins.
Every time I launch Cyton as a Live data source the readings show thusly: SCREENSHOT
I reverted back to the very basic Cyton tutorials and went through the Getting Started and the Headband tutorial (as I have one), as well as reuploaded the firmware 3.1.2 again and tried the 3.1.1 as well as the guide stated that 3.1.2 might have some issues of receiving data.
My setup:
I used both earlobes as SRB2 and BIAS respectively and had a single electrode attached to N1P to test the board. I switched off all the other channels, switched them back on, checked impedence on the 1st channel. I tested the board with nothing connected to the pins as well.
My results:
1) The reading on Channel 1 was as seen in the screenshot - a pulse every second that does not change no matter what I do, connected or not.
2) Impedence on the channel showed ~8kohms
3) Testing the board completely empty yielded no visible responsiveness when I simply touched the pins with my finger. Some channels seemed to respond only when I touched both the first and second row of pins at the same time, albeit the channels responding were not the channels I was touching.
4) I even pulled off all the connected wires off the pins while the board was streaming data and observed no response.
5) I have NOT moved my computer or setup since the last time it was working fine.
My questions so far:
1) Is there a specific hardware version of the board that might need only one specific version of firmware? Mine has V3-32 written on it and I was under the impression that Cyton just wants the latest firmware.
2) Is there any way to check the board if it is working properly? I mean I inspected it closely and there is no visible damage done to it and either way it seems pretty robust; if any transistor or key component was physically damaged, it just wouldn`t work at all, no?

Thank you for reading and I`ll take any advice.

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Skalbe, hi.

    When you upgraded your firmware on the PIC processor, did you also upgrade the two RFduino radio chips? The sequence of upgrades is important,


    Regards,

    William

  • SkalbeSkalbe Latvia
    Hello, Mr. Croft!

    As far as I understand I had `flashed the Pic with DefaultBoard`, but it seems that my firmware was initially version 1.x.x and before I can get to 3.x.x, I have to upgrade to 2.x.x first and this includes the Device and Host processes, correct?

    I went through the entire Radio Programming guide and uploaded the `device` firmware 2.x.x and the `host` firmware 2.x.x with Arduino 1.5.8.
    I did not do any of the 'program device radio with openbci dongle' steps as I do not have any of the third party hardware or the skills necessary to fiddle with all that and I truly hope I do not absolutely have to.

    I updated Arduino IDE back to 1.8.8 and am now getting `No target found` error when uploading the DefaultBoard to PIC. I went through the troubleshooting that mentions this error and still nothing. I did upload the DefaultBoard to PIC successfully *before* I updated the `device` and `host` though so it doesn`t make sense that my machine can`t handle it suddenly, as it`s a damn pimped out rig.

    And I couldn`t find any differences between the 1.x.x to 2.x.x and 2.x.x to 3.x.x `DefaultBoard` upload processes.

    Besides the error, I am wondering if the ‘OpenBCI_32_Daisy’ is a module I should add separately from the deprecated libraries. It seems to me that it is entirely integrated with the current OpenBCI32 libraries and is not needed.

    There was a mention of the `Channel` when uploading the `device` and `host` firmware to the dongle. I left it at default 20 as I did not understand what it means. Is it something I should have set?

    I tried launching the OpenBCI GUI as I figured that the firmware on Cyton had to be 3.x.x still, but the dongle and the board don`t even seem to be connecting anymore. (failed to connect, not in range)

    Have I missed something? Why can`t Arduino IDE find the target for the third step re-upload?
  • wjcroftwjcroft Mount Shasta, CA
    edited July 2019
    "I went through the entire Radio Programming guide and uploaded the `device` firmware 2.x.x and the `host` firmware 2.x.x with Arduino 1.5.8. I did not do any of the 'program device radio with openbci dongle' steps as I do not have any of the third party hardware or the skills necessary to fiddle with all that and I truly hope I do not absolutely have to."

    It is absolutely required to update BOTH device and host RFduinos as documented. You cannot just update the host RFduino and neglect to update the device RFduino.

    Do you have any tech friends that can loan you the few parts you need (capacitors and breadboard) to program the mainboard RFduino?
  • SkalbeSkalbe Latvia
    edited July 2019
    I mean I did both the Device and Host, I just didn`t Program the device.
    In any case I`ll have to find out. Thank you. I will update with the results.
  • wjcroftwjcroft Mount Shasta, CA
    edited July 2019
    I'm still not quite understanding what you are saying "I mean I did both the Device and Host, I just didn`t Program the device."

    In order to upload the firmware to the RFduino on the mainboard ('device'), you must carry out all the steps in the document, which includes using the capacitor and touching wires to the solder pads on the mainboard. Without that step you are not actually uploading to the device RFduino. Perhaps you are referring to loading the code into the Arduino IDE app. That does not put it into the RFduino hardware.

    Regards,

    William
  • SkalbeSkalbe Latvia
    edited July 2019
    What I meant was I did what follows:
    Upload DEVICE Radio Firmware Version 2.x.x (Fall 2016)
    until:
    Program DEVICE Radio with OpenBCI Dongle
    and then:
    Upload HOST Firmware Version 2.x.x (Fall 2016)
    I have now acquired all the third party hardware and soldering tools and will attempt everything that is in the middle as well.
  • SkalbeSkalbe Latvia
    edited July 2019
    Hello @wjcroft!
    What I did:
    1) I installed Arduino 1.5.8 and got the RFduino and the OpenBCI_Radios libraries.
    2) I soldered on the headers onto the dongle.
    3) I plugged in the dongle, set it to Reset and uploaded RadioDevice32bit with the line radio.begin(OPENBCI_MODE_DEVICE,20); commented out and again with it uncommented.
    4) I connected all the pins to the breadboard and the dongle with the capacitor exactly as in the tutorial pictures.
    5) I loaded up the RadioPassThru32bit example in the Arduino. The dongle was still on Reset mode all this time.
    6) I held down the pins onto my Cyton board and pressed Upload on the RadioPassThru32bit example. This failed once, but I tried again after fixating the pins to the board better and it succeeded the second time. At this point the blue LED on the dongle turned off no matter what mode it was in.
    7) I disconnected the pins from the dongle. Loaded up the RadioHost32bit example and uploaded it to the dongle. Once with the line radio.begin(OPENBCI_MODE_HOST,20);. commented out and again with it uncommented.
    8) I reinstalled my Arduino IDE to 1.8.8 and replaced all the libraries accordingly.
    9) I set the dongle to GPIO_6 mode and tried uploading the DefaultBoard to Cyton Pic with Cyton turned on in PC mode. The upload failed numerous times with "No target found" error. The dongle shows some green blinking lights when attempting to do this, but the blue LED is still off.
    10) I found some topics suggesting the radio autoscan feature in the OpenBCI GUI, but it returns Error connecting to serial port on all queries. The COM port, however does show up properly in the GUI as I plug the dongle in and out.

    The only part which seemed unclear to me in the process was the line:
    "First, solder the headers that came with your OpenBCI Dongle. Then, move the switch to the RESET position, and upload some dummy code to the Dongle radio so that it doesn’t interfere with the Serial upload process."
    What is meant by `dummy code`?
    Otherwise no success.
  • wjcroftwjcroft Mount Shasta, CA
    The dummy code is what you did at step #5.

    Try manually setting your channel to 20.
  • SkalbeSkalbe Latvia
    Thank you, @wjcroft for the responses. You, sir are truly a scholar and a gentleman.
    I took a long walk and the big picture came together.
    It all works perfectly now.

    This is the order of steps I took to successfully update from 1.x.x to 3.x.x:
    Set up the 1.5.8 IDE and libs.
    Switch dongle to reset.
    Upload RadioPassThru32bit to dongle.
    Connect all the wires through the breadboard as in the radio tutorial pictures.
    Switch dongle to gpio6; switch board to PC, hold down the wires onto Cyton.
    Upload theRadioDevice32bit.
    Remove all the wires and switch dongle to reset.
    Upload theRadioHost32bit.
    Update the Arduino IDE and libraries to latest.
    Switch dongle to gpio6; switch cyton to PC.
    Finally upload the cyton withDefaultBoard.

    Once you understand why and what is done in each step, it makes sense, but as far as that radio programming guide goes, it is really hard to follow for someone with no experience because it does not describe each step in a chronological order so if you don`t really understand what`s what and why, it can be very confusing. Hope this helps someone along the way.
  • mbamontembamonte Argentina
    Hi @Skalbe, I was also having the same problem uploading firmware to Cyton (PIC32) and RFduinos (Device and Host). 

    I followed exactly the steps above, and it worked ! Thank you. If you don't mind, I'll complete the order of steps with some comments that might be helpful to some others:

    ·       
    This is the order of steps I took to successfully update from
    1.x.x to 3.x.x:

    ·       
    Set up the 1.5.8 IDE
    and libs. Follow exactly steps in https://docs.openbci.com/Hardware/06-Cyton_Radios_Programming_Tutorial,
    “SETTING UP YOUR SYSTEM TO PROGRAM OPENBCI
    RADIOS” section.

    ·       
    Switch dongle to
    reset.

    ·      
    Upload RadioPassThru32bit to dongle.

    ·       
    Connect all the wires through
    the breadboard as in the radio tutorial pictures.

    ·       
    Switch dongle to gpio6; switch
    board to PC, hold down the wires onto Cyton.

    ·       
    Upload theRadioDevice32bit

     

    First
    flash the Device with this code:

    void
    setup() {

      radio.flashNonVolatileMemory();

      radio.begin(OPENBCI_MODE_HOST,20);

    }.

    Then
    flash the Deviece a second time with this code:

    void
    setup() {

      //radio.flashNonVolatileMemory();

      radio.begin(OPENBCI_MODE_HOST,20);

    }.

    ·       
    Remove all the wires
    and switch dongle to reset.

    ·       
    Upload theRadioHost32bit.

     

    First
    flash the Host with this code:

    void
    setup() {

      radio.flashNonVolatileMemory();

      radio.begin(OPENBCI_MODE_HOST,20);

    }.

    Then
    flash the Host a second time with this code:

    void
    setup() {

      //radio.flashNonVolatileMemory();

      radio.begin(OPENBCI_MODE_HOST,20);

    }.

     

    ·       
    Update the Arduino IDE
    and libraries to latest (follow https://docs.openbci.com/Hardware/05-Cyton_Board_Programming_Tutorial).

    ·       
    Switch dongle to
    gpio6; switch cyton to PC.

    ·       
    Finally upload the cyton withDefaultBoard
    (with the Cyton in Bootloader mode. See “Put Cyton in Bootloaded Mode” section in the previous link).


    a

    ad

    a

     

  • matheusgmussimatheusgmussi Edmonton, Alberta

    I just wanted to thank you, guys! This thread was soooo helpful!!
    If I could make a suggestion, I think the whole 'updating firmware' page should contain all those steps (updating radios step-by-step, updating board), to make it clearer. Currently, the information is too spread and is not that obvious for a novice all those steps are necessary.

Sign In or Register to comment.