The following is a copy from my blog. The OpenBCI Cyton and Ganglion boards are open hardware and maker-friendly biosensing systems. Although there are alternatives, such as Bitalino and OpenEEG and some companies and/or projects are currently working on new hardware (see e.g. EEG.io), the OpenBCI boards are in my opinion at this moment still […]
Author: Robert Oostenveld
DIY EEG headband
The OpenBCI Ultracortex headset is a nice piece of hardware, but rather expensive (350-800 USD) and does not always provide a good fit with the subjects in terms of comfort and signal quality. Using loose wires with cup electrodes offers flexibility and attaching a few of them with Ten20 paste to the scalp is not such […]
One option for connecting the EEGsynth software to modular synth hardware is though our own open hardware Arduino-based USB to CV/Gate modules. Another option is to use readily available commercial hardware, such as the Doepfer MCV4, A-190-2, A-190-4, Pittburgh Modular MIDI 3, or Kenton USB-Solo. We decided to give it a try with the Shuttle Control from Endorphin.es. The Shuttle Control is […]
I have been looking into TouchOSC as an example application that can send and receive Open Sound Control (OSC) messages. I have installed it on my iPhone 5 and on my iPad 2. Using the inputosc/outputosc modules I can read/write OSC messages with EEGsynth. The only thing that I have not figured out yet is how to broadcast OSC messages. We are […]
New functionality demonstrated
A lot of development on the EEGsynth software has happened since the BrainHackathon in Paris. The following modules are now implemented (in alphabetical order): accelerometer brain buffer eyeblink heartrate inputosc keyboard launchcontrol muscle openbci2ft outputcvgate outputosc playback pulsegenerator redis sequencer synthesizer volcabass volcabeats volcakeys All the code for the EEGsynth is managed on GitHub, where […]
To link the digital signal processing on a laptop or Raspberry Pi to the analog synthesizer, I have made two usb-to-cvgate converters. The first one I designed and implemented was a one-channel version that is able to output up to (approximately) 5 Volt. The second one is an improved version with four channels that can be […]
Following testing of the one-channel CV/Gate controller and discussions with Stephen, I moved on and designed a four-channel version. The MCP4725 DAC converter used in the previous version can be combined with another DAC on the same I2B bus by removing a connection on the breakout board. However, the I2C bus won’t scale further. I […]
I completed the first Arduino based controller. It has a single control voltage and a single gate, both directly wired to a male 3.5mm connector. Using serial commands over the USB connection, it allows specifying the control voltage between 0 and 5V(*), and the binary gate value (TTL logic). *) although the design was meant […]
With my first post on the Arduino based CV/Gate controller I implemented a single control channel using a single DAC. Now, using four TI LF398 sample-and-hold ICs, I multiplexed the DAC output into four control channels. I updated the Arduino sketch and managed to control all four outputs independently. However, something that I overlooked is […]
I wrote some code that wraps the serial interface and the control commands of the Arduino CV/Gate into a MATLAB class. I used the following example code in MATLAB to benchmark the speed. a = cvgate(‘/dev/tty.usbserial-AH01DRO4’, 115200); a.voltage = 0; a.gate = 0; c = 0; t = tic; while true a.voltage = 5 * […]
Arduino based CV/Gate controller
The EEG signal processing, classification and the translation into a control signal is done on a computer. This means that the computer needs to be able to send control signals to the synthesizer. There are in general two options for interfacing with a synthesizer: Midi and CV/Gate. Midi is a digital protocol over a serial […]
OpenBCI working with Raspberry Pi
I compiled the openbci2ft application on the Raspberry Pi without any problem. The openbci2ft application interfaces the OpenBCI board with the FieldTrip buffer, which is a network transparent interface to real-time EEG data and which supports MATLAB, Python, Java and C/C++ interfaces to the data stream. The openbci2ft application is implemented as ANSI-C application, as […]
Yesterday my 32-bit OpenBCI board arrived. Today I have been working most of the day to get it to work with FieldTrip, which is my preferred rapid application development and data analysis platform based on MATLAB. OpenBCI comes with some example software. I was able to get the Processing example application up and running in […]
The Nike EEG headband
We are targeting the development at affordable EEG hardware and specifically have the OpenBCI system in mind. A 3D printed headset has been constructed in the OpenBCI project, but that is not (yet) easily available. Hence I am currently exploring some ideas for electrode attachment on my own. Although easy to put on, a hard-plastic headset is not trivial to […]