For my teammate Maksym and me, the inspiration behind this project was deeply personal. With our Ukrainian and Russian roots, the ongoing reality of modern drone warfare isn't just an abstract headline or something we watch in tech videos—it directly affects us, our families, and the places our heritage comes from. Seeing how cheap, commercial quadcopters and custom FPV kamikaze drones have turned the skies into constant danger zones made us realize how urgent this problem really is. These drones are fast, quiet, and terrifyingly agile, easily flying faster than 100 km/h, which is roughly 28 m/s. When we sat down and did the math, the reality was chilling. If you rely solely on your own ears and eyes, you usually will not hear a drone until it is roughly 30 meters away. At that speed, your reaction time is given by:

Time to react = 30 m / 28 m/s ≈ 1.07 seconds

Having barely one second to react is not nearly enough time to dive for cover, warn anyone nearby, or get out of the way. In that kind of high-stakes situation, having an extra five, ten, or fifteen seconds is literally the difference between life and death. Military-grade radar and counter-drone systems cost tens of thousands of dollars and are mounted on massive trucks. We asked ourselves why we could not build something cheap, self-contained, and small enough that an individual could just strap it to their tactical vest or backpack and buy those extra seconds to survive or outrun the threat. That was the spark behind CABAKA.

We knew right away that relying on just one type of sensor would fail in the real world. If a drone is flying quietly downwind, a microphone might miss it, but if a drone is flying completely dark without emitting Wi-Fi, an RF sniffer alone will never catch it. To make CABAKA truly reliable, we decided to combine three completely different ways of detecting drones into one unified wearable sensor: acoustic propeller detection, 5.8 GHz analog video power sensing, and 2.4 GHz digital packet sniffing. Whenever any of these sensors—or a fused combination of them—confirms an approaching drone, a high-brightness visual alert LED instantly illuminates on the vest, giving the wearer silent and immediate early warning.

On the acoustic side, drones make a very specific, high-pitched buzzing sound caused by their propeller blades slicing through the air. In physics, this is known as the blade-pass frequency:

f_BPF = (N_blades * RPM) / 60

For a typical drone spinning three-blade propellers at 15,000 RPM, the fundamental sound pitch lands right around 750 Hz, with sharp harmonics at 1500 Hz and 2250 Hz. We wired an INMP441 I2S digital microphone to our microcontroller and wrote a real-time digital bandpass filter in C++ targeting the 200 Hz - 2500 Hz window:

y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] - a1 * y[n-1] - a2 * y[n-2]

If the ratio of filtered whine energy to total ambient noise exceeds our threshold of 35%, our code flags an acoustic drone threat.

To detect the drone before it even gets close enough to be heard, we also focused on its video feed. Most FPV drones broadcast live video back to the pilot using an analog 5.8 GHz carrier wave. We added an AD8318 logarithmic RF power detector paired with a circular-polarized cloverleaf antenna. The AD8318 converts high-frequency radio waves into a DC voltage according to the equation:

V_out = V_intercept - S * P_in

where S ≈ 24 mV/dB. In clean air, the sensor outputs around 2.1 V, but as soon as a 5.8 GHz transmitter turns on nearby, the voltage drops sharply down toward 0.5 V. We take 64 samples on every pass, average them out, and if the signal drops below 1.7 V—representing over a 25% threat level—the alarm immediately trips.

Finally, we turned the ESP32-S3's internal Wi-Fi radio into a promiscuous packet sniffer. It catches raw 802.11 frames out of thin air to decode FAA-mandated OpenDroneID beacons and match known drone manufacturer MAC addresses like DJI, Autel, and Parrot. Even more importantly, hobby drone controllers like ExpressLRS and Crossfire send control packets at exact, clock-like intervals. By measuring the microsecond time difference between incoming packets:

delta_t = t_k - t_(k-1)

our code looks for rigid spacing like 2000 µs (500 Hz) or 4000 µs (250 Hz). Standard civilian Wi-Fi never behaves with that kind of rigid timing, so when we see that pattern, we know a drone controller is active in the area.

One of the biggest requirements for us was that the device had to be wearable in real life. If it was a messy tangle of breadboards and jumper wires, no one could actually use it in the field. We challenged ourselves to fit the entire device into a compact 7 cm x 5 cm x 5 cm form factor that mounts directly to a tactical plate carrier vest. To make it fit, we engineered a custom three-tier soldered vertical stack. The bottom layer holds the power input and the INMP441 microphone, which we faced downward so that rushing wind would not blow directly into the sensor while someone is running. The middle layer houses the brain of the project—the ESP32-S3 dual-core microcontroller, handling audio processing on one core and RF sniffing on the other. The top layer holds the AD8318 RF detector board, the 5.8 GHz antenna connector, and a high-brightness visual alert LED pointed upward into the user's line of sight. We hand-soldered all the power rails, signal pins, and grounds between the layers using sturdy header pins and standoffs, resulting in a solid, durable unit that can take impacts and movement without anything coming loose.

This project definitely pushed us way out of our comfort zone, and we hit several walls along the way. Stuffing high-speed digital audio lines just millimeters away from a hyper-sensitive 5.8 GHz RF detector inside a tiny 7 cm x 5 cm x 5 cm space caused massive electromagnetic interference at first. The high-speed clock lines on the ESP32 were radiating noise directly into the analog ADC pin on the AD8318, causing phantom drone alerts when nothing was there. We had to rethink our grounding layout, add filtering capacitors, and physically isolate the RF detector on the very top layer. On the audio side, simply talking loudly or coughing near the microphone would set off the drone alarm at first. We spent hours tweaking the digital biquad filter and writing a whine ratio algorithm so that it only triggers when there is a narrow, sustained harmonic buzz, completely ignoring broad-spectrum sounds like speech, footsteps, or rustling gear. Finally, running two CPU cores at full speed drained our small battery way too fast, so we implemented dynamic CPU frequency scaling: in calm air, the chip drops to 80 MHz to sip power, but the moment any sensor picks up even a tiny candidate pulse, it ramps back up to 240 MHz in a few microseconds to process the threat.

Through this journey, we learned an incredible amount about applied physics, embedded engineering, and modern signal analysis that went far beyond what we could ever learn in a classroom. We gained a deep understanding of RF signals and their real-world uses—learning how electromagnetic waves propagate across 2.4 GHz and 5.8 GHz bands, how antenna polarization affects reception, and how logarithmic detectors quantify invisible radio energy. We also learned how to use AI for sound isolation, training lightweight neural network models to separate tiny propeller motor harmonics from overwhelming background noise. On top of that, we had to master room and acoustic environment optimization, learning how sound waves bounce off walls, how to compensate for room reverberation and echo, and how to calibrate dynamic noise floors whether testing inside a concrete room or in open air. We were especially proud that this entire multi-sensor pipeline runs completely offline on a single five-dollar microcontroller, without needing any cloud server or phone connection.

Looking ahead, the most important next step for CABAKA is designing a custom integrated 4-layer printed circuit board in KiCAD to make the device significantly smaller. Right now, our three-tier stack of breakout boards measures 7 cm x 5 cm x 5 cm, but by consolidating the ESP32-S3 chip, the AD8318 RF detector, the MEMS microphone, and power management onto a single custom PCB with surface-mount components, we can shrink CABAKA down to the size of a matchbox—under 4 cm x 3 cm x 1.5 cm—and cut its weight in half. Beyond shrinking the hardware, we also plan to add dual microphones for phase triangulation to tell the user the exact direction the drone is approaching from, integrate a small silent vibration motor into the vest strap for night operations, and implement ESP-NOW mesh networking so that an entire squad can instantly share early warning alerts across a perimeter. Most importantly, we built something that solves a real, urgent problem, giving people the extra seconds they need to outrun the threat and stay alive.

Built With

Share this project:

Updates

Submission history