EEG Controlled Drone
What if you could fly a drone using nothing but your brain, muscle movements, and eye blinks?
In this project, we'll build a real-time Brain Computer Interface (BCI) that allows you to control a DJI Tello drone using EEG (brain activity), EMG (muscle activity), and EOG (eye movement) signals.
Using the Neuro PlayGround Lite (NPG Lite), bio-potential signals are acquired, processed, and translated into wireless commands that are sent directly to the drone over WiFi.
This project demonstrates how neuroscience, embedded systems, robotics, and wireless communication can be combined to create a powerful Human Computer interface (HCI).
Disclaimer: This project is intended for educational, research, and DIY neuroscience purposes only. It is not a medical device.
Supplies
Hardware
- Neuro PlayGround Lite (NPG Lite)
- DJI Tello Drone
- Snap Cables
- Gel Electrodes
- USB-C Cable
- Laptop
- Nuprep Skin Preparation Gel
- Alcohol Wipes
Software
- NPG Lite Flasher Web
- NPG-TELLO-Drone Firmware
Skin Preparation
Before placing the electrodes, clean the skin properly.
The signals from the body are very small, so dust, oil, sweat, and dead skin can make the signal noisy.
What to do:
- Apply a small amount of Nuprep gel on the area where the electrode will be placed.
- Gently rub the gel on the skin for a few seconds.
- Clean the same area using an alcohol wipe.
Check Before Moving Ahead
- The skin should feel clean and dry.
- The electrode should stick properly.
- The electrode should not move or fall off easily.
Electrode Placement and Connection
| Electrode | Placement | Signal Type |
|---|---|---|
| A0P | Center Forehead | EEG |
| A0N | Behind Right Ear | EEG |
| A1P/A1N | Left Arm (biceps) | EMG |
| A2P/A2N | Right Arm (biceps) | EMG |
| REF | Behind Left Ear | Ground |
Pro Tips:
Clean skin with alcohol wipes before applying electrodes for better signal quality
Install the Firmware
The NPG Lite needs special firmware to communicate with the drone.
Connect the NPG Lite to your laptop using a USB-C cable.
Open the NPG Lite Web Flasher.
Flashing Steps
- Click Get from GitHub
- Download NPG-TELLO-Drone
- Select the downloaded firmware
- Click Connect Device
- Choose your NPG Lite
- Click Flash Firmware
Wait until the process completes.
The NPG Lite will restart automatically.
Configure Your Controls
Start the NPG Lite in Configuration Mode.
Enter Configuration Mode
- Hold the BOOT button
- Power ON the NPG Lite
- Wait until the RGB LED turns purple
- Release the button
Now connect your laptop to:
Test Your Signals and Set the Controls
The dashboard shows live values from all channels.
Each person produces slightly different signals, so we need to set thresholds.
| Input Signal | Detected Action | Drone Command |
|---|---|---|
| 🧠EEG | Focus | Takeoff |
| 👀 EOG | Triple Blink | Flip |
| 😬 EMG | Jaw Clench | Change Control Mode |
| 💪 EMG (Left Arm) | Muscle Flex | Up / Rotate |
| 💪 EMG (Right Arm) | Muscle Flex | Down / Forward |
Setting Thresholds
For each control:
- Stay relaxed and observe the resting value.
- Perform the action.
- Watch the signal increase.
- Set the threshold slightly above the resting value.
Repeat until each action triggers reliably.
Connect to the Drone
Power ON your DJI Tello drone.
The NPG Lite will automatically:
- Search for nearby WiFi networks
- Detect the TELLO network
- Connect automatically
- Enter flight mode
No manual WiFi setup is required.
Let's Test the Controls!
1. Takeoff
Focus your attention on a single point, such as an object on the wall or a spot on the screen. The system continuously measures your concentration level using EEG signals. Once your focus level crosses the predefined threshold, the drone automatically takes off and hovers in the air.
2. Move the Drone
Now let's control the drone using muscle signals (EMG).
- Flex your left arm
- Contract the muscles in your left arm. The EMG sensor detects this muscle activity and sends a command to the drone, causing it to move upward.
- Flex your right arm
- Contract the muscles in your right arm. The detected muscle signal is converted into a command that makes the drone move downward.
3. Change Control Modes
Clench your jaw firmly for a moment. The EMG sensor detects the jaw muscle activity and uses it as a mode-switching command. This allows you to change how the arm movements control the drone.
4. Rotation Mode
After switching modes, the same arm movements perform different actions:
- Left arm flex → Rotate the drone left.
- Right arm flex →Move drone forward
This lets you control multiple drone movements using the same set of muscle signals.
5. Perform a Flip
Blink your eyes three times in quick succession. The EOG sensor recognizes this unique blink pattern and triggers a flip command, making the drone perform an aerial flip.
6. Emergency Landing
Safety always comes first. If you need to stop the flight immediately, press the emergency button. The drone will instantly land, regardless of its current mode or action.
Applications
This project demonstrates how body signals can be used to control machines in real time.
Possible applications include:
- Brain-Computer Interfaces (BCI)
- Neuro-Robotics
- Assistive Technology
- Human-Computer Interaction
- STEM Education
- DIY Neuroscience Projects