TEAM
OVERVIEW
SkySupply was an ambitious project taken on by a team of five engineers, 3 mechanical and 2 electrical. This was the final project for ME 135: Design of Microprocessor-Based Mechanical Systems, an upper-division technical elective.
MY ROLE
Unanimously chosen to be the project lead by my group, I had both technical and interpersonal responsibilities. In my technical role I was responsible for overseeing all mechanical design, structural simulations (FEA), component selection, and build + testing. I also managed the project schedule, scheduled both mechanical and full team meetings, and ensured clear responsibilities and work division.
The quadrotor drone designed for package delivery features four 900 KV motors, collectively capable of producing over 12kg of thrust. All hardware is mounted on an aluminum frame, resulting in an aircraft weight of 2.3kg and payload capacity of 1kg. For power, it uses a battery system that provides slightly over 5 minutes of flight time per charge, with the option to extend this using multiple batteries wired in parallel. The package delivery mechanism employs a servo-based spool system, which can secure and release packages of various dimensions.
At the heart of the system is an ESP32 microcontroller running FreeRTOS, managing data processing and communication, while a SpeedyBee flight controller with iNAV software handles flight operations. Communication between the drone and ground station is facilitated through LoRaWAN for GPS and location data transmission.
PROJECT SOFTWARE AND GUI
The Ground Station GUI is a web-based interface designed to control and monitor the Sky Supply drone. It includes features such as GPS-based package loading and dropping, real-time location tracking, and obstacle detection via infrared sensors. The GUI operates through an HTTP server on the ESP32 microcontroller, providing platform independence and easy access from any browser. Plans for using the IR sensors for autonomous flight and obstacle avoidance were considered, but due to limited sensor range and insufficient vehicle responsiveness, this functionality was not implemented.