DIY Drone Instructable: How To Deliver a Payload

DIY Drone Instructable: How To Deliver a Payload

payload delivery system for drones

Overview

These instructions guide you to build a DIY payload delivery drone system that can be mounted on your drone/quadcopter and used to deliver a package to any address. The smart, low-cost delivery solution uses GPS to find its destination and then employs an ultrasonic sensor to measure the ground clearance. Depending on your drone capabilities, this payload system can lift up to 2kg freight. A servo motor is used to release the payload at the desired location. This guide also provides a solution to the sensor integration problem. You can integrate GPS, servo, and ultrasonic sensors without any serial interference.


DIY payload delivery drone system

Components

  1. Breadboard
  2. Arduino Mega/Uno
  3. Servo motor SG90
  4. Ultrasonic sensor HC-SR04
  5. GPS module NEO-6M-001
  6. Connecting wires
  7. A bottle cap
  8. Glue/Tape
  9. Hair pin
DIY payload delivery drone connecting wires component
bottle cap
DIY payload delivery drone hairpin component
hair pin

Step 1: Connecting the Ultrasonic Sensor

Take the breadboard and affix the Arduino to its one side, as shown in the picture. Now, take the HC-SR04 ultrasonic sensor and attach it to the lower side of the breadboard.

DIY payload delivery drone Step 1 connecting Arduino to breadboard
DIY payload delivery drone Step 1 connecting ultrasonic sensor to board

Make the connections as shown in Figure 1. Connect the pins as follows:

  • Vcc (Ultrasonic) -> 5V (Arduino)
  • GND (Ultrasonic) -> GND (Arduino)
  • Trig pin (Ultrasonic) -> pin 8 (Arduino)
  • Echo pin (Ultrasonic) -> pin 9 (Arduino)
DIY payload delivery drone Step 1 Figure 1

Run the following code to check if the ultrasonic sensor is functional.

The Serial Monitor will show the following output:

DIY payload delivery drone Step 1 Serial Monitor Output

Step 2: Connecting the GPS Module

Take the NEO-6M GPS module and insert its pins into the breadboard.

DIY payload delivery drone Step 2 connecting GPS module

Make connections as shown in Figure 2. Don’t forget to download TinyGPS++ library if missing. Connect the pins as follows:

  • Vcc (GPS module) -> 3.3V (Arduino)2
  • GND (GPS module) -> GND (Arduino)
  • RX pin (GPS module) -> pin 1 (Arduino)
  • TX pin (GPS module) -> pin 0 (Arduino)
DIY payload delivery drone Step 2 Figure 2
Figure 2

Run the following code and check if the GPS sensor is functional. DON’T FORGET to remove the TX pin of GPS module from pin 0 of Arduino; otherwise, your code won’t upload. Once the code is uploaded, first open Serial Monitor; then, connect the TX pin of GPS to pin 0 to view the current location of drone, time, and date.

The Serial Monitor will show output:

DIY payload delivery drone Step 2 Serial Monitor Output

Step 3: Connecting the Bottle Cap

Now, take a bottle cap to prepare the payload-releasing mechanism. The mechanism itself is simple. You hook the payload on the hairpin inside the bottle cap, and when the servo moves it pulls off the hairpin from the bottle cap, resulting the payload to drop.

Make holes on both sides of the cap. Attach the cap on the lower side of the breadboard, as shown in the pictures.

DIY payload delivery drone Step 3 connecting bottle cap
placing the bottlecap

Step 4: Connecting the Servo

First, take a hair pin and connect it to the limb of the servo using a staple, as shown in the picture.

DIY payload delivery drone Step 4 connecting the servo

Take the servo and attach it under the breadboard such that the hair pin passes through both the holes of the bottle cap.

adding servo
adding servo

Connect the Servo with Arduino in the following way, as shown in Figure 3.

  • PWM Pin (Servo) -> Pin 14 (Arduino)
  • Vcc Pin (Servo) -> 5V (Arduino)
  • GND Pin (Servo) -> GND (Arduino)
DIY payload delivery drone Step 4 figure 3
Figure 3

It will look like this when you attach the whole system to your drone.

Run the following code to check if the servo is functional.

Step 5: Putting it All Together

Make sure you make all the connections as shown in Figure 4. You’ll integrate the sensors without using SoftwareSerial library. Employing hardware serial ports of your Arduino will minimize serial interference between libraries; hence, eliminating the servo vibration.

DIY payload delivery drone Step 5 figure 4
Figure 4

Open the Arduino window and paste the following code. In the code, set the desired GPS coordinates (latitude, longitude) where you need to drop off the basket. Once the desired location is added, click Upload. Again, don’t forget to remove the TX pin of GPS from pin 0 before uploading the code.

Upload the code on your Arduino and click the Serial Monitor icon in the top right corner. You’ll see the current GPS coordinates of your drone. Let your drone fly to the desired location.

DIY payload delivery drone Step 5 output

When your drone reaches the desired address, bring it closer to the ground. The ultrasonic sensor will calculate the ground clearance. When it’s about 15 cm, the servo releases the payload. The serial monitor prompts you when the package is delivered, and records the time as well.

DIY payload delivery drone Step 5 final output

After dropping the payload, fly your drone back to its initial point.

Precaution
DO NOT put more than 2 kg load in the basket otherwise it will damage the assembly. Also be sure to check the spec of your drone so you will know how much weight that drone can handle.