Major update
Added Ganglion Data Format, Clarified GUI page. Fixed broken links
@@ -1,9 +0,0 @@
|
||||
#PURCHASES AND PAYMENT PROCESSING
|
||||
|
||||
##How do I request a quotation or an invoice?
|
||||
|
||||
If you need a quotation or an invoice please email us at contact@openbci.com, with the items you want in the quotation and the shipping address to give you an accurate shipping rate.
|
||||
|
||||
##When will my credit card be charged?
|
||||
|
||||
Our store system will authorize your card the moment you place your order and a settlement (debit) will likely occur within 48 hours.
|
||||
@@ -70,12 +70,12 @@ If EEGLAB isn't already running, enter "eeglab" into the Matlab command line to
|
||||
|
||||
In the pop-up window that appears, enter information about the data set. Select "Matlab variable", and enter the name of the variable where your matrix is stored. Enter the Data Sampling rate (it should be commented in at the top of the txt file - usually 250 Hz by default in the OpenBCI GUI). The other fields can be left at default, and EEGLAB will automatically fill in the information from the data set.
|
||||
|
||||
Channel locations are useful for plotting EEG scalp maps in 2-D or 3-D format. OpenBCI uses the standard 10-20 format for the 8 and 16 channel models, which can be found within these sfp files: [8 channel](/assets/electrode_positions_8channel.sfp) and [16 channel](/assets/electrode_positions_16channel.sfp). You can then import channel data by click "Browse" next to "Channel location file or info" and locating the OpenBCI sfp file you downloaded.
|
||||
Channel locations are useful for plotting EEG scalp maps in 2-D or 3-D format. OpenBCI uses the standard 10-20 format for the 8 and 16 channel models, which can be found within these sfp files: [8 channel](../assets/matlab/electrode_positions_8channel.sfp) and [16 channel](/assets/matlab/electrode_positions_16channel.sfp). You can then import channel data by click "Browse" next to "Channel location file or info" and locating the OpenBCI sfp file you downloaded.
|
||||
|
||||
The data is now imported into EEGLAB, and you can perform a variety of data analysis on the data.See ((performing EEG data analysis and visualization)) for next steps on working with your data.
|
||||
|
||||
####Streaming into EEGLAB
|
||||
From what I can tell, EEGLAB seems to work primarily with datasets and recorded data. To use streaming in MATLAB with these toolboxes, see the [BCILAB tutorial](#BCILAB) below.
|
||||
From what I can tell, EEGLAB seems to work primarily with datasets and recorded data. To use streaming in MATLAB with these toolboxes, see the [BCILAB tutorial](http://docs.openbci.com/3rd%20Party%20Software/01-Matlab#matlab-bcilab) below.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
## Installation
|
||||
|
||||
**Windows**: Follow [OBCI on Windows](http://docs.openbci.com/tutorials/10-OpenBCI_on_Windows) tutorial to properly connect your OBCI board on Windows. Then, continue this tutorial.
|
||||
**Windows**: Follow [OBCI on Windows](http://docs.openbci.com/Tutorials/11-OpenBCI_on_Windows) tutorial to properly connect your OBCI board on Windows. Then, continue this tutorial.
|
||||
|
||||
**OS X**: Visit the [Win7 Virtual Box installation tutorial](http://docs.openbci.com/tutorials/11-Win7_VM_Installation) first, then follow these instructions.
|
||||
**OS X**: Visit the [Win7 Virtual Box installation tutorial](http://docs.openbci.com/Tutorials/12-Win7_VM_Installation) first, then follow these instructions.
|
||||
|
||||
**NOTE**: [Linux builds](http://openvibe.inria.fr/downloads/) of OpenViBE also work. Some linux users might find this guide useful but keep in mind it is ment primarily for mac + win7.
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
### II. Connect the Board
|
||||
|
||||
Connect your OBCI board and make sure it is recognized as a COM port and it's latency is set to 1 ms. To troubleshoot, read [this](http://docs.openbci.com/tutorials/10-OpenBCI_on_Windows).
|
||||
Connect your OBCI board and make sure it is recognized as a COM port and it's latency is set to 1 ms. To troubleshoot, read [this](http://docs.openbci.com/tutorials/11-OpenBCI_on_Windows).
|
||||
|
||||
### III. Connect to OpenVibe
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ This tutorial will show you how to set up LSL using the OpenBCI Python API and t
|
||||
###Using Python
|
||||
1) **Set up OpenBCI Python**
|
||||
|
||||
First, download and set up the OpenBCI Python API, which can bound found at the [OpenBCI Python repo ](https://github.com/OpenBCI/OpenBCI_Python) on Github. A full guide regarding setting up and using the API can found on our [OpenBCI_Python Tutorial](http://docs.openbci.com/software/05-OpenBCI_Python).
|
||||
First, download and set up the OpenBCI Python API, which can bound found at the [OpenBCI Python repo ](https://github.com/OpenBCI/OpenBCI_Python) on Github. A full guide regarding setting up and using the API can found on our [OpenBCI_Python Tutorial](http://docs.openbci.com/OpenBCI%20Software/05-OpenBCI_Python).
|
||||
|
||||
The OpenBCI Python API repo already has an LSL plugin created to support streaming with OpenBCI. However, to use this plugin, you must first set up the other components of LSL on your computer.
|
||||
|
||||
@@ -29,7 +29,7 @@ Now that you have both the OpenBCI Python API and LSL set up on your system, you
|
||||
1. Start the OpenBCI Python program via the command line by typing
|
||||
|
||||
>python user.py -p=port --add streamer_lsl
|
||||
Replace "port" with the serial port that the OpenBCI dongle is connected to (e.g. COM1). You can find out the name of your port by starting the OpenBCI GUI and seeing what ports appear when you select "LIVE" as the data source. For more information on doing this, see our [Getting Started Guide][(http://docs.openbci.com/tutorials/01-GettingStarted)]
|
||||
Replace "port" with the serial port that the OpenBCI dongle is connected to (e.g. COM1). You can find out the name of your port by starting the OpenBCI GUI and seeing what ports appear when you select "LIVE" as the data source. For more information on doing this, see our [Getting Started Guide](http://docs.openbci.com/Tutorials/01-Cyton_Getting%20Started_Guide)
|
||||
|
||||
2. A message should appear on the console displaying the board being instantiated, available plugins, and the activation of the plugin streamer_lsl. It should show that you have two streams ready to be activated - EEG (8 channels) and AUX (3 channels).
|
||||
|
||||
@@ -44,7 +44,7 @@ If your setup was successful, you won't see any additional information output on
|
||||
##Next Steps
|
||||
Once you have the Lab Streaming Layer set up with your OpenBCI board, check out these other tutorials to view the stream in a variety of different programs:
|
||||
|
||||
[Matlab tutorial](http://docs.openbci.com/research%20tools/Matlab)
|
||||
[Matlab tutorial](http://docs.openbci.com/3rd%20Party%20Software/01-Matlab)
|
||||
|
||||
##Credit
|
||||
Thanks to Winslow Strong for posting the original tutorial on the OpenBCI forums!
|
||||
|
||||
@@ -23,30 +23,35 @@ Now, go to your `System Preferences/Security & Privacy` and make sure that your
|
||||
|
||||
By this time, Processing has likely downloded and extracted itself. Go ahead and move it to your `Applications` folder, and launch the application. If this is the first time that you are running Processing, it will create what it calls it's `Sketch` folder. The default location for the `Sketch` folder is in your Documents folder:
|
||||
|
||||
Users/<user-name>/Documents/Processing
|
||||
On a Mac `Users/<user-name>/Documents/Processing`
|
||||
On a Windows `C:\Users\Username\Documents\Processing`
|
||||
|
||||
This is the location that we will move the OpenBCI GUI files that we'll download next.
|
||||
|
||||

|
||||
|
||||
The OpenBCI GUI code repository is located on github [here](https://github.com/OpenBCI/OpenBCI_GUI). click on the `Clone or download` button in green on the right, and select `Download ZIP`. If you are a advanced github user, go ahead and clone it if you like
|
||||
The OpenBCI GUI code repository is located on github [here](https://github.com/OpenBCI/OpenBCI_GUI). click on the `Clone or download` button in green on the right, and select `Download ZIP`. If you are a advanced github user, go ahead and clone it, or fork it if you like.
|
||||
|
||||
After the download completes and the file extracts itself, you will see the folder called `OpenBCI_GUI-master`. Change the name of this file to `OpenBCI_GUI`. If you don't change it, it won't work! Now move the folder `OpenBCI_GUI` and it's entire contents to:
|
||||
After the download completes and the file extracts itself, you will see the folder called `OpenBCI_GUI-master`. Change the name of this file to `OpenBCI_GUI`. If you don't change it, it won't work! Now move the folder `OpenBCI_GUI` and it's entire contents to your Sketch folder:
|
||||
|
||||
Users/<user-name>/Documents/Processing
|
||||
On a Mac `Users/<user-name>/Documents/Processing`
|
||||
On a Windows `C:\Users\Username\Documents\Processing`
|
||||
|
||||

|
||||
|
||||
Inside the `OpenBCI_GUI` folder, there is a folder called `libraries`. Theses are the 3rd party libraries that the OpenBCI GUI uses to work it's magic. You need to move all of these folders into:
|
||||
|
||||
Users/<user-name>/Documents/Processing/libraries
|
||||
On a Mac `Users/<user-name>/Documents/Processing/libraries`
|
||||
On a Windows `C:\Users\Username\Documents\Processing\libraries`
|
||||
|
||||
folder. Once you have done that, quit out of Processing. There's one more big step, and it means going back to the OpenBCI github repository.
|
||||
folder. If there is no folder called `libraries` in that location, go ahead and make one. Once you have done that, quit out of Processing. There's one more big step, and it means going back to the OpenBCI github repository.
|
||||
|
||||
## Install Ganglion Hub on Mac
|
||||
|
||||

|
||||
|
||||
There is a piece of software which is necessary to make the connection between the GUI and your computer's Bluetooth hardware.
|
||||
We call this the OpenBCI Electron Hub. Go to our github repository for the [Hub](https://github.com/OpenBCI/OpenBCI_Ganglion_Electron/releases/tag/v0.3.0), and click on the `Ganglion-Hub-v0.3.0-macOS.zip` link.
|
||||
We call this the OpenBCI Electron Hub. Go to our github repository for the [Hub](https://github.com/OpenBCI/OpenBCI_Ganglion_Electron/releases/tag/v0.4.0), and click on the link for your Operating System.
|
||||
|
||||

|
||||
|
||||
@@ -56,11 +61,36 @@ After it downloads and unpacks itself, your Downloads folder will look like this
|
||||
|
||||
Move the `Ganglion Hubb app` from your Downloads folder to:
|
||||
|
||||
Users/<user-name>/Documents/Processing/OpenBCI_GUI/OpenBCI_GUI/data
|
||||
`Users/<user-name>/Documents/Processing/OpenBCI_GUI/OpenBCI_GUI/data`
|
||||
|
||||
## Install Ganglion Hub on Windows
|
||||

|
||||
|
||||
There is a piece of software which is necessary to make the connection between the GUI and your computer's Bluetooth hardware.
|
||||
We call this the OpenBCI Electron Hub. Go to our github repository for the [Hub](https://github.com/OpenBCI/OpenBCI_Ganglion_Electron/releases/tag/v0.4.0), and click on the link for your Operating System.
|
||||
|
||||

|
||||
|
||||
After it downloads, unzip it and your Downloads folder will look like this.
|
||||
**Do Not run the `GanglionHub Setup 0.4.0.exe`!**
|
||||
|
||||

|
||||
|
||||
Open the file `win-unpacked` and select the entire contents of the folder.
|
||||
|
||||

|
||||
|
||||
**All** of those files need to be moved into the folder: `Documents\Processing\OpenBCI_GUI-master\OpenBCI_GUI\data`
|
||||
|
||||

|
||||
|
||||
Your `data` folder should look like this when you're done.
|
||||
|
||||
That is the final structural step to getting all of the pieces in place to run the GUI in Processing. Pat yourself on the back for a job well done, and get ready to see if it actually works!
|
||||
If the Processing app is still running, quit out of it and start it again from scratch (Processing needs to restart to find the libraries and other stuff).
|
||||
|
||||
## Run the OpenBCI GUI
|
||||
|
||||

|
||||
|
||||
When you get Processing running again, you will see a window open up. This is the Processing IDE (Integrated Development Environment).
|
||||
@@ -77,4 +107,3 @@ If you don't know anything about coding, don't edit these files. If you like to
|
||||

|
||||
|
||||
Press the `play` button on the upper left of the IDE, and the sketch will try to launch in all it's glory. If this is your first time running the sketch, you will get a message from the Mac OS that will ask you if you will allow permission for an unsigned app to run. The app in question is the Electron Hub. If you've enabled apps to run from Anywhere, you can just give permission to run the app. However, it is likely that the GUI will not function, because timing is everything. You will need to quit the sketch (press `command+q` or click the `x` button on the upper left of the GUI). Then, relaunch the sketch by pressing the `play` button as above. This time you won't get the alert from the Mac OS, and the GUI will launch in all it's glory!
|
||||
Now go back to where you were before to continue this tutorial!
|
||||
@@ -1,15 +1,12 @@
|
||||
# OpenBCI Hardware
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
>>>>>>> origin/master
|
||||
Welcome to the OpenBCI Hardware documentation page. Here you will find specifications of the OpenBCI suite of devices.
|
||||
|
||||
The [Cyton](http://docs.openbci.com/Hardware/02-Cyton) page covers the hardware specs of our 8 channel board and Dongle, as well as our expansion Daisy Module.
|
||||
The [Cyton Data Format](http://docs.openbci.com/Hardware/03-Cyton_Data_Format) page has all the information about how we package up the raw sensor data and send it wirelessly to the OpenBCI Dongle. There are two tutorials on how to [upload your custom code to the Cyton](http://docs.openbci.com/Hardware/05-Cyton_Programming_Tutorial), and also how to [reprogram the Cyton Radio Modules](http://docs.openbci.com/Hardware/06-Dongle_Programming_Tutorial)
|
||||
The [Cyton Data Format](http://docs.openbci.com/Hardware/03-Cyton_Data_Format) page has all the information about how we package up the raw sensor data and send it wirelessly to the OpenBCI Dongle. There are two tutorials on how to [upload your custom code to the Cyton](http://docs.openbci.com/Hardware/05-Cyton_Board_Programming_Tutorial), and also how to [reprogram the Cyton Radio Modules](http://docs.openbci.com/Hardware/06-Dongle_Programming_Tutorial)
|
||||
|
||||
|
||||
The [Ganglion page](http://docs.openbci.com/Hardware/07-OGanglion) covers the specs of our 4 channel biosensing platform.
|
||||
The [Ganglion page](http://docs.openbci.com/Hardware/07-Ganglion) covers the specs of our 4 channel biosensing platform.
|
||||
The [Ganglion Data Format](http://docs.openbci.com/Hardware/08-Ganglion_Data_Format) page explains how we compress the raw Ganglion data and send it to a computer or phone or tablet via Bluetooth. The [Ganglion Programming Tutorial](http://docs.openbci.com/Hardware/09-Ganglion_Programming_Tutorial) page will walk you through how to modify the Ganglion firmware, and upload it Over The Air (OTA) using your smartphone!
|
||||
|
||||
Enjoy!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Cyton Data Format
|
||||
|
||||
This discussion of the OpenBCI data format only applies to OpenBCI `v1` (2014-2016) and `v2.0.0` (Fall 2016). For OpenBCI Cyton, the OpenBCI board contains either a ChipKIT or ATmega microcontroller that can both be programmed through the Arduino IDE. The Cyton board has an on-board RFDuino radio module acting as a "Device". The Cyton system includes a USB dongle for the PC, which acts as the RFDuino "Host". The format of the OpenBCI data as seen on the PC is defined by a combination of the Arduino code on the Cyton board and of the RFDuino code running on the Host. So, if you don't like the data format defined here, feel free to change it! For more info on the v2 firmware, see these [Notes On Updating and Using v2.0.0 Cyton Firmware](http://docs.openbci.com/Hardware/05-Cyton_Board_Programming_Tutorial#cyton-board-programming-tutorial-notes-on-updating-and-using-v2.0.0-cyton-firmware).
|
||||
This discussion of the OpenBCI data format only applies to OpenBCI `v1` (2014-2016) and `v2.0.0` (Fall 2016). For OpenBCI Cyton, the OpenBCI board contains either a ChipKIT or ATmega microcontroller that can both be programmed through the Arduino IDE. The Cyton board has an on-board RFDuino radio module acting as a "Device". The Cyton system includes a USB dongle for the PC, which acts as the RFDuino "Host". The format of the OpenBCI data as seen on the PC is defined by a combination of the Arduino code on the Cyton board and of the RFDuino code running on the Host. So, if you don't like the data format defined here, feel free to change it! For more info on the v2 firmware, see these [Notes On Updating and Using v2.0.0 Cyton Firmware](http://docs.openbci.com/Hardware/05-Cyton_Board_Programming_Tutorial#cyton-board-programming-tutorial-notes-on-updating-and-using-v2.0.0-cyton-firmware). There is also further information on controlling the OpenBCI Cyton on our [OpenBCI Cyton SDK page](http://docs.openbci.com/OpenBCI%20Software/04-OpenBCI_Cyton_SDK).
|
||||
|
||||
## Proprietary ("RFDuino") vs Standard Bluetooth
|
||||
|
||||
@@ -33,7 +33,7 @@ Both the Host and Device radios take notice of the **b** and **s**, and go into
|
||||
|
||||
* **!streamingData**
|
||||
* The radios appear to be a transparent UART betweeen the PC and target uC
|
||||
* [Command characters](https://github.com/OpenBCI/Docs/blob/master/software/01-OpenBCI_SDK.md) need some delay before and after sending to pass from PC to target uC
|
||||
* [Command characters](http://docs.openbci.com/OpenBCI%20Software/04-OpenBCI_Cyton_SDK) need some delay before and after sending to pass from PC to target uC
|
||||
* **streamingData**
|
||||
* Device radio expects to get 31 bytes in each data packet from the uC
|
||||
* After 1 second of no transmission, or not getting 31 bytes in time, Device and Host will revert to **!streamingData** mode
|
||||
@@ -88,7 +88,7 @@ AZ1-AZ0: Data value for accelerometer channel Z
|
||||
The following table is sorted by `Stop Byte`. Drivers should use the `Stop Byte` to determine how to parse the 6 `AUX` bytes.
|
||||
|
||||
Stop Byte | Byte 27 | Byte 28 | Byte 29 | Byte 30 | Byte 31 | Byte 32 | Name
|
||||
--------- |:-------:|:-------:|:-------:|:-------:|:-------:|:------:|---
|
||||
:---------: |:-------:|:-------:|:-------:|:-------:|:-------:|:------:|---
|
||||
0xC0 | AX1 | AX0 | AY1 | AY0 | AZ1 | AZ0| Standard with accel
|
||||
0xC1 | UDF | UDF | UDF | UDF | UDF | UDF | Standard with raw aux
|
||||
0xC2 | UDF | UDF | UDF | UDF | UDF | UDF | User defined
|
||||
@@ -103,8 +103,8 @@ AZ1-AZ0: Data value for accelerometer channel Z
|
||||
|
||||
We can still fit a 25Hz accelerometer in with time stamps due to some interlacing and timing constraints. Since we stream channel data at 250Hz and accelerometer at 25Hz; we have essentially 10 samples to send the accelerometer data in. When a `0xC3` or `0xC4` you should parse _Byte 27_ to indicate what _Byte 28_ is:
|
||||
|
||||
AC | AV
|
||||
--- | ---
|
||||
Byte 27 | Byte 28
|
||||
:---:|:---:
|
||||
'X' | AX1
|
||||
'x' | AX0
|
||||
'Y' | AY1
|
||||
@@ -226,4 +226,4 @@ The times of the upsampled values are delayed by 1 sample compared to the receiv
|
||||
|
||||
Our Host code removes the Packet Counter and adds the header and footer. It could be modified to work natively with other protocol specs for other signal processing software....
|
||||
|
||||
**Data Compression.** In situations where an increase in the sample resolution, or higher channel counts are desired, a data compression scheme can be implemented. As noted above, when sending **only** the ADS1299 values for 8 channels there are six unused bytes in the radio packet. It may be possible to, for example, increase the sample rate, and compress two samples worth of ADS data into a single radio packet. Or fit all 16 channels of data into a single packet and avoid the averaging that is currently used.
|
||||
**Data Compression.** In situations where an increase in the sample rate, or higher channel counts are desired, a data compression scheme can be implemented. As noted above, when sending **only** the ADS1299 values for 8 channels there are six unused bytes in the radio packet. It may be possible to, for example, increase the sample rate, and compress two samples worth of ADS data into a single radio packet. Or fit all 16 channels of data into a single packet and avoid the averaging that is currently used.
|
||||
|
||||
@@ -19,7 +19,7 @@ The OpenBCI Cyton boards have powerful microcontrollers on them which ship with
|
||||
|
||||
[https://www.arduino.cc/en/Main/Software](https://www.arduino.cc/en/Main/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 (x86)` to your downloads 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 to back to your `Program Files (x86)` folder and locate the Arduino folder. Rename this folder to `Arduino_1.8.0`. Now drag and drop the `Arduino_1.5.8` back into `Program Files (x86)` 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.0 as normal. Navigate to 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` back into `Program Files` folder.
|
||||
|
||||
* Download the [OpenBCI_32bit_Library Firmware](https://github.com/OpenBCI/OpenBCI_32bit_Library/tree/master) repo from our github.
|
||||
|
||||
@@ -209,10 +209,10 @@ 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.
|
||||
* Restart your computer and don't open any other programs other than the Arduino 1.6.5 IDE used for programming.
|
||||
* 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 increase the Device's polling time [in the RFduino Device firmware code](https://github.com/OpenBCI/OpenBCI_Radios/blob/master/OpenBCI_32bit_Device/OpenBCI_32bit_Device.ino#L41). Increase `pollTime` incrementally (by about 5ms) until the upload succeeds. Upload the new radio code to the Device ([see tutorial](http://docs.openbci.com/tutorials/03-Upload_Code_to_OpenBCI_Dongle#uploading-device-firmware-to-openbci-boards-program-device-radio-with-openbci-dongle)). After you are satisfied with the uploaded code. You should set the Device's `pollTime` back to 60mS to remain compatible with existing drivers.
|
||||
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 (*Tutorial coming soon!*)
|
||||
|
||||
|
||||
## Notes On Updating and Using v2.0.0 Cyton Firmware
|
||||
|
||||
@@ -32,14 +32,11 @@ This page covers how the radio link works, and how to upload new firmware to the
|
||||
|
||||
4. Now move the folder called RFduino and everything it contains to:
|
||||
|
||||
On a Mac
|
||||
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino
|
||||
On a Mac `/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino`
|
||||
|
||||
On a Windows
|
||||
C:\Program Files (x86)\Arduino-1.5.x\hardware\arduino
|
||||
On a Windows `C:\Program Files (x86)\Arduino-1.5.8\hardware\arduino`
|
||||
|
||||
On Linux, put the RFduino folder and everything it contains in
|
||||
arduino-1.5.8/hardware/arduino
|
||||
On Linux, put the RFduino folder and everything it contains in `arduino-1.5.8/hardware/arduino`
|
||||
|
||||
**NOTE FOR LINUX USERS**
|
||||
Linux users will need to have the program [wine](https://www.winehq.org/) installed in order to continue. There is a dependency for the arduino code that requires the running `RFDLoader.exe` to continue.
|
||||
@@ -52,6 +49,8 @@ In order to run this .exe, do the following:
|
||||
|
||||
That's it! As long as `wine` is installed normally the script should take care of any issues you may have when uploading.
|
||||
|
||||
## Using Radio Firmware Version 2.x.x (Fall 2016)
|
||||
|
||||
### Getting Radio Firmware Version 2.x.x (Fall 2016)
|
||||
|
||||
1. Download the [OpenBCI_Radios Firmware](https://github.com/OpenBCI/OpenBCI_Radios/tree/master) repo from our github. You may also clone the repo into your libraries folder cited after step 6.
|
||||
@@ -72,21 +71,6 @@ C:\Users\username\Documents\Arduino\libraries
|
||||
|
||||
If you want to modify the firmware that the OpenBCI Dongle came with, or roll your own, make sure that you are setting the RFduino up as a DEVICE, and that channel is selected correctly.
|
||||
|
||||
### Getting Radio Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
Download the [OpenBCI_Radios](https://github.com/OpenBCI/OpenBCI_Radios/tree/maint/1.0.0) repo from our github, and place it in the proper location depending upon your OS.
|
||||
|
||||
On a Mac, put the RFduino folder and everything it contains in
|
||||
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino
|
||||
|
||||
On a Windows, put the RFduino folder and everything it contains in
|
||||
C\Program Files (x86)\Arduino-1.5.x\hardware\arduino
|
||||
|
||||
***Note***: To upload code to the Cyton board, you need Arduino v1.8.0 or later, while you need Arduino v1.5.8 to upload code to the dongle. If you have already installed Ardiono v1.8.0, you may see an error message while installing 1.5.8 saying that you need to uninstall v1.8.0. Instead of doing that, simply move the existing "Arduino" program folder (which should be 1.8.0) in your Program Files to another folder (such as "Documents"). Go to your program manager (called "Change or Remove Program" in Windows, press Uninstall Arduino 1.8.0, and confirm if told that there was an error in uninstalling 1.8.0. Then, install 1.5.8. Rename the new "Arduino" program folder (which should now be 1.5.8) to "Arduino 1.5.8", and rename the Arduino folder that you moved to the name "Arduino 1.8.0". Move this folder back to your Program Files where "Arduino 1.5.8" is located, allowing you to keep both versions.
|
||||
|
||||
**Note for Windows users** While installing 1.5.8 if the installer instructs you to uninstall 1.8.0, move the Arduino folder from `Program Files (x86)` to your downloads folder. Rename this folder to `Arduino_1.8.0`. 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.5.8 as normal. Navigate to back to your `Program Files (x86)` folder and locate the Arduino folder. Rename this folder to `Arduino_1.5.8`. Now drag and drop the `Arduino_1.8.0` back into `Program Files (x86)` folder.
|
||||
|
||||
The files contained in the RFduino folder are custom builds for OpenBCI by our good friends over at RFdigital. Those guys are great! They helped us to squeeze all of the speed we could get out of the RFduinoGZLL library, and also gave us access to 25 discreet channels for OpenBCI boards to work on. ROCK!
|
||||
|
||||
##Uploading Device Firmware to Cyton Board
|
||||
|
||||
@@ -95,7 +79,7 @@ In order to upload code to the Cyton Board RFduino, you need to have a Serial co
|
||||
|
||||
Again, there is a small difference between the 8-bit and Cyton boards, explained below.
|
||||
|
||||
### Upload Device Radio Firmware Version 2.x.x (Fall 2016)
|
||||
### Upload DEVICE Radio Firmware Version 2.x.x (Fall 2016)
|
||||
|
||||
**Steps:**
|
||||
|
||||
@@ -113,16 +97,8 @@ Again, there is a small difference between the 8-bit and Cyton boards, explained
|
||||
|
||||
7. Click "Upload" on the toolbar (the icon to the right of the checkmark). Your code is now uploading to the OpenBCI Device!
|
||||
|
||||
*Important!* As of firmware version 2, you must first flash the board with the line `radio.flashNonVolatileMemory();` in the `setup()` function uncommented, then comment the line back out and program again. It is very important that you reprogram the board with the line commented out. We must do this because with firmware version two, the channel number is stored to non-volatile memory so we can change the channel number of the system from the PC/Driver. *If this is your first time uploading firmware version two (your bought you board prior to October 2016), you may ignore this message the first time you upload radio code.*
|
||||
|
||||
### Upload Device Radio Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
For 32bit boards, you will want to upload: [`OpenBCI_32bit_Device.ino`](https://github.com/OpenBCI/OpenBCI_Radios/blob/maint/1.0.0/OpenBCI_32bit_Device/OpenBCI_32bit_Device.ino)
|
||||
|
||||
For 8bit boards, you will want to upload:
|
||||
[`OpenBCI_8bit_Device.ino`](https://github.com/OpenBCI/OpenBCI_Radios/blob/maint/1.0.0/OpenBCI_8bit_Device/OpenBCI_8bit_Device.ino)
|
||||
|
||||
##Program Device Radio with OpenBCI Dongle
|
||||
### Program DEVICE Radio with OpenBCI Dongle
|
||||
|
||||
The idea here is to use the FTDI chip on the Dongle to bridge USB to Serial for the upload process. There is a bit of prep, and a special program for the Dongle radio so that it doesn't get in the way.
|
||||
|
||||
@@ -134,11 +110,6 @@ First, solder the headers that came with your OpenBCI Dongle. Then, move the swi
|
||||
|
||||
Go to the Arduino IDE 1.5.8 and do `File-->Examples-->OpenBCI_Radios-->RadioPassThru32bit`. Make sure to select `RFDuino` from `Tools -> Board -> RFDuino`.
|
||||
|
||||
### Upload Pass Thru Radio Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
We provide an Arduino sketch called OpenBCI_Dongle_PassThru.ino which makes this possible. After uploading, make sure to move the switch back over to the GPIO6 side!
|
||||
|
||||
Now hit the upload button, it's the button to the right of the check mark in the top left of the IDE. Don't worry! You can re-load the Host code easily after programming the Device. After uploading, make sure to move the switch back over to the GPIO6 side!
|
||||
|
||||

|
||||
|
||||
@@ -168,36 +139,36 @@ Helpful tips:
|
||||
|
||||
There is a trick to it, it may take you a couple tries to get good at it. On Mac, It does not matter if you select `/dev/cu.*` or `/dev/tty.*` in the port selection on the Arduino IDE.
|
||||
|
||||
##Program Device Radio with Other FTDI Boards
|
||||
## Program Device Radio with Other FTDI Boards
|
||||
|
||||
There are many, many FTDI chip breakouts and cables out there that you can use. Here are a couple examples of popular devices.
|
||||
|
||||
###RFduino
|
||||
### RFduino
|
||||

|
||||
|
||||
RFduino makes a small board that they call a [USB Shield](http://www.rfduino.com/product/rfd22121-usb-shield-for-rfduino/index.html). The form-factor and pinout of the OpenBCI Dongle matches exactly the pinout of the RFduino USB Shield. It's almost like we planned it that way ;) The only thing to change, is that the GPIO6 is not the same as the OpenBCI Dongle. Connect the OpenBCI pin RF RST to the RFduino USB Shield pin RESET. And, you don't need to provide a 0.1uF cap, because **the USB Shield comes with the 0.1uF capacitor already installed!**
|
||||
|
||||
###FTDI Friend
|
||||
### FTDI Friend
|
||||

|
||||

|
||||
|
||||
Another example would be the [FTDI Friend](http://www.adafruit.com/products/284) from Adafruit. In this case, the pin labled 'RTS' is the one you want to connect to the RF RST on the OpenBCI board. We need to ensure that the 'RTS' pin is behaving correctly and that we're sending 3V logic out! Note the image of the back of the FTDI Friend. I have jumped the pads marked DTR, and also the 3V pads on VCC out. The Signal Logic Level already has the 3V pads jumped. I cut the trace on the RTS and 5V pads as well. These are the correct settings for uploading to RFduino using FTDI Friend. The 'RTS' pin jump to OpenBCI RF RST connection will also need a 0.1uF series capacitor. These breakouts are awesome, but they can be alittle advanced.
|
||||
|
||||
###FTDI Basic Breakout
|
||||
### FTDI Basic Breakout
|
||||

|
||||

|
||||
|
||||
Sparkfun makes an FTDI breakout as well, and they come in a couple of flavors. 5V and 3V. By now, you know that you want the [3V Version](https://www.sparkfun.com/products/9873). [pic coming soon] The Basic Breakout isn't as fancy as the FTDI Friend, but you do need to put a 0.1uF capacitor between the DTR pin and the RF RST pin. Also, if you have a version of this board with a voltage selection on the back, make sure that it has the 3.3V pads connected and the 5V pads cut!
|
||||
|
||||
##Uploading Host Firmware to the OpenBCI Dongle
|
||||
## Uploading Host Firmware to the OpenBCI Dongle
|
||||
|
||||
###Overview
|
||||
### Overview
|
||||
|
||||

|
||||
|
||||
This process does not require 3rd party hardware. Before you begin, note that there is a switch on the dongle that allows for selection between **RESET** and **GPIO6**. This switch routes the DTR pin from the FTDI chip to either RESET or GPIO6 pin on the RFduino module. When the switch is in the GPIO6 position, the Dongle is ready for general communication, code upload, and streamingData mode to the OpenBCI Board. When the switch is in the RESET position, it is possible to upload code to the RFduino right there on the Dongle.
|
||||
|
||||
### Upload Firmware Version 2.x.x (Fall 2016)
|
||||
### Upload HOST Firmware Version 2.x.x (Fall 2016)
|
||||
|
||||
**Steps:**
|
||||
|
||||
@@ -215,7 +186,40 @@ This process does not require 3rd party hardware. Before you begin, note that th
|
||||
|
||||
7. Click "Upload" on the toolbar (the icon to the right of the checkmark). Your code is now uploading to the OpenBCI Dongle!
|
||||
|
||||
### Upload Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
## Using Radio Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
The following is for working with our original radio firmware. Please refer to the images above when following these instrucitons.
|
||||
|
||||
### Getting Radio Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
Download the [OpenBCI_Radios](https://github.com/OpenBCI/OpenBCI_Radios/tree/maint/1.0.0) repo from our github, and place it in the proper location depending upon your OS.
|
||||
|
||||
On a Mac, put the RFduino folder and everything it contains in `/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino`
|
||||
|
||||
On a Windows, put the RFduino folder and everything it contains in `C\Program Files (x86)\Arduino-1.5.x\hardware\arduino`
|
||||
|
||||
***Note***: To upload code to the Cyton board, you need Arduino v1.8.0 or later, while you need Arduino v1.5.8 to upload code to the dongle. If you have already installed Ardiono v1.8.0, you may see an error message while installing 1.5.8 saying that you need to uninstall v1.8.0. Instead of doing that, simply move the existing "Arduino" program folder (which should be 1.8.0) in your Program Files to another folder (such as "Documents"). Go to your program manager (called "Change or Remove Program" in Windows, press Uninstall Arduino 1.8.0, and confirm if told that there was an error in uninstalling 1.8.0. Then, install 1.5.8. Rename the new "Arduino" program folder (which should now be 1.5.8) to "Arduino 1.5.8", and rename the Arduino folder that you moved to the name "Arduino 1.8.0". Move this folder back to your Program Files where "Arduino 1.5.8" is located, allowing you to keep both versions.
|
||||
|
||||
**Note for Windows users** While installing 1.5.8 if the installer instructs you to uninstall 1.8.0, move the Arduino folder from `Program Files (x86)` to your downloads folder. Rename this folder to `Arduino_1.8.0`. 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.5.8 as normal. Navigate to back to your `Program Files (x86)` folder and locate the Arduino folder. Rename this folder to `Arduino_1.5.8`. Now drag and drop the `Arduino_1.8.0` back into `Program Files (x86)` folder.
|
||||
|
||||
The files contained in the RFduino folder are custom builds for OpenBCI by our good friends over at RFdigital. Those guys are great! They helped us to squeeze all of the speed we could get out of the RFduinoGZLL library, and also gave us access to 25 discreet channels for OpenBCI boards to work on. ROCK!
|
||||
|
||||
|
||||
### Upload DEVICE Radio Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
For 32bit boards, you will want to upload: [`OpenBCI_32bit_Device.ino`](https://github.com/OpenBCI/OpenBCI_Radios/blob/maint/1.0.0/OpenBCI_32bit_Device/OpenBCI_32bit_Device.ino)
|
||||
|
||||
For 8bit boards, you will want to upload:
|
||||
[`OpenBCI_8bit_Device.ino`](https://github.com/OpenBCI/OpenBCI_Radios/blob/maint/1.0.0/OpenBCI_8bit_Device/OpenBCI_8bit_Device.ino)
|
||||
|
||||
### Upload Pass Thru Radio Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
We provide an Arduino sketch called OpenBCI_Dongle_PassThru.ino which makes this possible. After uploading, make sure to move the switch back over to the GPIO6 side!
|
||||
|
||||
Now hit the upload button, it's the button to the right of the check mark in the top left of the IDE. Don't worry! You can re-load the Host code easily after programming the Device. After uploading, make sure to move the switch back over to the GPIO6 side!
|
||||
|
||||
|
||||
### Upload HOST Firmware Version 1.x.x (2014 - Fall 2016)
|
||||
|
||||
If you want to modify the firmware that the OpenBCI Dongle came with, or roll your own, make sure that you are setting the RFduino up as a HOST, and that channel is selected correctly. The channel your boards were shipped with is noted on the anit-static baggie that it came in.
|
||||
|
||||
|
||||
@@ -157,9 +157,8 @@ void OpenBCI_Ganglion::sendCompressedPacket18() {
|
||||
}
|
||||
}
|
||||
```
|
||||
We use the number associated with the `compression_ring` buffer position to tell when to send the `x`, `y` and `z` axis values. When sending 18bit compressed packets, the accelerometer data can be found in `Packet ID` numbers ending it `1`, `2`, and `3`. **Notice** that the Ganglion also has the capacity to send user defined `ausData` in the place of accelerometer data.
|
||||
|
||||
|
||||
We use the number associated with the `compression_ring` buffer position to tell when to send the `x`, `y` and `z` axis values. When sending 18bit compressed packets, the accelerometer data can be found in `Packet ID` numbers ending it `1`, `2`, and `3`.
|
||||
**NOTE** that the Ganglion also has the capacity to send user defined `auxData` in the place of accelerometer data.
|
||||
**NOTE** An `n` ASCII command is used to turn on the Ganglion accelerometer. Use an `N` to turn off the accelerometer.
|
||||
|
||||
## Impedance Testing
|
||||
@@ -168,7 +167,7 @@ The Ganglion has hardware in place that allows for testing the impedance of the
|
||||
## Verbose Prints
|
||||
The Ganglion will sometimes send verbose data over the BLE connection. In this case, Ganglion can send from 1 to many packets of verbose ASCII data. The `Packet ID` for ASCII messaging will inform the computer if the message is not doen and it should expect another packet `206` or `0xCE`. When Ganglion is sending the last ASCII message packet, the `Packet ID` will be `207` or `0xCF`.
|
||||
|
||||
##Packet ID Cheat Sheet
|
||||
## Packet ID Cheat Sheet
|
||||
|
||||
Byte ID Decimal | Byte ID HEX | Data Type | Description
|
||||
--------|--------|--------|--------
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||

|
||||
|
||||
|
||||
####Complete Ultracortex Mark 4 kits are [available for sale](http://http://shop.openbci.com/collections/frontpage/products/ultracortex-mark-iv) in the OpenBCI Online Store!
|
||||
####Complete Ultracortex Mark 4 kits are [available for sale](http://shop.openbci.com/collections/frontpage/products/ultracortex-mark-iv) in the OpenBCI Online Store!
|
||||
|
||||
The Ultracortex is an open-source, 3D-printable headset intended to work with the [OpenBCI system](http://openbci.com/). It is capable of recording research-grade brain activity (EEG), muscle activity (EMG), and heart activity (ECG). The Ultracortex is under constant iteration. If you print/assemble your own Ultracortex, we would love to hear your feedback. Send us an email at [contact@openbci.com](mailto:contact@openbci.com) or Tweet at us ([@Ultracortex](https://twitter.com/Ultracortex) & [@OpenBCI](https://twitter.com/OpenBCI))!
|
||||
|
||||
@@ -334,7 +334,7 @@ Now that you have your Ultracortex assembled and comfortably adjusted to your he
|
||||
|
||||

|
||||
|
||||
Check out the [Getting Started w/ OpenBCI tutorial](http://docs.openbci.com/tutorials/01-GettingStarted) to get up-and-running with the [OpenBCI Processing GUI](https://github.com/OpenBCI/OpenBCI_Processing).
|
||||
Check out the [Getting Started w/ OpenBCI tutorial](http://docs.openbci.com/OpenBCI%20Software/01-OpenBCI_GUI) to get up-and-running with the [OpenBCI Processing GUI](https://github.com/OpenBCI/OpenBCI_Processing).
|
||||
|
||||
Below is a screenshot of what the GUI looks like when you've got your OpenBCI + Ultracortex (w/ 8 channels) hooked up! You can see a nice alpha (~11 hz) spike on the FFT Plot.
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||

|
||||
|
||||
|
||||
####Complete Ultracortex Mark 3 kits are [available for sale](http://openbci.myshopify.com/collections/frontpage/products/ultracortex-mark-3-eeg-headset-kit-assembly-required) in the OpenBCI Online Store!
|
||||
####Complete Ultracortex Mark 3 kits are [available for sale](http://shop.openbci.com/collections/frontpage/products/ultracortex-mark-iii-upgrade) in the OpenBCI Online Store!
|
||||
|
||||
The Ultracortex is an open-source, 3D-printable headset intended to work with the [OpenBCI system](http://openbci.com/). It is capable of recording research-grade brain activity (EEG), muscle activity (EMG), and heart activity (ECG). The Ultracortex is under constant iteration. If you print/assemble your own Ultracortex, we would love to hear your feedback. Send us an email at [contact@openbci.com](mailto:contact@openbci.com) or Tweet at us ([@Ultracortex](https://twitter.com/Ultracortex) & [@OpenBCI](https://twitter.com/OpenBCI))!
|
||||
|
||||
@@ -471,7 +471,7 @@ Now that you have your Ultracortex assembled and comfortably adjusted to your he
|
||||
|
||||

|
||||
|
||||
Check out the [Getting Started w/ OpenBCI tutorial](http://docs.openbci.com/tutorials/01-GettingStarted) to get up-and-running with the [OpenBCI Processing GUI](https://github.com/OpenBCI/OpenBCI_Processing).
|
||||
Check out the [Getting Started w/ OpenBCI tutorial](http://docs.openbci.com/OpenBCI%20Software/01-OpenBCI_GUI) to get up-and-running with the [OpenBCI Processing GUI](https://github.com/OpenBCI/OpenBCI_Processing).
|
||||
|
||||
Below is a screenshot of what the GUI looks like when you've got your OpenBCI + Ultracortex (w/ 8 channels) hooked up! You can see a nice alpha (~11 hz) spike on the FFT Plot.
|
||||
|
||||
|
||||
@@ -31,94 +31,10 @@ The easy part!
|
||||
* Additionally, you will need to [follow the steps](http://docs.openbci.com/Tutorials/02-Ganglion_Getting%20Started_Guide#ganglion-getting-started-guide-run-the-gui-in-processing-on-macos-sierra) in the section titled "Run The GUI In Processing On MacOS Sierra" in the Getting Started w/ Ganglion Guide. This will allow you to alter your system preferences to run apps "downloaded from anywhere"
|
||||
* If you run into additional issues, please visit the [OpenBCI_GUI Section](http://openbci.com/index.php/forum/#/categories/openbci_gui) of our Forum
|
||||
|
||||
## Running the OpenBCI GUI from Processing
|
||||
## Running the OpenBCI GUI From The Processing IDE
|
||||
|
||||
The OpenBCI GUI was built using [Processing](https://processing.org/), a popular, Java-based creative coding framework. If you are interested in adding features or modifying the existing code, it is really easy to do so, if you are familiar with Java. If you are not, don't fret! Processing is one of the easiest software packages to pick up as a beginner coder.
|
||||
|
||||
### Download the Latest Version of Processing
|
||||
|
||||

|
||||
|
||||
To get started working with the OpenBCI GUI in Processing, first you must [download the latest stable release of Processing](https://processing.org/download/) from their website.
|
||||
On a MAC, after it downloads and unpacks move the Processing app to your `Applications` folder.
|
||||
On a Windows, download it to your `Program Files` folder.
|
||||
|
||||
### Download or Fork the OpenBCI_GUI Github Repo
|
||||
|
||||

|
||||
|
||||
The OpenBCI GUI code repository is located on github [here](https://github.com/OpenBCI/OpenBCI_GUI). click on the `Clone or download` button, and select `Download ZIP`. If you are a advanced github user, go ahead and clone it if you like.
|
||||
|
||||
After the download completes and the file extracts itself, you will see the folder called `OpenBCI_GUI-master`. Change the name of this file to `OpenBCI_GUI`. If you don't change it, it won't work! Now move the folder `OpenBCI_GUI` and it's entire contents to:
|
||||
|
||||
**On a MAC: Users/<user>/Documents/Processing**
|
||||
|
||||
**On Windows: C:\Users\Username\Documents\Processing**
|
||||
|
||||

|
||||
|
||||
Inside the `OpenBCI_GUI` folder, there is a folder called `libraries`. Theses are the 3rd party libraries that the OpenBCI GUI uses to work it's magic. You need to move all of these folders into:
|
||||
|
||||
**On a MAC: Users/<user-name>/Documents/Processing/libraries**
|
||||
|
||||
**On a Windows: C:\Users\Username\Documents\Processing\libraries**
|
||||
|
||||
folder. If there is not folder called `libraries` go ahead and make one. Once you have done that, quit out of Processing. There's one more big step, and it means going back to the OpenBCI github repository.
|
||||
|
||||

|
||||
|
||||
There is a piece of software which is necessary to make the connection between the GUI and your computer's Bluetooth hardware.
|
||||
We call this the OpenBCI Electron Hub. Go to our github repository for the [Hub](https://github.com/OpenBCI/OpenBCI_Ganglion_Electron/releases/tag/v0.3.0), and click on the link for yoru operating system.
|
||||
|
||||

|
||||
|
||||
After it downloads and unpacks itself, your Downloads folder will look like this. the `Ganglion Hub app` needs to be inside your sketch folder, in a specific place.
|
||||
|
||||

|
||||
|
||||
On a MAC, move the `Ganglion Hubb app` from your Downloads folder to:
|
||||
|
||||
**Users/<user-name>/Documents/Processing/OpenBCI_GUI/OpenBCI_GUI/data**
|
||||
|
||||
Windwos Users you do **NOT** need to run the `GanglionHub Setup.exe`. Just move **the entire contents** of `win-unpacked` to:
|
||||
|
||||
**C:\Users\Username\Documents\Processing\OpenBCI_GUI\data**
|
||||
|
||||
|
||||
That is the final structural step to getting all of the pieces in place to run the GUI in Processing. Pat yourself on the back for a job well done, and get ready to see if it actually works!
|
||||
|
||||
|
||||
### Make Sure You Have The Latest FTDI Drivers Downloaded
|
||||
|
||||
### 1. Make sure your FTDI drivers are installed and up-to-date
|
||||
|
||||

|
||||
|
||||
The FTDI chip on your OpenBCI Dongle requires you to install the FTDI drivers on your machine. You may already have these installed, if you've worked with Arduino or other USB hardware accessories. You can download the latest FTDI drivers for your operating system [here](http://www.ftdichip.com/Drivers/VCP.htm). **Note:** you may need to restart your GUI for this to take effect.
|
||||
|
||||

|
||||
|
||||
**If using a MAC:** When you try to install the FTDI driver, your computer may tell you that it is unable to install the application because it is from an unidentified developer. In this case, go to System Preference > Security & Privacy and switch your settings to "Allow Applications Downloaded from:" `Anywhere`, as seen in the screenshot to the right. You will most likely have to unlock the lock (and type in your root password) at the bottom of the Security & Privacy window before you can make this change.
|
||||
**If you are using a MAC with macOS Sierra (v10.12.x) you must follow the tutorial [here](http://docs.openbci.com/Tutorials/02-Ganglion_Getting%20Started_Guide#ganglion-getting-started-guide-run-the-gui-on-macos-sierra) to unlock the `Anywhere` option.**
|
||||
|
||||
### Open The OpenBCI GUI Project in Processing & Launch It!
|
||||
|
||||
Now, close Processing. Re-open it, and you should be able to launch the GUI by pushing the play button without any issues.
|
||||
|
||||
If you are encountering issues launching the GUI at this point, please head to the [OpenBCI_GUI section](http://openbci.com/index.php/forum/#/categories/openbci_gui) of our Forum and look for help or post a question.
|
||||
|
||||
### Using the OpenCBI GUI
|
||||
|
||||

|
||||
|
||||
Check out this [Youtube video](https://www.youtube.com/watch?v=agV1B2l-QLw) on how to use the OpenBCI GUI. We are in the process of updating it to match the GUI V2! Coming Soon.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Run The OpenBI GUI In Processing
|
||||
|
||||
The things you will need to run the OpenBCI GUI in Processing are:
|
||||
|
||||
* [Processing App](https://processing.org/download/?processing)
|
||||
@@ -142,12 +58,86 @@ Now, go to your `System Preferences/Security & Privacy` and make sure that your
|
||||
|
||||
By this time, Processing has likely downloded and extracted itself. Go ahead and move it to your `Applications` folder, and launch the application. If this is the first time that you are running Processing, it will create what it calls it's `Sketch` folder. The default location for the `Sketch` folder is in your Documents folder:
|
||||
|
||||
Users/<user-name>/Documents/Processing
|
||||
On a Mac `Users/<user-name>/Documents/Processing`
|
||||
On a Windows `C:\Users\Username\Documents\Processing`
|
||||
|
||||
This is the location that we will move the OpenBCI GUI files that we'll download next.
|
||||
|
||||

|
||||
|
||||
The OpenBCI GUI code repository is located on github [here](https://github.com/OpenBCI/OpenBCI_GUI). click on the `Clone or download` button in green on the right, and select `Download ZIP`. If you are a advanced github user, go ahead and clone it, or fork it if you like.
|
||||
|
||||
After the download completes and the file extracts itself, you will see the folder called `OpenBCI_GUI-master`. Change the name of this file to `OpenBCI_GUI`. If you don't change it, it won't work! Now move the folder `OpenBCI_GUI` and it's entire contents to your Sketch folder:
|
||||
|
||||
On a Mac `Users/<user-name>/Documents/Processing`
|
||||
On a Windows `C:\Users\Username\Documents\Processing`
|
||||
|
||||

|
||||
|
||||
Inside the `OpenBCI_GUI` folder, there is a folder called `libraries`. Theses are the 3rd party libraries that the OpenBCI GUI uses to work it's magic. You need to move all of these folders into:
|
||||
|
||||
On a Mac `Users/<user-name>/Documents/Processing/libraries`
|
||||
On a Windows `C:\Users\Username\Documents\Processing\libraries`
|
||||
|
||||
folder. If there is no folder called `libraries` in that location, go ahead and make one. Once you have done that, quit out of Processing. There's one more big step, and it means going back to the OpenBCI github repository.
|
||||
|
||||
## Install Ganglion Hub on Mac
|
||||
|
||||

|
||||
|
||||
There is a piece of software which is necessary to make the connection between the GUI and your computer's Bluetooth hardware.
|
||||
We call this the OpenBCI Electron Hub. Go to our github repository for the [Hub](https://github.com/OpenBCI/OpenBCI_Ganglion_Electron/releases/tag/v0.4.0), and click on the link for your Operating System.
|
||||
|
||||

|
||||
|
||||
After it downloads and unpacks itself, your Downloads folder will look like this. the `Ganglion Hub app` needs to be inside your sketch folder, in a specific place.
|
||||
|
||||

|
||||
|
||||
Move the `Ganglion Hubb app` from your Downloads folder to:
|
||||
|
||||
`Users/<user-name>/Documents/Processing/OpenBCI_GUI/OpenBCI_GUI/data`
|
||||
|
||||
## Install Ganglion Hub on Windows
|
||||

|
||||
|
||||
There is a piece of software which is necessary to make the connection between the GUI and your computer's Bluetooth hardware.
|
||||
We call this the OpenBCI Electron Hub. Go to our github repository for the [Hub](https://github.com/OpenBCI/OpenBCI_Ganglion_Electron/releases/tag/v0.4.0), and click on the link for your Operating System.
|
||||
|
||||

|
||||
|
||||
After it downloads, unzip it and your Downloads folder will look like this.
|
||||
**Do Not run the `GanglionHub Setup 0.4.0.exe`!**
|
||||
|
||||

|
||||
|
||||
Open the file `win-unpacked` and select the entire contents of the folder.
|
||||
|
||||

|
||||
|
||||
**All** of those files need to be moved into the folder: `Documents\Processing\OpenBCI_GUI-master\OpenBCI_GUI\data`
|
||||
|
||||

|
||||
|
||||
Your `data` folder should look like this when you're done.
|
||||
|
||||
That is the final structural step to getting all of the pieces in place to run the GUI in Processing. Pat yourself on the back for a job well done, and get ready to see if it actually works!
|
||||
If the Processing app is still running, quit out of it and start it again from scratch (Processing needs to restart to find the libraries and other stuff).
|
||||
|
||||
### Make Sure You Have The Latest FTDI Drivers Downloaded
|
||||
|
||||
### 1. Make sure your FTDI drivers are installed and up-to-date
|
||||
|
||||

|
||||
|
||||
The FTDI chip on your OpenBCI Dongle requires you to install the FTDI drivers on your machine. You may already have these installed, if you've worked with Arduino or other USB hardware accessories. You can download the latest FTDI drivers for your operating system [here](http://www.ftdichip.com/Drivers/VCP.htm). **Note:** you may need to restart your GUI for this to take effect.
|
||||
|
||||

|
||||
|
||||
**If using a MAC:** When you try to install the FTDI driver, your computer may tell you that it is unable to install the application because it is from an unidentified developer. In this case, go to System Preference > Security & Privacy and switch your settings to "Allow Applications Downloaded from:" `Anywhere`, as seen in the screenshot to the right. You will most likely have to unlock the lock (and type in your root password) at the bottom of the Security & Privacy window before you can make this change.
|
||||
|
||||
### Open The OpenBCI GUI Project in Processing & Launch It!
|
||||
|
||||

|
||||
|
||||
When you get Processing running again, you will see a window open up. This is the Processing IDE (Integrated Development Environment).
|
||||
@@ -163,5 +153,14 @@ If you don't know anything about coding, don't edit these files. If you like to
|
||||
|
||||

|
||||
|
||||
Press the `play` button on the upper left of the IDE, and the sketch will try to launch in all it's glory. If this is your first time running the sketch, you will get a message from the Mac OS that will ask you if you will allow permission for an unsigned app to run. The app in question is the Electron Hub. If you've enabled apps to run from Anywhere, you can just give permission to run the app. However, it is likely that the GUI will not function, because timing is everything. You will need to quit the sketch (press `command+q` or click the `x` button on the upper left (or right) of the GUI). Then, relaunch the sketch by pressing the `play` button as above. This time you won't get the alert from the Mac OS, and the GUI will launch in all it's glory!
|
||||
Now go back to where you were before to continue this tutorial!
|
||||
Press the `play` button on the upper left of the IDE, and the sketch will try to launch in all it's glory. If this is your first time running the sketch, you will get a message from the Mac OS that will ask you if you will allow permission for an unsigned app to run. The app in question is the Electron Hub. If you've enabled apps to run from Anywhere, you can just give permission to run the app. However, it is likely that the GUI will not function, because timing is everything. You will need to quit the sketch (press `command+q` or click the `x` button on the upper left of the GUI). Then, relaunch the sketch by pressing the `play` button as above. This time you won't get the alert from the Mac OS, and the GUI will launch in all it's glory!
|
||||
|
||||
If you are encountering issues launching the GUI at this point, please head to the [OpenBCI_GUI section](http://openbci.com/index.php/forum/#/categories/openbci_gui) of our Forum and look for help or post a question.
|
||||
|
||||
### Using the OpenCBI GUI
|
||||
|
||||

|
||||
|
||||
Check out this [Youtube video](https://www.youtube.com/watch?v=agV1B2l-QLw) on how to use the OpenBCI GUI. We are in the process of updating it to match the GUI V2! Coming Soon.
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ The OpenBCI Cyton boards communicate using a byte string (mostly ASCII) command
|
||||
|
||||
## Cyton Command Protocol Overview
|
||||
|
||||
Cyton boards have two powerful microcontrollers on board, and come pre-programmed with the firmware. The RFduino radio link uses the Nordic Gazelle stack and library. The Board mounted RFduino is configured as a DEVICE. The microcontroller (PIC32MX250F128B or ATmega328P) has been programmed with firmware that interfaces between the ADS1299 (Analog Front End), LIS3DH (Accelerometer), micro SD (if installed), and RFduino (Radio module). The user, or application, controls the board by sending commands over wireless serial connection. You should have received a Dongle with the OpenBCI board. The Dongle has an RFduino running the Gazelle library configured as a HOST, and interfaces your computer through a Virtual Com Port (FTDI). (See the [Radios](needsLink) portion for more info on the RFduino link).
|
||||
Cyton boards have two powerful microcontrollers on board, and come pre-programmed with the firmware. The RFduino radio link uses the Nordic Gazelle stack and library. The Board mounted RFduino is configured as a DEVICE. The microcontroller (PIC32MX250F128B or ATmega328P) has been programmed with firmware that interfaces between the ADS1299 (Analog Front End), LIS3DH (Accelerometer), micro SD (if installed), and RFduino (Radio module). The user, or application, controls the board by sending commands over wireless serial connection. You should have received a Dongle with the OpenBCI board. The Dongle has an RFduino running the Gazelle library configured as a HOST, and interfaces your computer through a Virtual Com Port (FTDI).
|
||||
|
||||
On startup, the OpenBCI 8bit board (`v0`) sends the following text over the radio:
|
||||
|
||||
@@ -210,11 +210,11 @@ Use 16 channels.
|
||||
|
||||
**<**
|
||||
|
||||
Start time stamping and resynchronize command. When the Driver sends a **<**, the Host radio will respond with a **,**. Since the Host cannot send packets to the Device ad hoc, it may be helpful to know when the Host was actually able to send the command. If the Board is not streaming, then expect a response of `Time stamp ON$$$`. If the board is streaming, then you will get a response in the data stream when the Driver receives a data packet with a different **stop byte** as described in the next software document titled [OpenBCI Streaming Data Format](http://docs.openbci.com/software/02-OpenBCI_Streaming_Data_Format#openbci-v3-data-format-binary-format).
|
||||
Start time stamping and resynchronize command. When the Driver sends a **<**, the Host radio will respond with a **,**. Since the Host cannot send packets to the Device ad hoc, it may be helpful to know when the Host was actually able to send the command. If the Board is not streaming, then expect a response of `Time stamp ON$$$`. If the board is streaming, then you will get a response in the data stream when the Driver receives a data packet with a different **stop byte** as described in the document titled [OpenBCI Streaming Data Format](http://docs.openbci.com/Hardware/03-Cyton_Data_Format).
|
||||
|
||||
**>**
|
||||
|
||||
Stops time stamping. If the Board is not streaming, then expect a response of `Time stamp OFF$$$`; however if the board is streaming, then you will get a response in a different **stop byte** as described in the next software document titled [OpenBCI Streaming Data Format](http://docs.openbci.com/software/02-OpenBCI_Streaming_Data_Format#openbci-v3-data-format-binary-format).
|
||||
Stops time stamping. If the Board is not streaming, then expect a response of `Time stamp OFF$$$`; however if the board is streaming, then you will get a response in a different **stop byte** as described in the document titled [OpenBCI Streaming Data Format](http://docs.openbci.com/Hardware/03-Cyton_Data_Format).
|
||||
|
||||
|
||||
## Radio Configuration Commands
|
||||
|
||||
@@ -48,17 +48,78 @@ Cyton boards have specific input voltage ranges. These input voltage ranges can
|
||||
|
||||
Your Cyton kit comes with 4 plastic feet that can be snapped into the holes of your board to provide extra stability while working.
|
||||
|
||||
## II. Download/Run the OpenBCI GUI
|
||||
## II Download/Run the OpenBCI GUI on macOS
|
||||
|
||||
Go to the [GUI Downloads page](http://openbci.com/donation) and download the latest software release for your operating system. Once you unzip/extract the download, open the file called "OpenBCI_GUI".
|
||||

|
||||
|
||||
**NOTE: If you are using a Mac with macOS Sierra, you can currently ONLY run the OpenBCI GUI from Processing. Please go [here](http://docs.openbci.com/Tutorials/02-Ganglion_Getting%20Started_Guide#ganglion-getting-started-guide-run-the-gui-in-processing-on-macos-sierra) and follow the easy instructions to get up and running with Processing, then come back to this tutorial.**
|
||||
First, turn on your computer's Bluetooth.
|
||||
|
||||

|
||||

|
||||
|
||||
Once the GUI is running, select "SYNTHETIC (algorithmic)" and hit the "START SYSTEM" button to launch the GUI with a synthetic data generator. Click the dark overlay on the GUI to exit the SYSTEM CONTROL PANEL and then hit the "Start Data Stream" button to begin the stream of synthetically generated EEG data. You should then see data streaming across the "EEG Data" graph on the left side of the GUI.
|
||||
Then go to the [GUI Downloads page](http://openbci.com/donation) and download the latest software release for Mac. The GUI is built on [Processing](https://processing.org/), a creative coding language, so you can also download the OpenBCI Processing Sketch and run it through processing. Once you unzip/extract the download, open the file called `OpenBCI_GUI_200_MACOSX` and there you will find the `OpenBCI_GUI.app`. You can move that into your `Applications` folder.
|
||||
|
||||

|
||||
**NOTE: If you are using a Mac with macOS Sierra, you MUST move the OpenBCI_GUI.app into your Applications folder. You also need to change your Security & Privacy settings to allow apps from Anywhere. Go to the [end](http://docs.openbci.com/Tutorials/02-Ganglion_Getting%20Started_Guide#cyton-getting-started-guide-run-the-gui-on-macos-sierra) of this page for instructions on how to do that, then come back to conintue this tutorial.**
|
||||
|
||||

|
||||
|
||||
When you first run the GUI on your Mac, you will have to give administrator permission. You may see a message pop up asking you if you're sure you want to open it. Click `Open` and the app will launch.
|
||||
|
||||

|
||||
|
||||
If you have any other trouble with your permissions, or if you don't see the option to `Open` the app, check your `Settings/Security & Privacy` and make sure you tick the `Anywhere` button.
|
||||
|
||||
## II Download/Run the OpenBCI GUI on Windows
|
||||
|
||||
**This part is for Windows 8 & Windows 10 users. Windows 7 does not seem to work with Bluetooth Low Energy.**
|
||||
|
||||

|
||||
|
||||
The OpenBCI Ganglion uses Bluetooth LE (aka Bluetooth Smart, Bluetooth 4.0) and in order to use the Ganglion with Windows, you need a small USB Dongle. We have verified CSR 4.0 Dongles in our sotre, and you can get them from various onine vendors.
|
||||
**IMPORTANT:** The BLE Dongle *must* be a veriied CSR 4.0 Dongle
|
||||
|
||||
First plug in your CSR 4.0 BLE Dongle.
|
||||
|
||||

|
||||
|
||||
Then, go to the [Zadig tool website](http://zadig.akeo.ie) to get the driver.
|
||||
|
||||

|
||||
|
||||
Download Zadig for Windows Vista or Later
|
||||
|
||||

|
||||
|
||||
Open the Zadig tool once it's done downloading. Acknowledge the message to allow the program to make changes to your OS.
|
||||
|
||||

|
||||
|
||||
Select *No To Updates* when prompted.
|
||||
|
||||

|
||||
|
||||
On the top bar select *Options*.
|
||||
|
||||

|
||||
|
||||
Then select *List All Devices*.
|
||||
|
||||

|
||||
|
||||
Select CSR from the dropdown.
|
||||
|
||||

|
||||
|
||||
Then press *Replace Driver*.
|
||||
|
||||

|
||||
|
||||
You should then see a progress bar followed by a success message.
|
||||
|
||||

|
||||
|
||||
Note that both drop-downs both say *WinUSB*.
|
||||
Great! You are now ready to download the OpenBCI GUI and use your Ganglion!
|
||||
Go to our [Downloads Page](http://openbci.com/donation) and download the application that suits your Operating System.
|
||||
|
||||
## III. Prepare your OpenBCI Hardware
|
||||
|
||||
@@ -91,7 +152,7 @@ Cyton boards have specific input voltage ranges. These input voltage ranges can
|
||||
|
||||

|
||||
|
||||
Make sure to move the small switch on the right side of the board from "OFF" to "PC". As soon as you do, you should see a blue LED blink 3 times (if you’re using the 8-bit board; the Cyton version doesn’t blink). If you don't, press the reset button just to the left of the switch. If the LED still does not blink 3 times, make sure you have full battery. If you're sure your batteries are fully charged, consult the [hardware section](http://openbci.com/index.php/forum#/categories/hardware) of our Forum.
|
||||
Make sure to move the small switch on the right side of the board from "OFF" to "PC". As soon as you do, you should see a blue LED blink 3 times (if you’re using the 8-bit board; the Cyton version doesn’t blink). If you don't, press the reset button just to the left of the switch. If the LED still does not blink 3 times, make sure you have full battery. If you're sure your batteries are fully charged, consult the [hardware section](http://openbci.com/index.php/forum/#/categories/hardware) of our Forum.
|
||||
|
||||
**Note:** it's important to plug in your Dongle before you turn on your Cyton board. Sometimes, if the data stream seems broken, you may need to unplug your USB Dongle and power down your Cyton board. Make sure to plug your USB Dongle in first, then power up your board afterwards.
|
||||
|
||||
@@ -126,7 +187,7 @@ Your USB Dongle's port name will likely be at the top of the list. If you don't
|
||||
2. Click the REFRESH LIST button in the SERIAL/COM PORT section of the sub-panel
|
||||
3. Make sure you've installed the latest FTDI drivers, as described in section III.1
|
||||
|
||||
If you're still having trouble finding your USB Dongle's port name, refer to the [Forum](http://openbci.com/index.php/forum#/categories/hardware) about debugging your hardware connection.
|
||||
If you're still having trouble finding your USB Dongle's port name, refer to the [Forum](http://openbci.com/index.php/forum/) about debugging your hardware connection.
|
||||
|
||||
### 4.(optional) Edit the Playback file name
|
||||
|
||||
@@ -403,9 +464,24 @@ You'll notice that the strongest alpha wave signals should be appearing in chann
|
||||
|
||||
### 5. What's next?
|
||||
|
||||
For more ideas on what to do next, check out Chip's Blog [EEG HACKER](http://eeghacker.blogspot.com/) and the other OpenBCI Docs pages.
|
||||
For more ideas on what to do next, check out the OpenBCI [Community Page] (http://openbci.com/community/) and the other OpenBCI Docs pages.
|
||||
|
||||
Also, if you have a great follow-up tutorial to this getting started guide or something else you want to share, feel free to create your own by following format we have in the [Docs repo](https://github.com/OpenBCI/Docs) of our Github. It's really easy to create your own Docs page with a Markdown editor like [Mou](http://25.io/mou/). If you do so, send us a pull request on Github and we'll add your tutorial to the Docs! If you have troubleshooting questions be sure to visit the [OpenBCI Forum](http://openbci.com/index.php/forum/). For all other inquiries, contact us at contact@openbci.com.
|
||||
Also, if you have a great follow-up tutorial to this getting started guide or something else you want to share, feel free to create your own by following format we have in the [Docs repo](https://github.com/OpenBCI/Docs) of our Github. It's really easy to create your own Docs page with a Markdown editor like [Mou](http://25.io/mou/) or [MacDown](https://macdown.uranusjr.com/). If you do so, send us a pull request on Github and we'll add your tutorial to the Docs! If you have troubleshooting questions be sure to visit the [OpenBCI Forum](http://openbci.com/index.php/forum/). For all other inquiries, contact us at contact@openbci.com.
|
||||
|
||||
|
||||
|
||||
## RUN THE GUI ON macOS SIERRA
|
||||
|
||||
When Apple Computer updated their Operating System to Sierra (v10.12.x), they changed a few things about your `Security & Privacy` default settings. Sierra won't allow any apps that aren't from the App Store or Identified Developers. While we work on becoming Identified Developers, you will need to change your default `Security & Privacy` settings. Here's how to do it:
|
||||
|
||||

|
||||
|
||||
1. Open the Terminal app from your /Applications/Utilities/ folder and then enter the following command syntax: `sudo spctl --master-disable` and press the `return` key.
|
||||
2. You will be prompted to enter your administrator password. Do that, and then press `return` key.
|
||||
|
||||
>This hack was published by [osXdaily](http://osxdaily.com/2016/09/27/allow-apps-from-anywhere-macos-gatekeeper/) September, 2016.
|
||||
|
||||

|
||||
|
||||
Now, go to your `System Preferences/Security & Privacy` and make sure that your system allows apps downloaded from Anywhere. You may again be prompted for your administrator password.
|
||||
Now go back to where you were before to continue!
|
||||
@@ -47,8 +47,6 @@ Install 4 AA batteries in your battery pack, plug in your Ganglion board and tur
|
||||
|
||||
## Download/Run the OpenBCI GUI on macOS
|
||||
|
||||
**This setup is for Mac users. If you use Windows you will need a CSR 4.0 USB <> BLE Donlge. Go to the [end]() of this tutorial and follow the instructions for installing it, then come back here.**
|
||||
|
||||

|
||||
|
||||
First, turn on your computer's Bluetooth.
|
||||
@@ -57,7 +55,7 @@ First, turn on your computer's Bluetooth.
|
||||
|
||||
Then go to the [GUI Downloads page](http://openbci.com/donation) and download the latest software release for Mac. The GUI is built on [Processing](https://processing.org/), a creative coding language, so you can also download the OpenBCI Processing Sketch and run it through processing. Once you unzip/extract the download, open the file called `OpenBCI_GUI_200_MACOSX` and there you will find the `OpenBCI_GUI.app`. You can move that into your `Applications` folder.
|
||||
|
||||
**NOTE: If you are using a Mac with macOS Sierra, you MUST move the OpenBCI_GUI.app into your Applications folder. You also need to change your Security & Privacy settings to allow apps from Anywhere. Go [here](http://docs.openbci.com/Tutorials/02-Ganglion_Getting%20Started_Guide#ganglion-getting-started-guide-run-the-gui-on-macos-sierra) for instructions on how to do that, then come back to conintue thsi tutorial.**
|
||||
**NOTE: If you are using a Mac with macOS Sierra, you MUST move the OpenBCI_GUI.app into your Applications folder. You also need to change your Security & Privacy settings to allow apps from Anywhere. Go to the [end](http://docs.openbci.com/Tutorials/02-Ganglion_Getting%20Started_Guide#ganglion-getting-started-guide-run-the-gui-on-macos-sierra) of this page for instructions on how to do that, then come back to conintue this tutorial.**
|
||||
|
||||

|
||||
|
||||
@@ -67,7 +65,62 @@ When you first run the GUI on your Mac, you will have to give administrator perm
|
||||
|
||||
If you have any other trouble with your permissions, or if you don't see the option to `Open` the app, check your `Settings/Security & Privacy` and make sure you tick the `Anywhere` button.
|
||||
|
||||

|
||||
## Download/Run the OpenBCI GUI on Windows
|
||||
|
||||
**This part is for Windows 8 & Windows 10 users. Windows 7 does not seem to work with Bluetooth Low Energy.**
|
||||
|
||||

|
||||
|
||||
The OpenBCI Ganglion uses Bluetooth LE (aka Bluetooth Smart, Bluetooth 4.0) and in order to use the Ganglion with Windows, you need a small USB Dongle. We have verified CSR 4.0 Dongles in our [store](http://shop.openbci.com/products/csr-4-0-bluetooth-dongle), and you can get them from various onine vendors.
|
||||
**IMPORTANT:** The BLE Dongle *must* be a veriied CSR 4.0 Dongle!
|
||||
|
||||
First plug in your CSR 4.0 BLE Dongle.
|
||||
|
||||

|
||||
|
||||
Then, go to the [Zadig tool website](http://zadig.akeo.ie) to get the driver.
|
||||
|
||||

|
||||
|
||||
Download Zadig for Windows Vista or Later
|
||||
|
||||

|
||||
|
||||
Open the Zadig tool once it's done downloading. Acknowledge the message to allow the program to make changes to your OS.
|
||||
|
||||

|
||||
|
||||
Select *No To Updates* when prompted.
|
||||
|
||||

|
||||
|
||||
On the top bar select *Options*.
|
||||
|
||||

|
||||
|
||||
Then select *List All Devices*.
|
||||
|
||||

|
||||
|
||||
Select CSR from the dropdown.
|
||||
|
||||

|
||||
|
||||
Then press *Replace Driver*.
|
||||
|
||||

|
||||
|
||||
You should then see a progress bar followed by a success message.
|
||||
|
||||

|
||||
|
||||
Note that both drop-downs both say *WinUSB*.
|
||||
Great! You are now ready to download the OpenBCI GUI and use your Ganglion!
|
||||
Go to our [Downloads Page](http://openbci.com/donation) and download the application that suits your Operating System.
|
||||
|
||||
## Start Using The OpenBCI GUI
|
||||
|
||||

|
||||
|
||||
Once the GUI is running, select `LIVE (from Ganglion)`. That button will turn green, and you will see a pane open titled `BLE DEVICES`, and a list of Ganglions in the neighborhood. Each Ganglion has it's own unique 4 character ID (in HEX), and you will see it listed in the `BLE DEVICES` window. If you don't see any Ganglions, check to make sure your Ganglion has a battery connected, is switched on, and the blue LED is blinking. If there are multiple Ganglions in the room, you can find yours by turning it off, clicking the `REFRESH LIST` button, then turn on your Gagnlion again. Make a note of *your* Ganglion's 4 character ID.
|
||||
|
||||
@@ -241,54 +294,7 @@ Now, go to your `System Preferences/Security & Privacy` and make sure that your
|
||||
Now go back to where you were before to continue!
|
||||
|
||||
|
||||
## Using Zadig Tool for Windows CSR 4.0 Bluetooth Dongle
|
||||
|
||||
**This part is for Windows 8 & Windows 10 users. Windows 7 does not seem to work with Bluetooth Low Energy.**
|
||||
|
||||

|
||||
|
||||
First plug in your CSR 4.0 BLE Dongle.
|
||||
|
||||

|
||||
|
||||
Go to the [Zadig tool website](http://zadig.akeo.ie)
|
||||
|
||||

|
||||
|
||||
Then download for Windows Vista or Later
|
||||
|
||||

|
||||
|
||||
Open the Zadig tool once it's done downloading. Acknowledge the message to allow the program to make changes to your OS.
|
||||
|
||||

|
||||
|
||||
Select _No To Updates_ when prompted.
|
||||
|
||||

|
||||
|
||||
On the top bar select _Options_.
|
||||
|
||||

|
||||
|
||||
Then select _List All Devices_.
|
||||
|
||||

|
||||
|
||||
Select CSR from the dropdown.
|
||||
|
||||

|
||||
|
||||
Then press _Replace Driver_.
|
||||
|
||||

|
||||
|
||||
You should then see a progress bar followed by a success message.
|
||||
|
||||

|
||||
|
||||
Note that both drop-downs both say _WinUSB_.
|
||||
Great! You are now ready to download the OpenBCI GUI and use your Ganglion!
|
||||
|
||||
|
||||
|
||||
@@ -300,4 +306,4 @@ If the initialization and data stream fails, try the following steps:
|
||||
2. Making sure you've selected the correct Ganglion, if there are multiple Ganglions in the viscinity.
|
||||
3. Power down your Ganglion, and close the GUI. Then try restarting the system, buy turning on the Ganglion, and restaring the GUI.
|
||||
4. Make sure that your batteries are fully charged and then retry the steps above.
|
||||
5. If you are still having troubles connecting to your OpenBCI board, refer to the [Forum](http://openbci.com/index.php/forum) for extra troubleshooting advice.
|
||||
5. If you are still having troubles connecting to your OpenBCI board, refer to the [Forum](http://openbci.com/index.php/forum/) for extra troubleshooting advice.
|
||||
|
||||
@@ -47,7 +47,7 @@ All of these pins default to Analog inputs. For this tutorial, we will be using
|
||||
// do other stuff...
|
||||
}
|
||||
|
||||
Then, in the loop, we wan to check for the rising edge of the button press, make note of it in the auxData[0] variable, and set the flag. Finally, we want to get the button press event into the data stream. (Reference the [OpenBCI Data Format Doc](http://docs.openbci.com/software/02-OpenBCI_Streaming_Data_Format) for data packet anatomy) There are 6 aux bytes available in each data packet, and the default format is to read them as three 16bit integers. By default, the accelerometer values are included in the data stream, and they update every 5th data packet (Accelerometer runs at 50Hz by default). When the OBCI.useAux boolean is set, the updated auxData value will get automatically written with the next data packet and override the accelerometer data if it's there. The overridden accelerometer data gets bumped to the next packet. Our sample rate of 250SPS gives us a 4mS resolution on external trigger events like the rising edge of a pushbutton press. In the example code, we are setting all three Aux values to 0x6220 (that's 25120 in decimal). This number gets converted to Gs by our Processing GUI, which thinks that it is accelerometer data. The resulting value is pi (3.14) which is easy to locate in the data stream.
|
||||
Then, in the loop, we wan to check for the rising edge of the button press, make note of it in the auxData[0] variable, and set the flag. Finally, we want to get the button press event into the data stream. (Reference the [OpenBCI Data Format Doc](http://docs.openbci.com/Hardware/03-Cyton_Data_Format) for data packet anatomy) There are 6 aux bytes available in each data packet, and the default format is to read them as three 16bit integers. By default, the accelerometer values are included in the data stream, and they update every 5th data packet (Accelerometer runs at 50Hz by default). When the OBCI.useAux boolean is set, the updated auxData value will get automatically written with the next data packet and override the accelerometer data if it's there. The overridden accelerometer data gets bumped to the next packet. Our sample rate of 250SPS gives us a 4mS resolution on external trigger events like the rising edge of a pushbutton press. In the example code, we are setting all three Aux values to 0x6220 (that's 25120 in decimal). This number gets converted to Gs by our Processing GUI, which thinks that it is accelerometer data. The resulting value is pi (3.14) which is easy to locate in the data stream.
|
||||
|
||||
pushButtonValue = digitalRead(pushButton); // feel the pushbutton
|
||||
if (pushButtonValue != lastPushButtonValue){ // if it's changed,
|
||||
|
||||
@@ -4,7 +4,7 @@ Sometimes, when studying EEG or other biopotential signals, you will want to hav
|
||||
This tutorial will cover a couple of ways to add an external trigger to the OpenBCI data stream on our 32bit Board. Please read this entire page before jaunting off into hardware hacking.
|
||||
|
||||
##External Triggering The Easy Way
|
||||
The code used in this example is located [**here**](https://github.com/OpenBCI/OpenBCI_Button_Trigger) for those of you who want to play along at home. There's a tutorial for how to program the 32bit Board [**here**](http://docs.openbci.com/tutorials/02-Upload_Code_to_OpenBCI_Board#upload-code-to-openbci-board-32bit-upload-how-to)
|
||||
The code used in this example is located [**here**](https://github.com/OpenBCI/OpenBCI_Button_Trigger) for those of you who want to play along at home. There's a tutorial for how to program the 32bit Board [**here**](http://docs.openbci.com/Hardware/05-Cyton_Board_Programming_Tutorial)
|
||||
|
||||
The OpenBCI 32bit Board comes with a user accessible pushbutton switch already on the board, wired right to the PIC32 microcontroller. Brilliant! It is the PROG button, and it is used by to put the PIC into bootloader mode when uploading new firmware. When it's not doing that it's attached to pin D17 with a 470K pulldown resistor, so when you press the PROG button, D17 goes from LOW to HIGH. The PROG pushbutton is a great way to get user acknowlegement of a stimulus (for example) into the data stream. You will likely want to note the rising edge (pushed state) of the button press, so that's the example code that we'll work with.
|
||||
|
||||
@@ -30,7 +30,7 @@ In the setup function, we set the pin direction and prime the button variables.
|
||||
// more stuff...
|
||||
}
|
||||
|
||||
Then, in the loop, we want to check for the rising edge of the button press, make note of it in the auxData array, and set the write-to-SD flag (if you like). Finally, we want to get the button press event into the data stream. (Reference the [OpenBCI Data Format Doc](http://docs.openbci.com/software/02-OpenBCI_Streaming_Data_Format) for data packet anatomy) There are 6 bytes available in each data packet, and the default format is to read them as three 16bit integers (aka 'words' or 'shorts'). You can decide to add your flags into the auxData array any way you choose. In this example, we are setting each short to the value 0x6620. That's because our [OpenBCI GUI](https://github.com/OpenBCI/OpenBCI_Processing) converts these variables to Gs (the GUI is expecting accelerometer data) and 0x6620 converts to PI (3.14). Our sample rate of 250SPS gives us a 4mS resolution on external trigger events like the rising edge of the PROG button press.
|
||||
Then, in the loop, we want to check for the rising edge of the button press, make note of it in the auxData array, and set the write-to-SD flag (if you like). Finally, we want to get the button press event into the data stream. (Reference the [OpenBCI Data Format Doc](http://docs.openbci.com/Hardware/03-Cyton_Data_Format) for data packet anatomy) There are 6 bytes available in each data packet, and the default format is to read them as three 16bit integers (aka 'words' or 'shorts'). You can decide to add your flags into the auxData array any way you choose. In this example, we are setting each short to the value 0x6620. That's because our [OpenBCI GUI](https://github.com/OpenBCI/OpenBCI_Processing) converts these variables to Gs (the GUI is expecting accelerometer data) and 0x6620 converts to PI (3.14). Our sample rate of 250SPS gives us a 4mS resolution on external trigger events like the rising edge of the PROG button press.
|
||||
|
||||
pushButtonValue = digitalRead(pushButton); // feel the PROG button
|
||||
if (pushButtonValue != lastPushButtonValue){ // if it's changed,
|
||||
|
||||
@@ -44,7 +44,7 @@ The fix is easy. Simply right click the USB Serial Port of the OBCI board and go
|
||||
Fixing this issue should make the incoming signal much more consistent in terms of packet time intervals.
|
||||
|
||||
## Available tools on Windows
|
||||
- [OpenViBE](http://docs.openbci.com/research%20tools/OpenViBE)
|
||||
- [OpenViBE](http://docs.openbci.com/3rd%20Party%20Software/03-OpenViBE)
|
||||
|
||||
- [Neuromore](http://docs.openbci.com/research%20tools/Neuromore)
|
||||
- [Neuromore](http://docs.openbci.com/3rd%20Party%20Software/02-Neuromore)
|
||||
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
1. Some EEG processing software uses a lot of RAM (OpenViBE aquisition server for example). In fact, some will take up one entire core, if they can. Because of this, I would advise that you configure your VM to have multiple cores and as much RAM as you deem reasonable.
|
||||
1. Import the VM, go through all the configs and start it.
|
||||
1. For more detailed instructions/tutorials and troubleshooting see the [Windows Manual](http://modernievirt.blob.core.windows.net/vhd/release_notes_license_terms_1_5_15.pdf). (If you selected a different distribution other than Win 7, see the respective manual in the Windows page.)
|
||||
1. Follow the [OBCI on Windows](http://docs.openbci.com/tutorials/10-OpenBCI_on_Windows) tutorial to properly connect your OBCI board on Windows.
|
||||
1. Follow the [OBCI on Windows](http://docs.openbci.com/Tutorials/11-OpenBCI_on_Windows) tutorial to properly connect your OBCI board on Windows.
|
||||
|
||||
NOTE: Make sure that Guest Additions are installed correctly on your VM. With the image used, they should be automatically installed.
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
1. MyoWare Board
|
||||
2. OpenBCI Board and power source
|
||||
3. OpenBCI Dongle
|
||||
4. Headers for soldering (similar to the headers we include in our boards [here](http://docs.openbci.com/tutorials/04-External_Trigger_8bit_Example)). I used male headers but you can use whichever you prefer.
|
||||
4. Headers for soldering (I used male headers but you can use whichever you prefer).
|
||||
5. Jumper Wires (depending on which headers you use). At least 3 of these cables will need to have female ends and at least 2 will need male ends, the other vary depending on which headers you use.
|
||||
6. Soldering Iron and some rosin
|
||||
|
||||
|
||||
|
Depois Largura: | Altura: | Tamanho: 34 KiB |
|
Depois Largura: | Altura: | Tamanho: 37 KiB |
|
Depois Largura: | Altura: | Tamanho: 113 KiB |
|
Depois Largura: | Altura: | Tamanho: 70 KiB |
|
Depois Largura: | Altura: | Tamanho: 8.7 KiB |
|
Antes Largura: | Altura: | Tamanho: 146 KiB Depois Largura: | Altura: | Tamanho: 116 KiB |
|
Depois Largura: | Altura: | Tamanho: 4.7 KiB |
|
Depois Largura: | Altura: | Tamanho: 62 KiB |
|
Depois Largura: | Altura: | Tamanho: 34 KiB |