Mind Control Drone

Learn how to lift-off a drone with your mind and a hacked controller using a MindWave sensor, Arduino MKR1000 and Processing.

Mar 23, 2018

150897 views

192 respects

Components and supplies

1

Micro Racing Drone

12

Jumper wires (generic)

1

Mindwave Neurosky

1

Arduino MKR1000

1

Breadboard (generic)

4

Resistor 221 ohm

4

Capacitor 100 µF

Tools and machines

1

Soldering iron (generic)

1

Digilent Screwdriver

Apps and platforms

1

Processing 3

1

Arduino IDE

Project description

Code

Processing master

processing

Connects to the MindWave sensor via Bluetooth Serial and sends the attention value as an 8-bits integer to the controller

Drone Control

arduino

his sketch receives Serial input values (from processing) and sends these values to the hacked controller.

Processing master

processing

Connects to the MindWave sensor via Bluetooth Serial and sends the attention value as an 8-bits integer to the controller

Downloadable files

Single Low pass filter

Convert PWM signal to analog voltage

Single Low pass filter

Controller circuit

Circuit to wire Arduino MK1000 to the hacked controller

Controller circuit

Controller circuit

Circuit to wire Arduino MK1000 to the hacked controller

Controller circuit

Single Low pass filter

Convert PWM signal to analog voltage

Single Low pass filter

Comments

Only logged in users can leave comments

Anonymous user

2 years ago

hey it was a great project but can you tell me for this do i need to learn any kind of codes?

WesleyCMD

2 years ago

Start at https://www.arduino.cc/en/Guide/HomePage or go search on Youtube. No this project doesn't cover weather conditions.

WesleyCMD

2 years ago

Yes if you want to understand how it works. I highly reccomend that you learn the basics of (arduino) programming first.

Anonymous user

2 years ago

thanks ! can you provide me some tutorials links for learning arduino programming??? and can i use a drone to tell the weather condition by this arduino programme only?

Anonymous user

2 years ago

if i want to know the weather condition by drone then what should i do?

Kirpal

2 years ago

very interesting!

WesleyCMD

2 years ago

Thank you!

Anonymous user

2 years ago

Hey, great work! I just wanted to know whether or not I can use raw EEG data instead of attention levels. Also, can I use mindWave Mobile 2 instead of MW mobile 1?

Anonymous user

2 years ago

Awesome Project. Just a curiosity: I'm doing the same project and I was wondering why did you put the resistors? Do you have or could you tell me where I could find the schematic of the drone circuit controller (in order to understand better why do you use the resistors) Actually my problem is that the led does not turn on. Could you help me? Thank you very much

Anonymous user

2 years ago

Hey man! Awesome job, especially the fact that you shared it with everyone. I wanted to know whether this mind control would work on say an Arduino car and how the code would differ. Never the less, amazing work!

WesleyCMD

2 years ago

HI! Thank you. The core of the circuitbending stays very much the same. Bypass the pot-meters and add an analogue voltage to it. Just make sure you measure the voltage and the resistance correctly. Codewise you won't have to much, in this example we have only an analouge throttle value. You can tweak it to make it go left and right.

Anonymous user

2 years ago

This is so inspiring!! Thank you so much for sharing with us. May I ask why in this project a BlueSMiRF is not required here for piping Arduino with Mindwave Mobile?

WesleyCMD

2 years ago

It is because the Bluetooth connection is going through windows and the Bluetooth serial communication is handled in the processing library.

Anonymous user

2 years ago

Wow. Seriously cool! Stuff like this makes me proud to be a Maker.

Anonymous user

2 years ago

Could this also be done on an Uno?

sohrab1301

2 years ago

and really it is great project for us many thing new to learn

sydneydogtraining

2 years ago

Nice Work

GEKKOIDE

2 years ago

Excellent work!!! How so well work the MindWave sensor? It´s easy to found it? I think that In my country (Argentina) it´s not avaible.

Anonymous user

2 years ago

sir, what are the applications of this project?

Anonymous user

2 years ago

If you had a headnet array of electrical sensors (such as used in EEG machines), you could potentially use machine learning to learn what "forward" "reverse" etc. commands looked like. Instead of bypassing the joysticks, you could where the headnet and fly the drone as you would normally, but hook up the joysticks to analogue input pins, record the joystick data along with the headnet signals and let your computer learn what "forward" or "reverse" looks in the headnet while you wiggle your thumbs. At least in theory, anyway... The spatial distribution of the different neurons that control your thumb's movement to the left versus right may be too small for the sensors to pick up. EEG sensors have low spatial resolution because they directly detect a neuron's electrical signals which travel through the skull & skin, diffusing over large areas. These electrical signals are immediate however, so perhaps coding variables that took rapid measurements of signal gradients across the scalp would do the trick. To capitalize on this further, instead of trying to detect subtle thumb gestures where the neurons controlling left versus right may be too close together, you could potentially train different body parts to control the drone (left foot flex = forward; right shoulder flex = reverse) since the physical arrangement of these neurons in the motor cortex would be further apart from each other and easier for the eeg electrodes to read.

Anonymous user

2 years ago

Hi Sir I have design a mind controller robotic arm or leg for physically challenged persons. So I Need clear explanation about this project. you can share a idea for this project please contact me <dasskaruppasamy.psr@gmail.com> Thank you...

Anonymous user

2 years ago

Hey, Wesley, great project! I liked it so much I decided to try it myself. The thing is my drone has a removable battery and after each charging I have to pair the drone with the controller. I have decided to use the Mindwave headset to control the take off/landing button that way I don't have to anchor it( it has altitude hold). However, I still need the throttle to pair the drone with the controller( it's done by pushing the lever up and down). Is there a simple hardware solution or do I have to incorporate it in the code somehow?

WesleyCMD

2 years ago

Good question! I think it is possible to mimic the up/down movement in the code with some delays. The process is almost the same.

Anonymous user

2 years ago

Hi. I am trying to replicate the project but unfortunately my arduino with the code you provide above does not communicate with Processing. Can you help me? Thanks

Anonymous user

2 years ago

This is a very interesting project and the instructions are excellent, especially for hacking the controller. I have a question (not a criticism): I wonder why you replaced all 4 potentiometers? It seems to me that only the potentiometer for the throttle needs replacement, because the other controls are not used and the software simply leaves their voltages in the middle values (if I interpreted the software properly). Also, the software statements for those other controls could be eliminated?

WesleyCMD

2 years ago

Hi Tony, Thank you for the kind words. Yes very sharp of you! I initially wanted to have more control, but settled for throttle only in this tutorial. They were simply left in for completeness and to show the possiblility to spark curiousity, they can be used, but also be left out. That is up to you!

Anonymous user

2 years ago

Hi, I'm looking to make a project like this one. I would like to know which neurosky headset you used and what are there uses because I looked on the website and I'm not sure which one I would need to use. I brainwave sensor that can work with Arduino and is able to sense focus in brainwaves.

Anonymous user

2 years ago

Hi SIR I'm a student of computer science and I have gone through the FYP idea's and selected your's so can I get you're email? If you could help me out it would be a great pleasure Waiting for you're response sir. Thank You

Anonymous user

2 years ago

Brilliant work. project is too marvellous

Anonymous user

2 years ago

i sent msg and waiting for your reply

Anonymous user

2 years ago

Hey Wesley, I know I'm two years late but the Neurosky Mindwave Mobile 2 has been released and I was wondering if that model works with all of the source code. I cannot find any of the first model on eBay that isn't higher priced than the second one. Thanks, I hope you are still monitoring this comment section.

Anonymous user

2 years ago

Hi, I bought a few months ago an RF mindwave headset, which not uses the Bluetooth connectivity. Is there a way to use this program with it? How?

Anonymous user

2 years ago

Is it Neurosky mindwave mobile or Neurosky mindwave headset? Reply as soon as possible. Thanks

WesleyCMD

2 years ago

The mindwave mobile is used in this project.

Arduuczen

2 years ago

Normally Processing is up to Java. Do I need to find C ++ mode for sketch to work?

Arduuczen

2 years ago

And why program has two separately part in Arduino IDE and Processing?

Anonymous user

2 years ago

Can I know your budget for this project how much did you spend to carry out this project ???

Anonymous user

2 years ago

can you write your email in the reply. i want to communicate with you, i'm student master my thesis topic is the same. i want to ask you out about the project.

Anonymous user

2 years ago

Thank for a great project Wesley! We're aiming to use this approach to stimulate mindful learning for youth with special learning needs. We need to make it fun for them to do the mental exercises required and this will certainly stimulate their interest.

Anonymous user

2 years ago

Hey Wesley, we are having trouble when we bring power to the power source it is having trouble making its way to the led and then in turn to the integrated chip. The power source and LED are both located on the controller board. At first we thought that we weren't getting enough voltage to the power source and that was our problem, however using A 6V battery pack and connecting it to the power source had no effect on the LED. Can you please reply with a possible solution. Thanks!

WesleyCMD

2 years ago

Search for: Air Hogs DR1 Micro Race Drone The arduino board was an MKR1000

WesleyCMD

2 years ago

It's impossible for me to know what is wrong in your situation. There is a possibility that you destroyed the board. Are you using a MKR100, max voltage of the MKR is 3.3 volt on the digital pins.

Anonymous user

2 years ago

Can you send a link to the board that you used in the video?

Anonymous user

2 years ago

No we are using an arduino MKR1000

Anonymous user

2 years ago

Hey we can't get our headset to connect is there a way to control the drone with the computer

sohrab1301

2 years ago

i want to make it my own so please tell me which neurosky i should buy

Anonymous user

2 years ago

please how can i Unzip the library in your libraries folder. You can find the libraries folder in your processing folder. Make sure your com-ports are correct in the setup, or you will end up with an error. You can find the com-ports in your device manager. You can also find the com-port of the Arduino under "Tools" in the Arduino IDE at "Port"

Anonymous user

2 years ago

such a great project will done

Anonymous user

2 years ago

I want to ask, in this project you make the pitch, yaw and roll with the same value so it will move when the values is loaded. Can this device read more action? Thank you

Anonymous user

2 years ago

Oh oke, my next question is can that coding transfered to Matlab? So I can process the data in matlab, thank you

WesleyCMD

2 years ago

This particular device can read concentration, meditation and blink (which you can consciously control). There are also other brainwaves, but they are more subconsciously. The problem is when you concentrate the meditation go down and vice versa. Blink did not work in Processing. There are other brainwave sensors that you can 'train' to do commands.

WesleyCMD

2 years ago

I do not know much about MatLab. The Mindwave interacts with your PC via Bluetooth Serial, there is a possibility that it can work with some research.

Anonymous user

2 years ago

That was super cool !! Appreciate it Sir.

Anonymous user

2 years ago

Unbeleivable project with a marvellous device. what else mind function this device can do? you mentioned concentration is controlling the drone......what else is possible?

Anonymous user

2 years ago

actually i was thinking if we can go beyond meditation etc? like if are angry, happy, emotional.....i was thinking like to control remote devices with this headset....how can i do this? like im thinking to turn on a light in other room and turn off other in 2nd room......is it possible?

WesleyCMD

2 years ago

Hi Muhammed! Thank you! It is possible to do the same with your meditation values. How more relaxed you are the higher the value. It should be possible to detect eyeblinks (and the strenght of the blink), but that seems broken in processing. The device can also measure Alpha-, Beta-, Gamma-waves (and the high / low of each). But those values are hard to manipulate at will.

WesleyCMD

2 years ago

In theory that should be possible. But those algorithms are not available by default.

Anonymous user

2 years ago

You can control Alpha and a meditation with deep breathing. Do this 3 times before you begin. Make sure your muscles are relaxed. If it doesn't move, then you need to calm your sympathetic nervous system response by slowing down the out breath. You can also hold for a moment before taking an in-breath for stronger results.

T_M_K

2 years ago

That is freaking AWSOME!!!!!!!!!!!!!!!!!!!

Anonymous user

2 years ago

I have been trying to buy the mindwave neurosky mobile 2 but couldn't get one. Could you help please

Sabayke

3 years ago

Can I know your budget for this project how much did you spend to carry out this project ???

Anonymous user

3 years ago

Could this also be done on an Uno?

araz_salim

3 years ago

such a great project will done

THORT

4 years ago

Thank for a great project Wesley! We're aiming to use this approach to stimulate mindful learning for youth with special learning needs. We need to make it fun for them to do the mental exercises required and this will certainly stimulate their interest.

Anonymous user

4 years ago

This is a very interesting project and the instructions are excellent, especially for hacking the controller. I have a question (not a criticism): I wonder why you replaced all 4 potentiometers? It seems to me that only the potentiometer for the throttle needs replacement, because the other controls are not used and the software simply leaves their voltages in the middle values (if I interpreted the software properly). Also, the software statements for those other controls could be eliminated?

WesleyCMD

2 years ago

Hi Tony, Thank you for the kind words. Yes very sharp of you! I initially wanted to have more control, but settled for throttle only in this tutorial. They were simply left in for completeness and to show the possiblility to spark curiousity, they can be used, but also be left out. That is up to you!

Anonymous user

4 years ago

That was super cool !! Appreciate it Sir.

Arduuczen

5 years ago

Normally Processing is up to Java. Do I need to find C ++ mode for sketch to work?

Arduuczen

2 years ago

And why program has two separately part in Arduino IDE and Processing?

Anonymous user

5 years ago

Hi SIR I'm a student of computer science and I have gone through the FYP idea's and selected your's so can I get you're email? If you could help me out it would be a great pleasure Waiting for you're response sir. Thank You

tealdog100

5 years ago

Hi, I'm looking to make a project like this one. I would like to know which neurosky headset you used and what are there uses because I looked on the website and I'm not sure which one I would need to use. I brainwave sensor that can work with Arduino and is able to sense focus in brainwaves.

VaultTec188

5 years ago

Hey Wesley, I know I'm two years late but the Neurosky Mindwave Mobile 2 has been released and I was wondering if that model works with all of the source code. I cannot find any of the first model on eBay that isn't higher priced than the second one. Thanks, I hope you are still monitoring this comment section.

Anonymous user

5 years ago

please how can i Unzip the library in your libraries folder. You can find the libraries folder in your processing folder. Make sure your com-ports are correct in the setup, or you will end up with an error. You can find the com-ports in your device manager. You can also find the com-port of the Arduino under "Tools" in the Arduino IDE at "Port"

Anonymous user

5 years ago

I really like this project sir, and currently I am trying to make an arduino plane, and I was wondering how to make that mind control.

Kirpal

5 years ago

very interesting!

WesleyCMD

2 years ago

Thank you!

Anonymous user

5 years ago

Hi. I am trying to replicate the project but unfortunately my arduino with the code you provide above does not communicate with Processing. Can you help me? Thanks

Anonymous user

5 years ago

Hi Sir I have design a mind controller robotic arm or leg for physically challenged persons. So I Need clear explanation about this project. you can share a idea for this project please contact me <dasskaruppasamy.psr@gmail.com> Thank you...

Anonymous user

5 years ago

Hey, great work! I just wanted to know whether or not I can use raw EEG data instead of attention levels. Also, can I use mindWave Mobile 2 instead of MW mobile 1?

Anonymous user

5 years ago

Awesome Project. Just a curiosity: I'm doing the same project and I was wondering why did you put the resistors? Do you have or could you tell me where I could find the schematic of the drone circuit controller (in order to understand better why do you use the resistors) Actually my problem is that the led does not turn on. Could you help me? Thank you very much

Alia6dulwahhab

6 years ago

can you write your email in the reply. i want to communicate with you, i'm student master my thesis topic is the same. i want to ask you out about the project.

Anonymous user

6 years ago

Hey Wesley, we are having trouble when we bring power to the power source it is having trouble making its way to the led and then in turn to the integrated chip. The power source and LED are both located on the controller board. At first we thought that we weren't getting enough voltage to the power source and that was our problem, however using A 6V battery pack and connecting it to the power source had no effect on the LED. Can you please reply with a possible solution. Thanks!

WesleyCMD

2 years ago

Search for: Air Hogs DR1 Micro Race Drone The arduino board was an MKR1000

WesleyCMD

2 years ago

It's impossible for me to know what is wrong in your situation. There is a possibility that you destroyed the board. Are you using a MKR100, max voltage of the MKR is 3.3 volt on the digital pins.

Anonymous user

2 years ago

No we are using an arduino MKR1000

Anonymous user

2 years ago

Can you send a link to the board that you used in the video?

Anonymous user

2 years ago

Hey we can't get our headset to connect is there a way to control the drone with the computer

Anonymous user

6 years ago

If you had a headnet array of electrical sensors (such as used in EEG machines), you could potentially use machine learning to learn what "forward" "reverse" etc. commands looked like. Instead of bypassing the joysticks, you could where the headnet and fly the drone as you would normally, but hook up the joysticks to analogue input pins, record the joystick data along with the headnet signals and let your computer learn what "forward" or "reverse" looks in the headnet while you wiggle your thumbs. At least in theory, anyway... The spatial distribution of the different neurons that control your thumb's movement to the left versus right may be too small for the sensors to pick up. EEG sensors have low spatial resolution because they directly detect a neuron's electrical signals which travel through the skull & skin, diffusing over large areas. These electrical signals are immediate however, so perhaps coding variables that took rapid measurements of signal gradients across the scalp would do the trick. To capitalize on this further, instead of trying to detect subtle thumb gestures where the neurons controlling left versus right may be too close together, you could potentially train different body parts to control the drone (left foot flex = forward; right shoulder flex = reverse) since the physical arrangement of these neurons in the motor cortex would be further apart from each other and easier for the eeg electrodes to read.

Anonymous user

6 years ago

hey it was a great project but can you tell me for this do i need to learn any kind of codes?

Anonymous user

2 years ago

if i want to know the weather condition by drone then what should i do?

Anonymous user

2 years ago

thanks ! can you provide me some tutorials links for learning arduino programming??? and can i use a drone to tell the weather condition by this arduino programme only?

WesleyCMD

2 years ago

Yes if you want to understand how it works. I highly reccomend that you learn the basics of (arduino) programming first.

WesleyCMD

2 years ago

Start at https://www.arduino.cc/en/Guide/HomePage or go search on Youtube. No this project doesn't cover weather conditions.

Anonymous user

6 years ago

Hey, Wesley, great project! I liked it so much I decided to try it myself. The thing is my drone has a removable battery and after each charging I have to pair the drone with the controller. I have decided to use the Mindwave headset to control the take off/landing button that way I don't have to anchor it( it has altitude hold). However, I still need the throttle to pair the drone with the controller( it's done by pushing the lever up and down). Is there a simple hardware solution or do I have to incorporate it in the code somehow?

WesleyCMD

2 years ago

Good question! I think it is possible to mimic the up/down movement in the code with some delays. The process is almost the same.

sohrab1301

6 years ago

and really it is great project for us many thing new to learn

sohrab1301

6 years ago

i want to make it my own so please tell me which neurosky i should buy

Anonymous user

6 years ago

This is so inspiring!! Thank you so much for sharing with us. May I ask why in this project a BlueSMiRF is not required here for piping Arduino with Mindwave Mobile?

WesleyCMD

2 years ago

It is because the Bluetooth connection is going through windows and the Bluetooth serial communication is handled in the processing library.

Anonymous user

6 years ago

Is it Neurosky mindwave mobile or Neurosky mindwave headset? Reply as soon as possible. Thanks

WesleyCMD

2 years ago

The mindwave mobile is used in this project.

Anonymous user

6 years ago

sir, what are the applications of this project?

Anonymous user

6 years ago

I want to ask, in this project you make the pitch, yaw and roll with the same value so it will move when the values is loaded. Can this device read more action? Thank you

WesleyCMD

2 years ago

I do not know much about MatLab. The Mindwave interacts with your PC via Bluetooth Serial, there is a possibility that it can work with some research.

WesleyCMD

2 years ago

This particular device can read concentration, meditation and blink (which you can consciously control). There are also other brainwaves, but they are more subconsciously. The problem is when you concentrate the meditation go down and vice versa. Blink did not work in Processing. There are other brainwave sensors that you can 'train' to do commands.

Anonymous user

2 years ago

Oh oke, my next question is can that coding transfered to Matlab? So I can process the data in matlab, thank you

chemicaleb

6 years ago

Brilliant work. project is too marvellous

T_M_K

6 years ago

That is freaking AWSOME!!!!!!!!!!!!!!!!!!!

Anonymous user

6 years ago

Hey man! Awesome job, especially the fact that you shared it with everyone. I wanted to know whether this mind control would work on say an Arduino car and how the code would differ. Never the less, amazing work!

WesleyCMD

2 years ago

HI! Thank you. The core of the circuitbending stays very much the same. Bypass the pot-meters and add an analogue voltage to it. Just make sure you measure the voltage and the resistance correctly. Codewise you won't have to much, in this example we have only an analouge throttle value. You can tweak it to make it go left and right.

Anonymous user

7 years ago

Hi, I bought a few months ago an RF mindwave headset, which not uses the Bluetooth connectivity. Is there a way to use this program with it? How?

GEKKOIDE

7 years ago

Excellent work!!! How so well work the MindWave sensor? It´s easy to found it? I think that In my country (Argentina) it´s not avaible.

sydneydogtraining

7 years ago

Nice Work

Anonymous user

7 years ago

Wow. Seriously cool! Stuff like this makes me proud to be a Maker.

Anonymous user

7 years ago

Unbeleivable project with a marvellous device. what else mind function this device can do? you mentioned concentration is controlling the drone......what else is possible?

WesleyCMD

2 years ago

Hi Muhammed! Thank you! It is possible to do the same with your meditation values. How more relaxed you are the higher the value. It should be possible to detect eyeblinks (and the strenght of the blink), but that seems broken in processing. The device can also measure Alpha-, Beta-, Gamma-waves (and the high / low of each). But those values are hard to manipulate at will.

WesleyCMD

2 years ago

In theory that should be possible. But those algorithms are not available by default.

Anonymous user

2 years ago

actually i was thinking if we can go beyond meditation etc? like if are angry, happy, emotional.....i was thinking like to control remote devices with this headset....how can i do this? like im thinking to turn on a light in other room and turn off other in 2nd room......is it possible?

THORT

2 years ago

You can control Alpha and a meditation with deep breathing. Do this 3 times before you begin. Make sure your muscles are relaxed. If it doesn't move, then you need to calm your sympathetic nervous system response by slowing down the out breath. You can also hold for a moment before taking an in-breath for stronger results.