Step 7: Connect EEG Headset to Puzzlebox Synapse

Puzzlebox Synapse is a free, open source, cross-platform application which connects directly to commercially available consumer-grade EEG headsets, collects brainwaves signals (including detection states), performs visualizations of the data, optionally records sessions to disk, and provides a TCP/IP server infrastructure to relay information to remote clients.

For this Instructable we will use Puzzlebox Synapse to connect to a NeuroSky MindSet and report calculations of "attention" and "meditation" levels to Puzzlebox Brainstorms which uses this data to fly, hover, or land the Radio Controlled Helicopter.

If you are using an Emotiv EPOC headset then it is possible to use the "EmoKey" software to talk directly to Puzzlebox Brainstorms and thus skip this step.

To begin you will need to establish a Bluetooth connection with your NeuroSky MindSet. Instructions on how to do this should have been provided with your headset and are outside the scope of this document. That said if you are using Windows XP, it is recommended that you use the Toshiba Bluetooth stack (provided on the headset's installation CD) as opposed to the built-in Microsoft Bluetooth stack. We have simply had better results with Toshiba's software. The default Bluetooth pin for the NeuroSky MindSet is "0000" and once connected you should have a new COM port for your windows system or /dev/ttyUSB under Linux. Any users of Mac OS X are encouraged to try running the software from source using a Python interpreter and reporting any issues they might encounter. The software should be compatible but has neither been tested with nor packaged for OS X at the time of writing.

Once connected simply select the Bluetooth MAC address of your connected NeuroSky MindSet, or select the indicated COM port as appropriate.

Click the "Start" button under the "Server Daemon" section of the interface and the GUI will begin displaying EEG measurements in realtime. Brainwave and "eSense" calculations are produced once per second. It is also possible to view the user's raw EEG output as graphed waves, view attention and relaxation trends over time, and save the complete contents of a user's session to disk or export the results as a CSV file for use with OpenOffice.org Calc or Microsoft Excel.
<p>That's really very great....</p><p>www.rcbazaar.com</p>
<p>Hey,<br>This is epic what you've got here. Im gonna make it for my high school exhibition and i live in the united arab emirates. Please can you suggest me the specific name of the eeg headset by neurosky.. because online there are many and i am not sure which to buy specifically. Please reply to this asap. <br>Looking forward to your co-ordination </p>
Hello MasoodA, we currently use the MindWave Mobile EEG headset by NeuroSky. I believe the bundle it with different software packages but it is the same headset inside.<br> <br> You can find more details on our website, as this project has evolved quite a bit in the years since this Instructable was posted: <a href="http://puzzlebox.io/orbit" rel="nofollow">http://puzzlebox.io/orbit</a><br> <br> Cheers
<p>Thanks a ton x)</p>
<p>thank you awesome projec</p>
<p>can you use a mind flex headset</p><p>for the neurosky mindset</p>
Yes, the Mind Flex will work though some hacking will be required.<br><br>Please refer to these websites for more detail:<br><br>http://frontiernerds.com/brain-hack<br><br>http://darrenmothersele.com/blog/2013/10/07/mindflex-raw-eeg-data/
dope yo
I should have read through it before I commented, sorry! I see that I would need a far more powerful EEG than what I'm willing to spend on in order to do that. Thx for the instructions!
<p>do you only need the eeg headset? and is it possible to program it to go forward when you think &quot;forward&quot; and turn right when you think &quot;turn right&quot;? if so could you post instructions on how to do so? sorry if I'm asking stupid questions, I don't build stuff very often.</p>
Thank you very much for your reply! <br>This is what I'm trying all the time, to change the '--command=', the blue LED turns on at the helicopter, the antenna achievement synchronize with the helicopter, but I get ERROR.<br>An example of this you can see in the following pictures that i add.<br>What should I do or Which part of the code I need to change to make the helicopter fly?<br><br>Thank you very much for your help.<br><br>Alejandro
could you use a hacked mindflex headset instead of the mindwave?
<p>Sorry for the delayed response, but yes absolutely that would work. The only thing you are missing when you used a hacked mindflex is the Raw EEG wave. You still get the Attention and Meditation algorithms.</p>
<p>Hello all there! I'm still trying but I fail to fly my helicopter (Blade mCX2 RTF) directly with Helicopter_Control.py on Windows 8</p><p> <br>This is what I get:<br> <br><br> <br>INFO: [Brainstorms:Helicopter_Control] Using PySide module<br> <br>&lt;---- [Helicopter Remote] Main thread running<br> <br>data_payload: 0000005e05ff0a4b0e17135414aa<br> <br>data_payload: 0000005e05ff0a4b0e17135414aa<br> <br>data_payload: 0000005e05ff0a4b0e17135414aa<br> <br>data_payload: 0000005e05ff0a4b0e17135414aa<br> <br>data_payload: 0000005e05ff0a4b0e17135414aa<br> <br><br> <br>Then i understood that these are the codes that perform this:<br> <br><br> <br>data_payload: 0000005e05ff0a4b0e17135414aa (neutral)<br> <br><br> <br>data_payload: 0000035405ff0a4b0e17135414aa (hover)<br> <br><br> <br>data_payload: 0000035405ff0b540e17135414aa (fly_forward)<br> <br><br> <br>data_payload: 0000005e05ff08aa0e17135414aa (fly_back)<br> <br><br> <br>Someone can help me please?<br></p><p>What should I do or Which part of the code I need to change to make the helicopter fly?<br> <br><br> <br>Thank you!<br> <br><br> <br>Alejandro</p><p>alejandrocontenti@hotmail.com</p>
<p>Answered in the Puzzlebox Brainstorms forums: https://puzzlebox.info/forums/showthread.php?tid=3060&amp;pid=3234#pid3234</p>
<p>Hey Steve,</p><p> Is there any problem if I use an USB Oscilloscope and Logic Analyzer instead of separate analogue model?</p><p>Pls reply soon. It's very urgent</p><p>Judes</p>
<p>That should work just fine. We use a Saleae Logic analyzer ourselves (which is also USB). The oscilloscope in the video is only being used to confirm that the control signal is digital instead of analog.</p>
wow... when i see things like this, I realize how limited my little brain is, LOL <br>Great build, really cool
This is awsome!!<br>But with some EEG paste and more electrodes, we can make this go<br>Forward, Backward, LAnd, Right, Left<br>I think we have to amplify the signal and decode it with a formula and program it<br><br>I think im gonna do this :)
Cool, how did you makeout with this?
How much does this cost?
Hi sir: <br> I am michael,a university student from China.Actually,i made a control for a aircraft (not a RC Helicopter like yours )by using a Mindwave after reading your artical.The software is written by myself,it is Labview and they are connencted by bluetooth.My question is since we just can get two datas:attention and meditation,how can we control our aircraft to a correct direction by Mindwave.For example,if i want the aircraft to go left,what should i do by dealing with the two datas?
Hye sir...<br><br>This technology is really new for us..even there is no implementation and development have been made in our country..<br><br>I am a student and would like to do this for my final year project..<br><br>So here,<br><br>I have questions to ask you..<br><br>1) If i don't have logic analyzer, can still proceed the project?<br><br>2) Why using serial usb converter instead of parellel?<br> <br>3) Is there any different if I use cheap helicopter in term of the microcontroller?<br> Still using the Serial-usb converter?<br><br>Hope to here the answer from you a.s.a.p or can reply to my email..<br>Thank you.
Hello there, thanks for writing.<br> <br> Before proceeding, you should be aware that you should assume every model helicopter will use a different&nbsp;microcontroller&nbsp;and/or transmitter chip and potentially an entirely different control mechanism, even when working with two models from the same manufacturer. Its even possible two helicopters which are listed as the same model will have different chips inside over time due to differences in production runs! There are no guarantees.<br> <br> That said, our helicopter used a &quot;Spektrum DSM2&quot; transmitter chip, which was printed on the side of the box. So its fairly reasonable to assume anything else with that same brand and logo will have a similar configuration. But again, no promises.<br> <br> To answer your questions more fully:<br> <br> 1) We used a logic analyzer to figure out what was going on with our circuit. The oscilloscope was a more important first step though as it helped us to learn about our circuit - specifically that there was a digital signal between the microcontroller and transmitter chip. If this wasn't the case we would not have had any use for a logic analyzer. If you are affiliated with a university they should have an oscilloscope and someone capable of educating you in its use.<br> <br> 2) Most digital devices speak to one another using some serial protocol. That's a good thing. Just as it is easier for you to read this message one word at a time (letter by letter in fact) than trying to read multiple lines all at once (ergo in parallel). Anyway you are probably thinking of the type of parallel port printers used to use but I think you'll find it is nearly impossible to locate a modern computer which still has one.<br> <br> 3) A &quot;cheap&quot; helicopter is likely to use less complex parts and likely different control mechanisms, such as IR. It would be easier to hack the joystick potentiometers for such a device.<br> <br> <br> Finally, one last word - if you do not have a solid foundation in electronics you're going to want to find and work directly in person with someone who does. Most of what I have learned personally was from working on projects such as this alongside much more experienced individuals. Trying to ask complex questions over an internet forum will quickly become an exercise in frustration - not the least of which for the person trying to answer them!<br> <br> <br> Cheers<br> <br> Steve Castellotti
Mind controlled helicopters may or may not get you laid, but I think you are a cool person for sharing knowledge and answering this person's questions in such detail.
who says mind controlled helis won't get you laid? =P
hello.sir <br> <br>I am from India <br> <br>i want to build this project. I have neurosky mind set.. <br> <br>So i want to ask few questions regarding other parts of that project .. <br> <br>Q-1. can i use another company's RC helicopter. I didn't find the same company's helicopter or if that helicopter company supplying their product in india then where should i buy? <br> <br>Q 2- can u tell me full specification of usb to serial cable that used by u and where can i buy is it available in india....? <br> <br>Q3- i didn't understands that why u by passing all the circuit and components and connceting only the transmitter chip to usb to serial cable .....can u please expalin it ... <br> <br> <br>
Hi.. one more thing to ask you.. can i use Arduino usb yo serial converter board or just build the simple board like what you have done? pls advise me.. thanks..
Here's a thought: Thought-controlled slot cars. The harder you concentrate, the faster the car goes. When you need to brake, however, you have to relax. Which is difficult, 'cause your car is hurtling towards a bend at far too high a speed. It'd be engaging, difficult and fun. I see a profit in this.
Hi.. <br> <br>I would like to ask few things.. <br> <br>1) Can we just use USB to parallel?why and why not? <br>2) Why you choose to use USB to serial?any advantages of using this kind of board? <br> <br>That's all .. <br> <br>
Hello shijau, thanks for writing.<br> <br> In this project we encountered a Spektrum DSM2 transmitter chip, which receives as its input a serial protocol from the remote's microcontroller. The chip does not, to my knowledge have a parallel interface.<br> <br> In any case we modified an existing hardware device, so our equipment had to match.<br> <br> <br> Cheers<br> <br> Steve Castellotti
Dude thats so cool.
Sir,<br> I have some doubts. So please me explain these...<br> Your project explanations are very nice...I can understand your explanations. But I can&rsquo;t able to understand your proto type board connections, because it is quite different from my text book explanations. So please explain me about &ldquo;there are four wires one is +ve, -ve, Gnd, and data sending connections in data cable and remote control and also why you are using Blade mCX2 model helicopter to control the MLP4DSM type of remote control...why not the same model helicopter... and after finishing connections, you have shown another one 55 seconds video, why you are using here same 2laptops and what are all the software installed in it&rdquo;...<br><br>
<br> &nbsp;&nbsp;&nbsp; Thank you for writing.<br> <br> &nbsp;&nbsp;&nbsp; To quickly answer your questions:<br> <br> - The MLP4DSM is the controller provided with the Blade mCX2, so that was the most obvious choice to use.<br> <br> - The USB-to-Serial adapter cable we used provides 4 pins: Power, Ground/Negative (they are the same wire), Rx and Tx. We first needed to receive data (Rx) from the remote control's circuit board microprocessor to read the commands it would send to the transmitter chip. Later we needed to transmit that same data (Tx) to the transmitter chip. In our example we used Red for positive power, black for ground/negative, yellow for Rx and orange for Tx.<br> <br> - Only one laptop is necessary. We used two during our development for our own convenience. The only software you need to control the helicopters is Puzzlebox Brainstorms. If you want to use mind-control from a NeuroSky headset (or similar) you will also need Puzzlebox Synapse. In the course of the modification we used special software for the software-based Logic Analyzer. All required materials are listed on the first page of the instructions and links to all manufacturers and relevant software is provided in the Glossary:<br> <br> http://www.instructables.com/id/Brain-Controlled-RC-Helicopter/step9/Glossary-Link-Index-and-Credits/<br> <br> <br> &nbsp;&nbsp;&nbsp; I hope this helps.<br> <br> &nbsp;&nbsp;&nbsp; If you complete the project, please send us photos so we can add them to our website!<br> <br> <br> Thank you.<br> <br> <br> Steve Castellotti
Sir,<br> Thank for your kind response, definitely I' ll finish this project and send you a photographs, and I can't able to sing up your official site, some more doubts also I have for neurosky headset I have o install drivers provided with headset and puzzle box synapse, and thoshiba blue tooth software also is it... nerosky head set connected with PC via blue tooth is it sir, and after wearing headset how to think a commands.<br> Thanking you,<br> Chandru
One more doubt also sir,<br> In prototype board two terminals is connected to the RC one is black and another one is orange and that orange and yellow wire connections are connected random in connections...this is what I am getting confusion...
<br> I think the word you mean to use is &quot;question&quot; not &quot;doubt&quot; (c:<br> <br> Happy to help.<br> <br> <br> The official site for the software is http://brainstorms.puzzlebox.info<br> <br> <br> If you are running Windows XP, then the recommended Bluetooth stack to use with with the NeuroSky MindSet is from Toshiba. It should be included on the installation CD which comes with the MindSet. The default Microsoft Bluetooth stack should work but many users have experienced connections hanging and frequently timing out while using it.<br> <br> Besides being able to establish the Bluetooth Serial connection, no other drivers or software should be necessary. Specifically, Puzzlebox Synapse is a replacement for NeuroSky's ThinkGear server, so you don't want to run both at the same time. Puzzlebox Brainstorms can talk to either NeuroSky ThinkGear or Puzzlebox Synapse as they both provide the same protocol.<br> <br> <br> The NeuroSky MindSet measures levels of attention and relaxation. Some suggestions for achieving and maintaining a high level of focus include performing mathematics in your head, reciting song lyrics, or naming each street from one part of a familiar city to another. To achieve high levels of relaxation it helps to close one's eyes and meditate. Everyone is a little different so perhaps you will find what works best for you by experimenting.<br> <br> <br> Finally to answer your question about the wires, the connections are not random. If you are using the exact transmitter chip described in this document with a USB serial cable, you don't need to worry about reading values from the microcontroller because we have already traced them out for you in the source code.<br> <br> You will only need to connect the positive (red) and ground (black) cables from the USB serial adapter to the positive and ground pins of the transmitter chip. Then you will need to connect the &quot;transmit&quot; (Tx) wire from the USB serial adapter to the &quot;receive&quot; (Rx) pin of the transmitter chip -- because your computer will be transmitting commands to the chip, the chip will receive those commands, and re-transmit them through the radio signal.<br> <br> A prototype board with several wires are shown in the video so that we could easily change between reading values from the microcontroller to writing values to the transmitter. If all you want to do is fly the helicopter form computer software you don't need to reproduce all of that work and you will only ever need three wires to connect the transmitter chip to the USB-to-Serial adapter.<br> <br> I hope this helps.<br> <br> Cheers<br> <br> Steve Castellotti
Sir, <br> When I wearing a mind set, what are the words I have to think to fly helicopter.
You don't think a specific word or command, the EEG simply measures your brainwaves and compares characteristics to those of a known baseline (composited&nbsp;from a large pool of test subjects during a scientific study).<br> <br> In other words, if you ever play sports such as basketball, while on the court taking foul shots one after another, you have to block the noise and distraction of people around you in order to focus on making the shots. In that moment, if you were doing well, you would tend to measure a high level of focus. If on the other hand you were shooting poorly because of someone shouting or the sun in your eyes, then you would tend to measure low focus.<br> <br> Its the same if you are watching a boring television show (low focus) versus your favourite movie (high focus).<br> <br> If you are trying to write a paper for class and you're not making any progress, you would tend to measure low focus, but if you knew everything you wanted to say and were typing it out as fast as your fingers would let you, you would tend to measure with high focus.<br> <br> We use those high-focus-tendencies to make the helicopter fly. Whether you happen to be playing basketball, watching a movie, or writing a paper at the time you are wearing the headset doesn't affect the software - only how focused or engaged you are at the time.<br> <br>
Sir,<br> I am waiting for your reply, Puzzle box synapse will work for radio frequency mind wave, else shall I buy mindband, Mindset is not possible because it is outdated manufacturing.....<br><br> Thanking you,<br><br> By,<br> M.Hariram Chandar
Thank You so much sir,<br> Chandru
now all you need is something that when you think &quot;beer&quot; it will bring you beer.
a good wife
AWESOME!!! I immediately subscribe to you!
You don't plan on releasing this as a pre-configured kit for those of us, who don't have access to oscilloscopes and logic analysers, do you? ;P
awesome!!!!!!!!!!!!!!!!!!!!!!!!!!!! my brother made some thing like this but it was a rc car. didn't even know that you could do that.
cool.great rc project
No video of the heli crashing into stuff? From personal experience with RC Helicopters, have to say this would be great, but kind of skeptical that you could everything tuned in, before the helicopter is mostly destroyed. I am by no means an expert pilot, and feel a great flight, is one where I kept it in the air, until the battery needs charging. I've got a Blade CP, and it took a lot of time and parts, adjustments, just to keep it in the air for short periods without crashing it. I've been using a cheaper, duel rotor design for a month, with fewer hassles, but it not as responsive.

About This Instructable


390 favorites


More by puzzlebox: Puzzlebox Orbit: Using an Arduino to Control an Infrared Helicopter Brain-Controlled Wheelchair Robot Brain-Controlled RC Helicopter
Add instructable to: