Jump to main content

DIY Mini Drone: Free Flight


Active Time
2-3 hours
Total Project Time
2-3 hours
Ben Finio, PhD, Science Buddies


Make your mini popsicle stick drone lift off in this activity! You will build a dual-joystick controller to steer your drone so you can fly it manually. How well can you fly without any help from automatic controls?

This activity is not recommended for use as a science fair project. Good science fair projects have a stronger focus on controlling variables, taking accurate measurements, and analyzing data. To find a science fair project that is just right for you, browse our library of over 1,200 Science Fair Project Ideas or use the Topic Selection Wizard to get a personalized project recommendation.


Prep Work

  1. Follow the instructions in the DIY Mini Drone activity to build your drone, with the following important changes:
    1. Do not connect any of the motor wires to each other. Add a separate extension wire (roughly 1 m long) to each individual motor wire—8 wires total. To make it easier to keep track of the wires, make the extension wire colors match the motor wires.
    2. Use straws to build a "roll cage" for your drone. You can come up with your own design, but this picture shows an example. The yellow straws protect the propellers. The green straws make it harder for the drone to flip over.
     A mini popsicle stick drone with a straw 'roll cage' to prevent propeller damage


  1. Build the following circuit. Click for bigger versions of the breadboard diagram and circuit diagram. A few important notes:
    1. Make sure you do not short-circuit the Arduino's 5 V to the battery pack's 6 V.
    2. Use long jumper wires to connect the two breadboards, so you can easily pick up the "controller."
    3. Motors 1, 2, 3, and 4 are controlled by MOSFETs connected to Arduino pins 11, 10, 9, and 6, respectively (these are pins with PWM functionality for controlling motor speed).
    4. The joystick outputs are connected to the Arduino analog input pins as follows:
      1. Joystick 1 L/R: A2
      2. Joystick 1 U/D: A3
      3. Joystick 2 L/R: A0
      4. Joystick 2 U/D: A1
    breadboard diagram for dual joystick control of mini drone
    circuit diagram for dual joystick control of mini popsicle stick drone
  2. Download drone_free_flight.ino. Read through the commented code to attempt to understand how it works. Note that there are several variables you can change that will affect your drone's steering.
  3. Upload the code to your Arduino.
  4. Place your drone on a flat, level surface and slowly try pushing on the right joystick ("joystick 2" should be on your right when you hold the controller). This joystick steers the drone forward, backward, left, and right. See if you can control the drone's direction as it glides around on the ground.
  5. Let go of the right joystick. Try to slowly press up on the left joystick to increase the speed of all four motors and make your drone lift off the ground.
    Think about:
    Can you use the right joystick to steer your drone and keep it level while it is up in the air?
  6. Try adding fins to your drone. They will increase drag, slowing down the drone's rotation. You can experiment with the size, location, and orientation of the fins. This picture shows just one example. If you are having trouble with your drone's propellers getting tangled in the wires, you can also try bundling the wires together with a twist tie, as shown in the picture.
     drone with four square fins added at the end of each straw on the frame. The wires are bundled together with a twist tie.
    Think about:
    Does adding fins make it easier to steer your drone?
  7. Try changing the speedChange variable in the code to change your drone's steering sensitivity.
    Think about:
    Does increasing or decreasing the variable make it easier to steer the drone?


When you are done using your drone, disconnect the battery pack and unplug your Arduino.

What Happened?

You probably found that it is quite difficult to steer a drone manually! Your drone is unstable, meaning it tends to flip over and crash. Adding a roll cage and fins can help slow the drone down and make it harder to flip. You might be able to control the drone's direction as it glides around on the ground, but it is very difficult to make the drone fly up in the air without crashing. Recreational drones use automatic control to help them stay level. Read the Digging Deeper section to learn more.

Digging Deeper

Most toy drones (the kind you can buy in a store) use a mix of automatic and human control. A human operator can make the drone move up, down, left, right, forward, and backward with a controller, typically with two joysticks. However, the drone also has on-board sensors that detect its angle of tilt, and constantly makes small adjustments to the motor speeds to keep itself upright. These automatic adjustments are necessary because as you discovered, human reaction time is not good enough to keep the drone from crashing!

icon scientific method

Ask an Expert

Curious about the science? Post your question for our scientists.

For Further Exploration

  • To explore some of the sensors that drones use to help with automatic flight control, check out the additional projects in this mini popsicle stick drone series, listed below.
  • If you are ready to move on to build your own fully functional, radio-controlled drone, check out the resources in the Build Your Own RC Drone project.



Science Buddies |
Was this review helpful?

Free science fair projects.