Mind Controlled Drone – Tutorial

Mind Controlled Drone – Tutorial


Hello and welcome to this video tutorial. You will learn how to lift-off a drone using your mind. For this project, we need a drone and its controller. A soldering station and its accessories. A multimeter. The Neurosky MindWave Mobile A micro USB cable. The Arduino MKR1000. One breadboard. 4 100uF capacitors. 4 220Ω resistors. 12 Jumper wires and 6 Crocodile Clip Wires. This project should work with any drone. You can buy a cheap drone for €10 in an outlet store. Frist, we open the case of the controller. Use any force necessary, but don’t break the circuit board inside. You will end up whit something like this. Don’t mind the wires, we’ll add them later. Use a desoldering pump or braided copper wire to remove the tin from the PCB to disconnect the joysticks. You will end up whit something like this. Actually this joystick contains two potentiometers. One in the x-axis and one in the y-axis. We can measure the resistance of the potentiometers with a multimeter. This multimeter comes with handy clamps to attach to the potentiometers. First, we check the resistance of a potentiometer with an know resistance, to make sure the multimeter is working correctly. This standard potentiometer should have 10k resistance. When we measure the resistance of the joystick component we see that the resistance is also 10k. This result may vary on your controller. Find 4 resistors of this same value and solder them to the outer ends of each potentiometer. In this case there are four 10k resistors needed. Solder solid core wires to the open middle holes. Also solder the postive (+) and negative (-) wires. We need to convert the PWM output from the Arduino to an analogue voltage. You can build a simple digital to analogue converter (DAC) with a low pass filter. Using a capacitor and an resistor. This will be the main part of the circuit. Next, we will build a receiver that will generate the output to the controller. Grab your Arduino MKR1000, breadboard, jumper wires, capacitors and resistors to start building the main circuit. Connect the red wire to the VCC which gives a 3.3-volt output and connect the ground (GND) with a black wire. This will be used as power for the controller. Make a row of polarized capacitors. The long pin goes in to the ground (GND). Use the 220-ohm resistors to connect the capacitors to the other side of the breadboard. Place the jumper wires between the resistors and capacitors. These will give the output of the analogue voltages. Lastly, connect pins 2 – 5 to the front end of the resistors. The circuit will look like this. Now is the time to connect the Arduino circuit to the hacked controller. I use Crocodile clip wires to make an non-permanent circuit. Make sure you connect the ground and the VCC correctly. Or you will get a short circuit. When you connected all the pins to the correct inputs on the controller it’s time to upload the Arduino sketch. There are four variables that control the output. Throttle, Yaw, Pitch and Roll. In the setup, we start Serial communication and set all the pins to OUTPUT. The Arduino recieves 4 8-bit values at a time and sends them with analogWrite() to the controller. When the sketch is uploaded you can turn on the controller and connect to the drone. Now we will look into the mindwave sensor to control the drone. Install the drivers from CD on your laptop or PC. To activate Bluetooth pairing mode on the mindwave sensor you have to hold the switch for 3 seconds until the led is flashing twice. When the mindwave sensor is connected put in on your head. Now we will look into the processing code. Make sure you have connected the Arduino via USB and the mindwave sensor connected via Bluetooth. Also, make sure you have the MindSet library installed in your Processing libraries folder. This sketch will make a Bluetooth serial connection with the mindwave sensor. And an normal Serial connection with the Arduino. You can find the com-ports in your device manager. The MindSet libary wil give you periodically an attention value between 0 an 100. This value gets mapped and will be sent to the Arduino to control the throttle of the drone. Also, there is a kill-switch build in that terminates the program. And sets the throttle to 0 in case something goes wrong while experimenting. Press K to terminate the program. Run the sketch and concentrate on your drone. When you concentrating enough the drone will lift-off. When you stop concentrating, the drone will land. The Processing sketch will visualise the amount of attention needed to lift-off the drone. A minimum attention level of 40 is needed to start an lift-off. I hope you have learned something today. I had great fun building this project. And I look forward to seeing what you will do with this knowledge. Thanks for watching!

1 thought on “Mind Controlled Drone – Tutorial”

Leave a Reply

Your email address will not be published. Required fields are marked *