Building an Autonomous Delivery Drone
Two years, five rebuilds, one €1000 CNC machine, and a pizza that actually got delivered.
First fully autonomous delivery, 16 October 2020. The winch lowers, the load cell senses ground contact, the line releases, the drone returns home.
The math seemed simple. A DJI Phantom could carry a camera. A pizza weighed less than a camera. Therefore, I could build a drone that delivered pizza. This was high school logic, and like most high school logic, it ignored approximately everything that mattered.
I wanted a drone for photography but couldn't justify spending money on a DJI when I could barely afford the lenses I wanted. Then I found a tutorial about building your own quadcopter from parts ordered off Alibaba. The components arrived in unmarked bags, the instructions were half in Chinese, and nothing quite fit together the way the tutorial promised. But after enough trial and error, I had a working hexacopter that actually flew.
After a few test flights in my backyard, watching this thing I'd built hover steadily in the air, the idea hit me: what if it could deliver things?
Wooden box, fishing-line winch
The first attempt was spectacularly overengineered. I built a wooden box, rigged up a winch using fishing line and a small DC motor, and connected everything to a Raspberry Pi with a mobile data dongle. The theory was solid: fly to location, lower package on fishing line, release, return home.
In practice, the wooden box was too heavy. The mobile data connection took forever to boot up and dropped constantly. The fishing line tangled. The whole assembly shifted the center of gravity so far back that the drone could barely maintain stable flight.

Aluminum frame, styrofoam payload
I stripped it down and started over. Out went the Raspberry Pi and mobile data, replaced with a simple Bluetooth module. Out went the wooden box, replaced with styrofoam. I built a custom frame from aluminum sheets to accommodate a pizza box. The new door mechanism meant the winch only had to hold the package itself, not the entire door assembly. Each change saved weight, and weight was everything.

Carbon fiber, and a CNC I had to build myself
The aluminum frame worked, but it was still heavier than it needed to be. Carbon fiber would be lighter and stiffer, but working with carbon fiber required precision drilling, and I only had a Dremel.
I found an open-source CNC design online called the Mostly Printed CNC, where you 3D print most of the frame and use whatever rotary tool you have. I spent three weeks printing parts and assembling the machine. Then I spent another week learning how to actually use it without breaking bits. But once I figured it out, I could drill all the holes I needed in both carbon fiber and aluminum.
I needed to drill carbon fiber and only had a Dremel. So I spent three weeks building a CNC machine.
The hexacopter configuration gave me about six kilograms of thrust with thirty-centimeter propellers. I chose six motors instead of four partly for the extra payload capacity, but mostly for redundancy. Lose one motor on a quadcopter and you're probably crashing. Lose one on a hexacopter and you can still land safely, assuming you don't panic and cut the throttle.

Pixhawk, GPS, and a landing platform
I upgraded to a Pixhawk 4 flight controller and added GPS. This meant I could program autonomous missions: waypoint by waypoint instructions for takeoff, flight path, delivery, and return. For the winch mechanism, I used a motor with both an encoder and a load cell. The encoder tracked the winch position. The load cell detected weight changes. When the package touched the ground, the load cell would sense the tension drop, the winch would release, and the drone would reel back the empty line.
After high-school graduation, my dad and I built a landing platform in the backyard. The concept was ambitious: the drone would land on the platform, three motorized rails would push it to the center for precise alignment, and then the winch could lower packages into the platform where a motorized floor would slide new packages in for the next delivery. Fully automated restocking.

I built a separate test drone with a camera to develop autonomous landing using ArUco markers. The idea was the drone would detect the markers, calculate its position, and adjust to land precisely on the platform. In practice, the vision system was unreliable. Lighting changes threw off the detection. The slightest wind meant the position calculations lagged behind the actual drift. I spent weeks tweaking parameters and trying different approaches. Then final exams started, and I decided precise autonomous landing could wait.
Quick-swap batteries, iPad control, LED status
Summer 2020, I rebuilt most of the system again. I designed a custom battery pack with quick-swap connectors that could be changed in under ten seconds. I wrote software that connected to a server so I could plan routes from my iPad and see real-time status updates. I added LED strips to the delivery box that changed color based on delivery status: blue for armed, green for en route, yellow for lowering, red for any errors.
The load cell and encoder integration meant the drone could now confirm it had a payload before takeoff and verify successful delivery autonomously. I tested in my backyard and at a field nearby. Neighbors would come out to watch, asking questions about how it worked and whether it could deliver their mail.
First autonomous delivery
I placed a small package in the box, armed the system, and pressed start on my iPad. The drone lifted off, climbed to altitude, and began following the GPS waypoints. At the delivery location, it stopped and hovered. The winch motor engaged. The package descended on the line. I watched the telemetry: load cell reading steady, encoder counting down the line length. Then the load cell reading dropped. Package on ground. Winch released. Line reeled back in. Drone returned to launch point and landed itself.
It actually worked. After all the crashes, all the rebuilds, all the versions that almost worked but didn't quite, I'd finally built what I set out to build two years earlier.
The business plan that taught me economics
That year, some friends and I entered the Entrepreneurs of Tomorrow business-plan competition. We pitched drone delivery for local restaurants. Second place. The judges liked that we had an actual working prototype instead of just slides and projections. But writing that business plan taught me something the engineering never did: building something that works technically isn't the same as building something that works economically.
The numbers were brutal. Delivery margins are thin. Each drone costs thousands of dollars and requires regular maintenance. Battery life limits range to a few kilometers. Noise regulations restrict flight times. Airspace restrictions require permits and coordination. Weather grounds operations. Insurance costs are high. And customers still expect prices comparable to someone on a bike.
I kept working on the drone through early 2021, refining the software and improving reliability. But I understood by then that this was never going to be a business. It was an education.
What I actually learned
I learned Arduino, Python, C, Swift, React. I learned CAD and CAM. I learned to work with carbon fiber, operate a CNC machine I'd built myself, debug electronics, and tune control systems. I went through five major iterations and had to rebuild several of them completely after crashes. The whole project cost around a thousand euros, including the CNC machine.
Looking back with what I know now from BU, I'd do it differently. I'd start with proper modeling: mass matrices, center of gravity calculations, aerodynamic simulations. I'd use lighter materials from the beginning. I'd iterate faster instead of spending weeks perfecting each version before moving on.
But I was seventeen and learning everything from YouTube tutorials and forum posts. I didn't know what questions to ask. I didn't know what I didn't know. So I just built things, watched them fail, figured out why, and built them again differently.
That drone taught me more about engineering than any class could have. Not because it eventually worked, but because it failed in so many different ways first. Every failure was specific, debuggable, fixable. Every crash meant rebuilding something better.