Hi HN, I’m the creator of Batear.
Drones are becoming an increasing privacy and security concern, but effective detection has traditionally meant deploying expensive radar or camera arrays. I wanted to see if I could build a reliable, always-on warning system using cheap commodity hardware, running entirely at the edge without any cloud subscriptions or privacy-invasive internet connections.
The result is Batear: an acoustic drone detector built for under $15. It pairs an ESP32-S3 microcontroller with a single ICS-43434 I2S MEMS microphone.
How it works under the hood:
Instead of running heavy FFTs or ML models, it uses multi-frequency Goertzel filters to specifically measure tonal energy at known drone rotor harmonics (typically ranging from a few hundred Hz to a few kHz). It continuously compares this tonal energy against the broadband background noise. When the ratio spikes above a calibrated threshold, it triggers an alarm.
Why I built it this way:
• Extreme Efficiency: The Goertzel algorithm is O(N) per frequency bin. It easily fits within the ESP32-S3's 512 KB SRAM.
• Low Power: The CPU footprint is so negligible that it’s completely practical to run this 24/7 on a battery or small solar setup at a fence line.
• Privacy-First: No audio is ever recorded, saved, or sent anywhere. It just listens for the mathematical signature of a rotor.
I built this as a flashable baseline. The thresholds (FREQ_RATIO_ON / OFF) do need to be calibrated per environment to account for wind and background noise.
The code is fully open-source (MIT) and written in C using ESP-IDF v5.x. I’ve documented the wiring and build process in the repo.
I'm currently looking into pushing this further with ESP-NN / TensorFlow Lite Micro for even better accuracy in noisy environments, but I wanted to share this baseline approach first.
I’d love to hear your thoughts, especially from anyone experienced with DSP on microcontrollers or acoustic event detection. Happy to answer any questions!
Repo: https://github.com/TN666/batear
2 comments