Cyton Board not working after loading AlphaWave firmware

edited March 2018 in Cyton
Hi everyone!
I have a BIG problem, i always used cyton board with LSL networking system for real time streaming of time-series data in Matlab.
I tried to change both radio and board firmware in order to reproduce this application:


but I think I made some mistakes... because into the android app I can find the bluetooth device but when I start the record I can't see data... Now I want to re-upload the default conditions, but I don't know how... How can I fisically upload the host and the device radio default firmware? 

Thank u so so so much, I don't find any documetation about this.
I'm really desperate.

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Khaleesi, hi.

    As I think you are aware, Hassan's (Alfahad)'s project is based on the very old V1 firmware. And changes the Cyton mainboard RFduino radio so that it speaks Bluetooth Low Energy 4.0 protocol. Instead of the default high speed GZLL protocol used by the Cyton dongle.

    The Cyton firmware (3 processors: PIC32, dongle RFduino, and mainboard RFduino) use much later firmware, V2 or V3 depending on when your kit was shipped. Or when you upgraded.

    The instructions for reloading the default firmware are here:


    William

  • @wjcroft ;

    Hi William!! :D Thank u very very very much!! :D So, if I want to interface my V3 Cyton firmware with Android App do I have to change the radio device and host firmware before uploading?
  • mbamontembamonte Argentina
    Hi, 

     I'm trying to test the AlphaWave demo, because I find it really interesting  (https://openbci.com/forum/index.php?p=/discussion/694/android-based-app-alphawave-demo). 

      I've uploaded the board code (OpenBCI_32bit_BLE), and the radios codes. Also, installed Android App in a cell phone. So far, everything have gone fine. 

      The App connects with de RFduino on the Board. But the App can't register values of alertness other than 0%. 

      So I tried to modify the board code (OpenBCI_32bit_BLE) , to use a baseline: UseStandardBase = true.

     But I couldn't upload any code, anymore. I can upload codes to both Radios, but not to the PIC microcontroller. The PIC enters bootloader mode (blu led blinks), but when I tried to upload some new code (even a simple one, with very few lines), or the original firmware, a get this message:

    No target found.
    Programmer for Microchip PIC32 microcontrollers, Version 2.1.46
    An error occurred while uploading the sketch

     I've tried uploading many times, over the air, using the dongle, always getting the same message.

     Could it be a problem in the bootloader? Would reprograming it solve the problem? 
     How could I reprogram it? Is the PICKit3 neccesary? 

      I've read this thread and also 

      And did what is suggested here and there, but without luck.

      I'd really appreciate your help.


  • wjcroftwjcroft Mount Shasta, CA
    This discussion was created from comments split from: chipKIT uploading tips & restarting bootloader.
  • wjcroftwjcroft Mount Shasta, CA
    I split this current thread off of the general uploading tips,


    Because it does not belong there; it is specific to those trying to recover from AlphaWave. And also added a caution on the AlphaWave thread,


    William

  • wjcroftwjcroft Mount Shasta, CA
    @mbamonte, hi.

    I'm sorry you are facing this predicament. It sounds like the PIC32 bootloader may be corrupted. Have you seen this page which details the upgrade process in more detail?


    I also put your post in this thread where it belongs. The "chipKIT uploading tips" thread is more targeted at users who are not altering the RFduino firmware. This is because the PIC32 and RFduino firmware loading coordination is tightly coupled.

    I hope you can get your Cyton back to working order using the above page. If the bootloader is indeed scrambled, then you may well need the Pickit3.

    Regards,

    William

  • mbamontembamonte Argentina
    Thank you William for you quick answer! I've followed up the link you suggested (https://github.com/OpenBCI/OpenBCI_Cyton_Library/blob/master/UPGRADE_GUIDE.md), step by step, and I'm still getting the same message: "No target found.
    Programmer for Microchip PIC32 microcontrollers, Version 2.1.46. An error occurred while uploading the sketch".  

    I think the bootloader is indeed scrambled. 

    In order to reprogram de bootloader, I have two questions:
    1) Is the Pickit3 the only way to do it? If affirmative, is there a tutorial so I can follow some "safe" steps?
    2) If negattive, how can I do it?

    Thanks!
  • wjcroftwjcroft Mount Shasta, CA
    Did you reprogram the RFduinos EXACTLY as described in the document? There is a prescribed order in which the RFduinos are flashed and in addition a step where the radio channel is installed in a flash location. This allows the GUI to set the radio channel.


    Assuming you have done all of this, have you attempted to use the AutoScan feature of the GUI?


    Click the arrow to expand the section. Autoscan will attempt to get the RFduino's to use the same radio channel.

    Regards,

    William

  • mbamontembamonte Argentina
    William, I reprogram the RFduinos as described in the document. In this order:

    1) Flash the Device with RadioDevice32bit (flashing first the RadioPassThru32bit.ino in the HOST, by selecting the Dongle switch button in the RST position, and making the connections suggested in https://docs.openbci.com/Hardware/06-Cyton_Radios_Programming_Tutorial; then switching the button back over tho the GPIO6 side, and flashing RadioDevice32bit.ino in the DEVICE). The Arduino 1.5.8 outputs a "success" message, after RFduino's been flashed. 
    2) Flash the Host with RadioHost32bit (using the switch in GPIO6 position). The Arduino 1.5.8 outputs a "success" message, after RFduino's been flashed. 
    3) Flash the Pic with DefaultBoard. Here is were I get the message: "no target found"

    In step 1), I've flashed the board with the line radio.flashNonVolatileMemory(); in the setup() function, in this order:

      radio.begin(OPENBCI_MODE_DEVICE,20);
      radio.flashNonVolatileMemory();

    Then I flashed again the RFduino, with the second line commented out:

      radio.begin(OPENBCI_MODE_DEVICE,20);
      //radio.flashNonVolatileMemory();

    (also tried the same procedure but inverting the order:

      radio.flashNonVolatileMemory();
      radio.begin(OPENBCI_MODE_DEVICE,20);

      //radio.flashNonVolatileMemory();
      radio.begin(OPENBCI_MODE_DEVICE,20);
    )

    I attempted to use the AutoScan feature of the GUI (version 3.3.1), and got this message: "Failure: system is down".
    Then I clicked on "get channel" button, and the GUI printed this message: "failure: host on channel number: 25", which is not the channel expected, given the lines of code written above (channel: 20).

    Regards, Marcos.
  • wjcroftwjcroft Mount Shasta, CA
    Did you try setting the channel in the GUI, manually to 20?
  • mbamontembamonte Argentina
    Yes, clicking the "Change channel" button, but got this message: "Failure: communication timeout - device failed to poll Host". 
  • wjcroftwjcroft Mount Shasta, CA
    If the RFduinos were really flashed with the correct code and talking to each other, they should be able to change the channel or Autoscan. These functions are performed in the RFduino firmware, and are not part of the PIC32 firmware.

    Hence it looks to me like your issue is more with the RFduino radios than the PIC32 main processor. The bootloader is probably intact.

    Not sure where you are going wrong with the RFduino programming.
  • wjcroftwjcroft Mount Shasta, CA
    There might be some relevant threads here,


    On this thread, Derek succeeded after some struggles. You can click on his (bold face) name, then use the Message button to send a private message.

Sign In or Register to comment.