Building DIY Drone from Scratch Part 3: Making GPS Follow-Me Drone

Building DIY Drone from Scratch Part 3: Making GPS Follow-Me Drone

Now that you’ve assembled your DIY Arduino Drone in the part2 of this article, it’s time to take this drone a step further with adding a GPS based Follow Me component for hands free flying and maneuvering. Seem too good to be true? All you need is a cell phone and some of the following mechanics to get things started.

For the components and instructions for building the Arduino GPS drone, please check the previous article.

Step 1: Setting up Bluetooth

Connect the HC-06 Bluetooth module to your Arduino in the following way:

  • Vcc (Bluetooth) -> +5V (Arduino)
  • GND (Bluetooth) -> GND (Arduino)
  • TX (Bluetooth) -> RX (Arduino)
  • RX (Bluetooth) -> TX (Arduino)

Step 2: Setting up GPS

You need to connect the NEO-6M GPS module to Arduino Nano so you can get the current GPS coordinates of your drone. Once it acquires its present longitude/latitude, we’ll make it follow you based on the GPS coordinates of your cell phone. Connect your GPS module to your Arduino as follows:

  • Vcc (GPS) -> +5V (Arduino)
  • GND (GPS) -> GND (Arduino)
  • TX (GPS) -> Pin 7 (Arduino)
  • RX (GPS) -> Pin 10 (Arduino)

You need to put the receiver such that the silver notch faces upward. Otherwise, the drone’s GPS won’t connect to the satellite to get its location.

Step 3: Downloading the Application

To make your drone a follower, you need to download the SensoDuino application to your smartphone. It monitors the sensors present on your smartphone and passes the values of different sensors to the Arduino. These values are then communicated to the drone through the Bluetooth module. You can download the app from this link. Open the application and pair your cell phone’s Bluetooth with the HC-06 module. Scan for devices, click HC-06/HC-05 module, and enter password 1234. Check ON in front of the sensor and then check TX to transmit data to your Arduino. You can also create a log of the sensors’ values by enabling the LOG option.

Step 4: Programming Your Arduino

Connect your Arduino Nano to your computer via USB cable. Make sure to select the correct Board and Port while uploading the code. You can change the board by clicking Tools in the top left corner.

Access the following file and upload the code to your Arduino.

Download the files

Extract the folder in your system and open the MultiWii.ino file. You’ll see several tabs in this file when you open it in Arduino IDE. Go to the config.h tab and uncomment the type of quad and the sensors you’ll use. In our case, we’re building a quadcopter in X configuration. You need to uncomment #define QuadX. Similarly, if you use an IMU (Inertial Measurement Unit), you can uncomment the specific model etc. After making the necessary changes, upload the code to your Arduino Nano.

Step 5: Powering Your Drone

Now, to power your entire assembly, connect your 3.7V LiPo battery to the Arduino Nano and connect the pins as follows:

  • +3.7V (Battery) -> Vin Arduino
  • GND (Battery) -> GND (Arduino)

You’re all set to fly your follow me drone.

You’re Being FOLLOWED!

Your Follow Me drone is ready to take a solo flight. Just power it on and place it in an open space. As soon as you start moving, the drone will start flying behind you. It’ll always keep a small distance from you. As soon as you stop, the drone also stops. It starts following you again when you move, so watch your back!

Here is how it looks like when it’s flying.

Move back after plugging the battery and…

There it goes!

I used a small frame for the drone this time, but with steadier frame and more powerful motors you can add small camera to the drone to take pictures and videos too.


  1. Make sure you have some kind of insulation between the GPS module and your Arduino. Otherwise, circuits of the two boards may short out and damage both boards.
  2. Always fly it outside your home and in an open space; otherwise, the propellers may injure people or damage property.
  3. Cutting the perf board is a delicate procedure best done with the utmost caution to avoid injury.
  4. Being an autonomous drone, it may malfunction at any time and take an unexpected flight. Always design a backdoor for such mishaps, so you don’t lose your drone.