Fork me on GitHub

Build Your Own Drone

You can buy a drone. You should probably buy a drone. But if you want to understand what’s inside one, you have to build it, and the only way to build one well is to make every mistake available to you along the way.

This isn’t a step-by-step. It’s the list of things I wish someone had told me before I started.

Get the license first

Drones are small but they hit hard. Europe regulates accordingly. A1/A3 is the entry tier: liability insurance, 45 euros in fees, half a day of study, filed through the Luftfahrt-Bundesamt. A2 is the bigger one; you don’t need it to start. Indoors you fly what you want. Outdoor flight in the EU needs Remote ID broadcast. Check dipul before you leave the house.

Sourcing

Berlin is a drone desert. Segor in Charlottenburg is the only walk-in electronics store worth visiting. The staff are excellent, but they stock sensors, soldering gear, and XT connectors, not drone parts. Hamburg has n-factory.de, Prague has rotorama.com, Remagen has fpv24.com. They all ship, you just wait a few days.

I knew I wanted to start indoors, so I picked a small frame. Here’s what I actually bought, spring 2026 prices, assuming you start with nothing but a laptop.

Shopping list

Bare metal drone

Sensors

Everything else

Assembly

It isn’t hard. It just takes patience.

Mount the ESC to the frame. Mount the motors to the frame. Solder the motor wires to the ESC pads. Solder the ESC power input to the battery lead, through the capacitor that keeps the drone from becoming an accidental radio. Connect the FC to the ESC with the supplied cable.

Leave the propellers off. You’ll run a lot of bench tests before first flight, and every one of them is safer and faster without spinning blades. This video walked me through the physical assembly order the first time.

The firmware

Betaflight, ArduPilot, and PX4 all fly drones well and have been debugged by people more patient than you. If your goal is to fly, pick one.

I wanted to write mine in Rust. If you’re going to make every mistake on purpose, you might as well pick the hardest ones.

Learn Rust first. The book is good, the interactive version is better, Rustlings makes the syntax stick. Then clone holsatus-flight, which is the sanest starting point that exists for Rust drone firmware. Depending on your hardware you’ll write drivers, logging, and safety interlocks along the way.

Holsatus ships with a Rapier3d-based rigid body simulator that runs at 600× real time. Coarse PID tuning against a sim costs zero propellers.

Prevent the drone from arming unless the SD card is inserted. Otherwise you will loose valuable logging information from each crash. Prevent the Makefile from flashing unless you have a clean repo and include the git sha in the log output

Build three kill paths before anything flies:

The first two save the drone. The third saves your furniture.

PID Tuning

In order to fly at any rate or point the firmware uses various PID controls which depend on the exact dimensions and weights on your drone. To determine moments of inertia use the bifilar pendulum test which means you suspend the drone for each of the 3 dimension with two strings, flip it 15-20 degrees and measure the time for each period it takes to swing back and forth and use the following formula

\[I = \frac{m g d^2 T^2}{16 \pi^2 L}\]

where \(m\) is mass of drone, \(g\) is gravity, \(d\) is distance between strings, \(T\) is duration of period, \(L\) is length of strings.

Flashing and binding, the non-obvious parts

To flash firmware: connect the CH340 to the FC’s UART pads, then connect USB power to the ESC’s XT60. Before you apply power, hold the BOOT button on the FC. Apply power. Wait one second. Release BOOT. The drone is now in DFU mode and ready to accept a firmware image.

To bind the ELRS transmitter to the receiver: power-cycle the drone three times. Three. Not two, not four. The receiver LED will settle into blink-blink-gap, which means it’s waiting for a partner. On the transmitter, go to System → ELRS → Bind. Done.

Neither of these rituals is written down in any one place. Both will cost you an evening the first time.

Pre-flight checklist

Bare floors are bad for the optical flow sensor, some newspaper taped to the ground will help.

The first hover is anticlimactic. The drone lifts off, holds position for a moment, settles back to the floor. You sit there grinning.