## MindWave and Arduino ## MindWave and Arduino: Tutorial Version 1 More advanced, more "hacking" {{:mindwave_arduino_leds.pdf|}} Also useful are these third party examples that could be useful for you: [[https://github.com/akloster/python-mindwave|Python & NeuroSky headsets]] [[https://github.com/guanix/processing-neurosky|Processing & NeuroSky headsets]] ====== The Solution ====== The solution developed by Puzzlebox consisted of six computer systems, linked over a local wireless network, with four laptops reading data from NeuroSky MindWave EEG headsets and providing a personalized graphical user interface for each user, one system displaying a master control panel to monitor the overall system and provide an emergency manual override, and the sixth acting as a central control server. The control server receives movement commands from each of the client systems and translates those requests into digital signal states on an Arduino prototyping board. ====== Display Interface ====== * Concentration is measured and displayed in real­time * An interface is personalized and presented to each user, with a variable control threshold matched to their individual skill level and task * When concentration levels reaches that threshold, the progress bar changes color from red to green and the command for the currently­selected activity is send to the crane through the control server * Blink detection is performed to permit hands­free swapping between activities * By selecting the “Stop” command a user can ensure their concentration levels will not accidentally move the crane * A connection meter indicates device contact quality and signal strength ====== Control Panel ====== * Communications to the Arduino hardware can be perform directly, bypassing the control server * Measurements of user concentration, relaxation, and device contact and signal strength are charted in real­time * A power meter displays when the user's control threshold is reached * Raw EEG signals are graphed and displayed on screen ● An EEG source selection option can be directed to a local or remote ThinkGear Connect capable socket server, such as Puzzlebox Synapse Please refer to code examples linked above to duplicate this project.