With the addition of an Arduino microprocessor, a basic drone build was modified to obtain autonomous flight. By wiring Arduino and receiver in series with each other, the Arduino draws power from the main drone battery. The signal from the receiver is intercepted by the Arduino and a manually coded pulse position modulation signal is sent out to the flight controller. Through experimental testing using Betaflight configurator, it was found that the PPM signal requires 35000 µs of end pause between two frames of data. Any less, lead to unsteady errors in the flight controller’s ability to read the coded signal. By adding more time between frames there would be a decrease in performance caused by additional input delay and latency in the internal commands reaching the flight controller. Aux switches were utilized on the transmitter to code a manual to automatic switch, such that a drone pilot can quickly and easily transition in and out of the coded autonomous flight mode. The flight mode coded is based on feedback control using a GPS module as the primary sensor. The flight mission consists of keeping the drone at a level altitude with an additional switch on the transmitter that adds 5 ft to the altitude. A drone pilot could keep the drone in place without requiring constant input into the transmitter and simply flip a switch back and forth to raise then lower the drone’s desired altitude. When coding in a specific error from the expected value in the control loop, the throttle, pitch, roll, and yaw values recorded in Betaflight corresponded to the coded correction model. The GPS module altitude data proved too imprecise in testing to do flight testing outdoors. With more time, a barometer altimeter could be added to replace the GPS module as the sensor in the feedback loop. With the success of the core code and wiring of the Arduino, new flight missions can be coded and simply inserted into the existing Arduino code.

Document Type

Final Report

Author's School

McKelvey School of Engineering

Author's Department

Mechanical Engineering and Materials Science

Class Name

Mechanical Engineering and Material Sciences Independent Study

Date of Submission