Object Tracking Drone
Dec 2025Building a small semi-autonomous drone designed to track people. Inspired by the DJI Neo, it's a compact 2" drone where I'm developing my own flight controller using a Raspberry Pi Zero and Pico. The drone will use computer vision powered by a YOLO model fine-tuned for human detection. The goal is to create an affordable platform that could eventually be turned into a DIY kit or product to share and sell through my social channels.
Links
Build Log
Let me be real. When I started this project, I knew absolutely nothing about building a physical drone. Zero. I had no idea what components you even need, let alone which ones to pick. The entire first phase was just me scouring the internet, reading forum posts, watching teardown videos, and studying what other people had done with Arduino and ESP32 drones. Just trying to understand what a build like this actually requires.
One thing I knew early on: I wanted to use brushless DC motors (BLDC). They're faster, more efficient, and just better for anything serious. But that decision came with a cost. BLDCs need proper electronic speed controllers, not the simple ones you can get away with on brushed motors. That choice would come back to haunt me later. I landed on using the MPU6050 as my IMU and the nRF24L01 for the radio module, together with some random ESC I found on AliExpress and an Arduino Nano.
I found 3D models of everything, dragged them into Fusion360, and designed my own frame around them. Having the CAD model come together was the first moment it felt real. Like this thing might actually fly one day. Started soldering everything together and testing each part individually.
First roadblock: Arduino can't send DShot signals, the protocol my ESC requires. DShot needs precise, high-frequency digital signals that the Nano just can't produce reliably. Easy fix. Switched over to ESP32, and it works... on one motor. The other pads didn't work and the ESC was just trash.
New ESC ordered. Bigger and heavier, but if it works it works. Soldered all the joints, got motion, and somehow I fried it. I still don't fully understand how this happened on a 2S battery. The voltages should be totally safe. But one motor pad just stopped responding. So I bought another one, resoldered all the wires, and finally, all four motors spinning. We have motion! Three ESCs to get here. That's the cost of learning hardware the hard way.
While fighting the ESC wars, I'd been working on the other systems in parallel. The MPU-6050 IMU, getting clean gyroscope and accelerometer data, implementing filtering to deal with the noise. The nRF24L01 radio module, establishing a reliable communication link between the drone and a ground controller. Both of these I got working independently, testing them on their own before integrating. And somewhere in that process, I built what I'm going to go ahead and call the best RC controller I've ever seen.
And then it hit me. I have four spinning motors, an IMU feeding me orientation data, and a working radio link. Now I need to close the loop with a PID controller and make this thing stabilize itself in the air. I've tuned PIDs before. Plenty of times. In MATLAB. With imaginary objects that have known transfer functions and perfectly modeled dynamics. But this is a real drone. I have no idea how strong these motors actually are. I don't have a nice clean transfer function. I have a janky frame with hand-soldered connections and motors from the internet.
So I built the PID tuning rig. A physical test setup where I could safely constrain the drone to one or two axes and tune without it flying into a wall. First I tuned the inner loop for rate control, then the outer loop to complete the cascade controller. The results on the rig looked good.
Time to fly. Or so I thought. First real test and the thing immediately spun like a helicopter. After a lot of debugging, it turned out the yaw measured values from the IMU had the wrong sign. Once that was fixed, it flew. Stable enough to actually control!
Now that it actually flies, the next step is making this thing autonomous and designing a small dedicated flight controller. Let's see what happens.