With this approach there is still the issue of the FTDI virtual com port (VCP) serial driver software support on the Uno. This particular company has a shield with a robust looking library to go with it. Library supports FTDI serial devices:
Basically you want the same behavior that you see on a laptop: the OpenBCI board will appear as a serial port on your Uno. And you will send commands / receive packets at 115200 baud. Just like the programs running on a laptop.
----
One consideration is that the Uno might be underpowered for doing tasks such as onboard EEG signal processing algorithms. Although there appears to be plenty of DSP libraries out there (next link). If you need more horsepower you may need to evaluate other microcontroller platforms that have faster CPUs.
Other possibilities are Android devices that have built in usb host capability, or with an OTG On The Go adapter.
OpenBCI may eventually support BLE Bluetooth Low Energy communications, but not currently. Even if/when this is implemented the BLE data rate is vastly slower than through the dongle.
One more: The RFDuino that is your dongle is an Arduino which is a combination of this board with their usb board. So it's even conceivable that you could use the dongle (or a new RFDuino you purchase) in place of your Uno(!) In that scenario you would blend your Arduino code in with Joel's dongle radio code to get access to the serial bytes as they come in off the radio.
As another viewpoint, the OpenBCI 8-bit board is an Arduino Uno on the inside. You can reprogram the OpenBCI board using the Arduino IDE just like any other Arduino board. For more information, see here:
On another thread, @aishwarya asked if she could plug the dongle into a Raspberry Pi. Yes, the Pi supports usb host mode. So no additional shields are needed.
Jeremy @jfrey recently built a version of OpenViBE that runs on the Pi.
So Processing and the OPENBCI_GUI would likely run on the Pi also. However note Jeremy's comments on the speed and cores of the old vs new version of Pi hardware. It's likely to be somewhat sluggish. All the other tools are available as well, so a Python program might give the best performance.
Comments
There are several ways to do this. I recommend this first one, as it requires no hardware hacking, only software.
(1) plug the OpenBCI dongle into a 'host' USB port on a shield attached to the UNO R3. See some of these links for various shields,
https://www.google.com/search?q=usb+host+for+arduino
With this approach there is still the issue of the FTDI virtual com port (VCP) serial driver software support on the Uno. This particular company has a shield with a robust looking library to go with it. Library supports FTDI serial devices:
http://www.circuitsathome.com/products-page/arduino-shields
https://github.com/felis/USB_Host_Shield_2.0
Basically you want the same behavior that you see on a laptop: the OpenBCI board will appear as a serial port on your Uno. And you will send commands / receive packets at 115200 baud. Just like the programs running on a laptop.
----
One consideration is that the Uno might be underpowered for doing tasks such as onboard EEG signal processing algorithms. Although there appears to be plenty of DSP libraries out there (next link). If you need more horsepower you may need to evaluate other microcontroller platforms that have faster CPUs.
https://www.google.com/search?q=arduino+signal+processing+library
Other possibilities are Android devices that have built in usb host capability, or with an OTG On The Go adapter.
OpenBCI may eventually support BLE Bluetooth Low Energy communications, but not currently. Even if/when this is implemented the BLE data rate is vastly slower than through the dongle.
One more: The RFDuino that is your dongle is an Arduino which is a combination of this board with their usb board. So it's even conceivable that you could use the dongle (or a new RFDuino you purchase) in place of your Uno(!) In that scenario you would blend your Arduino code in with Joel's dongle radio code to get access to the serial bytes as they come in off the radio.
Lots of possibilities... :-)
William
Jeremy @jfrey recently built a version of OpenViBE that runs on the Pi.
So Processing and the OPENBCI_GUI would likely run on the Pi also. However note Jeremy's comments on the speed and cores of the old vs new version of Pi hardware. It's likely to be somewhat sluggish. All the other tools are available as well, so a Python program might give the best performance.