Acoustic Drone Detection On The Cheap With ESP32

We don’t usually speculate on the true identity of the hackers behind these projects, but when [TN666]’s accoustic drone-detector crossed our desk with the name “Batear”, we couldn’t help but wonder– is that you, Bruce? On the other hand, with a BOM consisting entirely of one ESP32-S3 and an ICS-43434 I2S microphone, this isn’t exactly going to require the Wayne fortune to pull off. Indeed, [TN666] estimates a project cost of only 15 USD, which really democratizes drone detection.

It’s not a tuba–  Imperial Japanese aircraft detector being demonstrated in 1932. Image Public Domain via rarehistoricalphotos.com

The key is what you might call ‘retrovation’– innovation by looking backwards. Most drone detection schema are looking to the ways we search for larger aircraft, and use RADAR. Before RADAR there were acoustic detectors, like the famous Japanese “war tubas” that went viral many years ago. RADAR modules aren’t cheap, but MEMS microphones are– and drones, especially quad-copters, aren’t exactly quiet. [TN666] thus made the choice to use acoustic detection in order to democratize drone detection.

Of course that’s not much good if the ESP32 is phoning home to some Azure or AWS server to get the acoustic data processed by some giant machine learning model.  That would be the easy thing to do with an ESP32, but if you’re under drone attack or surveillance it’s not likely you want to rely on the cloud. There are always privacy concerns with using other people’s hardware, too. [TN666] again reached backwards to a more traditional algorithmic approach– specifically Goertzel filters to detect the acoustic frequencies used by drones. For analyzing specific frequency buckets, the Goertzel algorithm is as light as they come– which means everything can run local on the ESP32. They call that “edge computing” these days, but we just call it common sense.

The downside is that, since we’re just listening at specific frequencies, environmental noise can be an issue. Calibration for a given environment is suggested, as is a foam sock on the microphone to avoid false positives due to wind noise. It occurs to us the sort physical amplifier used in those ‘war tubas’ would both shelter the microphone from wind, as well as increase range and directionality.

[TN] does intend to explore machine learning models for this hardware as well; he seems to think that an ESP32-NN or small TensorFlow Lite model might outdo the Goertzel algorithm. He might be onto something, but we’re cheering for Goertzel on that one, simply on the basis that it’s a more elegant solution, one we’ve dived into before. It even works on the ATtiny85, which isn’t something you can say about even the lightest TensorFlow model.

Thanks to [TN] for the tip. Playboy billionaire or not, you can send your projects into the tips line to see them some bat-time on this bat-channel.

19 thoughts on “Acoustic Drone Detection On The Cheap With ESP32

  1. Thanks so much for the awesome write-up, Tyler! I can confirm I am not Bruce Wayne, mostly because my R&D budget is capped at $15. 😂
    I absolutely love the “retrovation” concept you mentioned. The Goertzel algorithm is doing a fantastic job on the bench isolating those rotor harmonics locally, without needing an RTOS or massive memory overhead. And the suggestion to use a foam sock for wind noise is spot on—environmental noise is exactly the biggest challenge right now.
    As mentioned in the article, Batear is currently a solid flashable baseline, but I desperately need the community’s help with real-world outdoor testing. If any of you have an ESP32, an I2S mic, and a micro-drone (DJI, FPV), please come say hi on the GitHub repo! PRs for noise filtering, environmental threshold calibration, or even TinyML explorations are highly welcome.
    Let’s build a world where no one needs to fear the sky. 🦇

    1. It seems like locating the offending drone isn’t a feature?

      As I see it, either a single “node” with multiple microphones gives you a direction estimate – or each node needs to transmit a short audio sample with precise timing information. Two or more and you get accuracy by intersecting them.

      But like, GPS-synchronized timestamps paired with half-second audio recordings from each node (along with position data, of course) – that should be enough to let a central machine do the heavy lifting of triangulating a point in space.

  2. I wonder how this fairs at detecting the figure 8 style drone propellers.
    Perhaps the edge geometry could be adjusted to add other frequencies to confuse an automated detection system.

    1. You could run pairs of props at different speeds to change the audio profile rather easily. Indeed, just use different props on each arm, and the software will sort out running them at different speeds, giving different notes.

    2. If you put a different prop on each motor, and possibly even a different motor on each arm, you’d get a very different audio profile, and the software wouldn’t care – the drone would still fly.

  3. I would rather see a full fft, higher sample rates, and any analysis as to why we should expect this to work. I get it, someone wanted to vibe code something. It’s fun I guess. I see no statistical analysis on it or real world testing. It ranks higher for me than the poor soul who was detecting chemical weapons that didn’t exist due to chatgpt psychosis. But only by a small margin, mostly because I don’t feel compelled to call a help line for the creator…

  4. @TN666, does it handle different drones with different RPM (frequency) ranges? For example small RC helicopters (comparable to DJI Mini) typically operate at 5-6kRPM (80-100Hz) and can be flown with lower head speeds, down to ~4kRPM (~67Hz) and would typically cause additional signal at 2x base frequency as blades pass over the tail boom. Tail rotor spins few times faster but is much smaller and lightly loaded.

    Bigger helis run even lower head speeds often in 1-2kRPM range.

  5. With two mics, you could run a bearing indicator on it, (BTR/Bearing time record), or you could do 3+ and do full 3D triangulation, not sure if the cores could manage that, but possibly 2 mic to bearing it could do.

    1. or use this algorithm as the primary detector, and fire up a bearing algorithm when you detect something?
      But the power in it is not the cheap price by itself, but that it can be potentially be deployed at mass scale. Once you have a lot of these systems reporting bearings for drones they can hear, you can build a very cheap drone ‘radar’.

    2. You don’t have to go to WWII, Ukraine has a large acoustic sensor network for drone detection and publishes a map of incoming drone attack routes daily. You will get a better result with FFT which the ESP32 is capable of, has libraries for and will be more efficient computationally for more than about 10-15%. of the DFT range. You need the range because the blade passing frequency is likely to be the strongest signal and that depends on rotor speed, number of blades etc and is likely to be in the range 100-500Hz. Other frequencies will also be significant in drone identification and some people claim to be able to identify even the drone model by acoustic analysis.

      1. How much coverage can someone realistically get without either littering an entire country with mcus or using serious microphones.

        I completely agree with you though. Full fft or bust. I think the premise this was made on is flawed. Though I guess we are supposed to admire how little effort went into making it.

  6. Always wondered:

    Did the horn and reflector based acoustic aircraft and dirigible detectors used with the human ear have some kind of protection of the ear to block loud noises?

    Grok 3 AI:

    No, these horn- and reflector-based acoustic aircraft and dirigible detectors (often called sound locators, war tubas, or acoustic mirrors) did not incorporate dedicated protection to block or attenuate loud noises for the operator’s ears.

    1. Why are you wasting our time/space by posting shitty ‘AI’ answers in a comment section.
      You/we still have no idea if the answer is true.

      Thanks for making the whole world just a tiny bit worse by feeding the ‘AI’ hype instead of shunning it.
      Great Job!

  7. I’m an FPV operator with a group in Ukraine right now and have been for some time. I’ve been off position a few days and looking for design ideas because although we are well known and most would assume us to be well funded (unlimited drones, optics, antennas…we buy , build, trophy collect or improvise everything else:). We have to leave the safety of our positions up to 40 times a day and every time is nearly a full combat mission with very very real risk. Drones are everywhere and we can have up to 20 targeted attacks on us in a bad day. I’ve shot down several FPVs and Optics trying to ambush me personally and extremely lucky on a ranged shot of Kami going for another. I’m a good shot, we all are good shots and aware of our surroundings but our luck can only hold for so long. 2-3 hours sleep is normal and mistakes happen..we are still human. They only have to get lucky once. We are hoping to detect Zhduns (waiters) that come in the night. Our security man cannot always hear them and even if so, cannot know where they are hiding around us. Every day is an ambush or 5…My Peltors are great but from hearing an attack start to death, you have about 3-7 seconds before you are cooked by a good pilot. I have a great video if you don’t believe me:)
    If anyone of superior knowledge about this kind of acoustic device cares to help me out with information, we have an amazing workshop and technicians happy to help me with this project but all balls to the wall busy with what is critical right now so I’d pretty much have to do myself. Some battalions have purchased military grade stuff, guess we are on a fixed income as they just laugh when I suggest it for field kit. I started out as a builder and hobbyist, it is how I arrived here as a volunteer but joined the army some time ago and now I’m with one of the best and most productive hunter/killer team in Ukraine. However we are deep in the S***, our commute and workday is like nothing else you could ever imagine. Feels like a movie but it is real life, Jet Powered FPV Shaheeds, Molnias, Zhduns, Artillery, FPVS launched from Molnias, good ole mines, artillery like raindrops, even the occasional Lancet to spice up the afternoon. We don’t fly from offices..We are trained as infantry and we repel infantry attacks and infiltrations more often than I’d like. We absorb about 10k kilos in high explosives within 100m on any given day and anything more than 100 m from shelter is considered suicide…lose a drone 75m away, we have another crew destroy it because russia really, really wants us dead…and although they are quite stupid infantry, their drone teams are experienced and they are sending the best after us. I can’t exaggerate how dangerous it…like Armageddon…the scariest place imaginable :) We can only be good if my team and I are not wounded or 200s. So if you want to help me hone in an acoustic detector that is portable, reliable in weather and can at least scan our loud environment for at least a small range of quadcopters, that would be amazing. I’d like to be all ears…and am all ears for any ideas and sourcing of components. You would have a group of the coolest, bravest and most lethal drone operators on Planet Earth in your corner and get a patch and some schwag or whatever else you wanted in exchange for you assistance. excuse the breadth, haven’t slept in days

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.