-
Notifications
You must be signed in to change notification settings - Fork 95
Update Cyton Programming Tutorial #286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||
---|---|---|---|---|---|---|---|---|
|
@@ -20,8 +20,7 @@ The OpenBCI Cyton boards have powerful microcontrollers that ship with the lates | |||||||
These instructions apply to programming the Cyton with firmware versions 2.x.x, 3.x.x, and onwards! The radio firmware (the firmware for the dongle and the radio module on your Cyton Board) has not been updated since prior to Fall 2016, so as long as you purchased your Cyton Board after that date, you do not need to worry about reprogramming your radios. | ||||||||
|
||||||||
**You will need:** | ||||||||
|
||||||||
- Computer running [Arduino v1.8.0](https://www.arduino.cc/en/Main/Software) or later | ||||||||
- Arduino IDE v1.8.19. You can find this in the legacy page of the [Arduino Downloads section](https://www.arduino.cc/en/software/). Do not use Arduino v2 or later. Only v1.8.19 works with this tutorial | ||||||||
|
||||||||
- OpenBCI Dongle connected to USB port | ||||||||
|
||||||||
|
@@ -33,9 +32,7 @@ These instructions apply to programming the Cyton with firmware versions 2.x.x, | |||||||
|
||||||||
- OpenBCI WiFi Master Firmware (follow guide below to download) | ||||||||
|
||||||||
- Arduino IDE v1.8.19. You can find this in the legacy page of the [Arduino Downloads section](https://www.arduino.cc/en/software/) | ||||||||
|
||||||||
**Note for Windows users:** While installing Arduino 1.8, if the installer instructs you to uninstall 1.5.8, move the Arduino folder containing 1.5.8 from `Program Files` to your desktop or another folder. Rename this folder to `Arduino_1.5.8`. Open the `Change or remove program` app in Control Panel and uninstall the Arduino application. There will be a popup indicating that the files do not exist and asking if you want to remove the program from the files list; select yes. Then install 1.8.0 as normal. Navigate back to your `Program Files` folder and locate the Arduino folder. Rename this folder to `Arduino_1.8.0`. Now drag and drop the `Arduino_1.5.8` folder back into the `Program Files` folder. | ||||||||
**Note for Windows users:** While installing Arduino 1.8, if the installer instructs you to uninstall 1.5.8, move the Arduino folder containing 1.5.8 from `Program Files` to your desktop or another folder. Rename this folder to `Arduino_1.5.8`. Open the `Change or remove program` app in Control Panel and uninstall the Arduino application. There will be a popup indicating that the files do not exist and asking if you want to remove the program from the files list; select yes. Then install `1.8.19` as normal. Navigate back to your `Program Files` folder and locate the Arduino folder. Rename this folder to `Arduino_1.8.19`. Now drag and drop the `Arduino_1.5.8` folder back into the `Program Files` folder. | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [nitpick] The phrase 'While installing Arduino 1.8' plus later 'install
Suggested change
Copilot uses AI. Check for mistakes. Positive FeedbackNegative Feedback |
||||||||
|
||||||||
### Install Firmware From Arduino Library Manager (easiest!) | ||||||||
|
||||||||
|
@@ -109,22 +106,20 @@ If you followed the process in the previous link, you will be able to select the | |||||||
|
||||||||
- In the Arduino IDE, go to `File > Examples > OpenBCI_32bit_Library > DefaultBoard` to launch the Cyton firmware. **NOTE: You must upload ONLY the `DefaultBoard` Sketch!** | ||||||||
|
||||||||
### Pre-upload Hardware Setting | ||||||||
### Dongle Switch Selection | ||||||||
|
||||||||
- Make sure that the slide switch on the OpenBCI Dongle is switched to the GPIO6 selection. If it's on the other side, it will try to program the Dongle-mounted RFduino! | ||||||||
- Make sure that the slide switch on the OpenBCI Dongle is switched to GPIO6. If it's on RESET, it will try to program the Dongle-mounted RFduino! | ||||||||
|
||||||||
### Plug in Dongle and Select Serial Port | ||||||||
|
||||||||
Now is a good time to plug your Dongle in and power down the board. | ||||||||
|
||||||||
 | ||||||||
|
||||||||
- Select the correct serial port for your OpenBCI Dongle. | ||||||||
|
||||||||
- On Macs, this will be named **/dev/tty.usbserial-DN00nnnn**, where the nnnn is a combination of numbers and letters specific to your OpenBCI Dongle. | ||||||||
Plug in the Dongle to your computer and select the Serial port as shown below. | ||||||||
|
||||||||
- On MacOS, this will be named **/dev/tty.usbserial-DN00nnnn**, where the nnnn is a combination of numbers and letters specific to your OpenBCI Dongle. | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We filter out tty ports in the GUI as of 5.2.0 for both the Cyton dongle and Networking serial output (sending data to an arduino from the GUI). |
||||||||
- On Windows, the serial port will be listed as a numbered COM port. | ||||||||
- On Linux, it will be different. | ||||||||
|
||||||||
 | ||||||||
|
||||||||
### Put Cyton in Bootloader Mode | ||||||||
|
||||||||
- When you are happy with the code, you will have to put the 32-bit board into bootloader mode. We don't have a way to remotely reset the chipKIT-compatible IC, so you have to do it manually with the procedure that follows: | ||||||||
|
@@ -136,16 +131,20 @@ Now is a good time to plug your Dongle in and power down the board. | |||||||
3. Power ON the OpenBCI Board. | ||||||||
4. Release the RST button while still holding down the PROG button. | ||||||||
5. Release the PROG button. | ||||||||
6. Verify that you see the blue LED on the 32-bit board blinking pleasantly as shown below | ||||||||
|
||||||||
 | ||||||||
|
||||||||
- Verify that you see the blue LED on the 32-bit board blinking pleasantly. | ||||||||
 | ||||||||
|
||||||||
### Upload the Firmware | ||||||||
|
||||||||
- Press the upload button on the Arduino IDE. | ||||||||
|
||||||||
That's it! You will see some blinky lights on the Dongle, and after a short while, the Arduino IDE will tell you that it's done. Happy hacking! | ||||||||
 | ||||||||
|
||||||||
- The Arduino IDE will first compile your code and then upload the compiled hex file. | ||||||||
|
||||||||
- Once the upload is done and if successful, the Arduino IDE will display a success message as shown below, | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace the preceding sentence's trailing comma with a period and tighten wording for clarity.
Suggested change
Copilot uses AI. Check for mistakes. Positive FeedbackNegative Feedback |
||||||||
 | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [nitpick] Alt text 'Cyton Programming Success' is vague; consider a more descriptive alt text like 'Screenshot of Arduino IDE showing successful upload message for Cyton board' to improve screen reader usefulness.
Suggested change
Copilot uses AI. Check for mistakes. Positive FeedbackNegative Feedback |
||||||||
|
||||||||
## Troubleshooting | ||||||||
|
||||||||
|
@@ -163,11 +162,9 @@ If the upload fails with `Program Flash Failed` it's due to the Arduino IDE not | |||||||
|
||||||||
- Keep the Board and Dongle physically close to each other during the upload. | ||||||||
- Keep the Arduino IDE open, front and center and don't use any other programs during the upload. | ||||||||
- Close all open programs such as (Google Chrome, MS Word, etc...) and only have the Arduino 1.6.5 IDE open during upload. | ||||||||
- Close all open programs such as (Google Chrome, MS Word, etc...) and only have the Arduino IDE open during upload. | ||||||||
- Restart your computer and don't open any other programs other than the Arduino IDE used for programming. | ||||||||
- If all else fails, find a friend with a more powerful computer and do the uploading from their computer. | ||||||||
|
||||||||
In extreme conditions, if you have tried all five of the above methods and still can't upload, then you can try to change the Device's polling time. The Poll Time can be adjusted using the OpenBCI Radio Config Utility software. | ||||||||
- If all else fails, try a different computer or Operating System. | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [nitpick] Previous specific troubleshooting guidance about adjusting Radio Poll Time (using the Radio Config Utility) has been removed; if that remains a valid advanced remedy for persistent 'Program Flash Failed' errors, consider retaining it to preserve actionable recovery steps.
Suggested change
Copilot uses AI. Check for mistakes. Positive FeedbackNegative Feedback |
||||||||
|
||||||||
## Notes On Updating and Using v2.0.0 Cyton Firmware | ||||||||
|
||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The hard requirement 'Only v1.8.19 works with this tutorial' is very restrictive without explaining why (e.g., driver, board package, or plugin incompatibility). Consider clarifying the constraint (reason + whether other 1.8.x builds are acceptable) or rephrasing to 'Use Arduino IDE 1.8.x (1.8.19 recommended); Arduino IDE 2.x is not supported for this tutorial.'
Copilot uses AI. Check for mistakes.