Blueprint

Sound Direction Finder

Put one of these in a room, and you'll be able to find the direction of a sound!

Created by NightshadeXD NightshadeXD

Tier 4

6 views

0 followers

NightshadeXD NightshadeXD submitted Sound Direction Finder for ship review ago

NightshadeXD NightshadeXD added to the journal ago

Added a cad + redid the readme

i procrastinated on this for a good month, but i finally got it done :)
bro i hate cad

##So I made 2 cads:

the first cad is here,

it's for the whole thing in general, where all the mics will be mounted
This cad was particularly hard because it was really difficult to make the tetrahedron frame like that.
image

as for how to mount the mics, tape should be more than enough, especially considering how people may want to move it to different places to test (for example to corners of their room for more precise localization. for a more permanent mount, use hot glue.

second cad

(of the specific mic case i made and how a inmp fits nicely in it:
image

Also, I added a ton to the entire readme
motivation, what it is, how to use, more images, stuff like that

Tanuki Tanuki ⚡🚀 requested changes for Sound Direction Finder ago

Hey! Please add some sort of actual case for this! I would recc adding a pcb! I also think you should add more information to the readme, check https://blueprint.hackclub.com/about/submission-guidelines!

NightshadeXD NightshadeXD added to the journal ago

change tier 5 pls

change to tier 5 sorry

asdfojsafijiasejfisefjoasejf
asfeoasijefoasiejfaposiejfsief

asefojaseoifjaseoifjasoefjaspoefij
as
asefopajsefpoasjiefoaisjef

dont want to resubmit sorry

image

NightshadeXD NightshadeXD submitted Sound Direction Finder for ship review ago

NightshadeXD NightshadeXD added to the journal ago

wiring diagram

here is a wiring diagram of what to expect.
image

I also put up a simple readme on github as well as putting the wiring diagram there

also in the github i wrote up a simple bom

NightshadeXD NightshadeXD added to the journal ago

code

so you probably thought I could like ship it right then and there right?
wrong

because this project is heavily code based, i had to make some code

idk why this took so long, i had the code like a week ago.
also i found a 360 deg servo https://www.aliexpress.us/item/3256807256537581.html

codes like 90% gpt, since the math to do the thing is very complicated
in summary: we use ESP32 reads mics with dual I2S
then we use TDOA (time of arrival) + least-squares math to get a 3D sound direction vector and this is the part i have no clude about
Cross-correlation + interpolation for accuracy
Converts direction to azimuth/elevation which moves servos, and we also smooth them

full code on github
image

NightshadeXD NightshadeXD added to the journal ago

idea + motivation

so actually i came up with this idea a while ago when i was brainstorming for other ideas.
i've already done a bunch of research and I found some parts I would work.

but first, heres the

project overview

  • so basically, I'll be using a microcontroller and a few cheap i2s mems mics to record sound
  • then, with that sound, I will be able to localize it by comparing it to the recordings of the other mics and checking the time differences from when the sound arrives
  • with that, we can build cool things like a fart direction detector or gunshot localization

onto the

parts list

plan

with my research, i need to make a plan
i think arranging the microphones in a tetrahedron shape would be smart, since it allows us to measure sounds in 3d
the esp32 has only 2 i2s, which can support up to 2 mics each (so 4 in total)
the distance between each mic should be enough so that they can actually see the difference of arrival of sound.
I was originally planning on 10cm and 16kHz, but this would leave out higher pitched sounds from (8kHz-15kHz) that the microphone could pick up.
So I decided that 44.1kHz would be fine. If each mic was 10cm apart form each other, then that would give us a nice 14 ticks of time difference.
However, since I decided to put 2 mics on the left channel, and 2 mics on the right channel, the time gap would still be ~10 microseconds. but probably not a big deal right??

image

NightshadeXD NightshadeXD started Sound Direction Finder ago

1/11/2026 - idea + motivation

so actually i came up with this idea a while ago when i was brainstorming for other ideas.
i've already done a bunch of research and I found some parts I would work.

but first, heres the

project overview

  • so basically, I'll be using a microcontroller and a few cheap i2s mems mics to record sound
  • then, with that sound, I will be able to localize it by comparing it to the recordings of the other mics and checking the time differences from when the sound arrives
  • with that, we can build cool things like a fart direction detector or gunshot localization

onto the

parts list

plan

with my research, i need to make a plan
i think arranging the microphones in a tetrahedron shape would be smart, since it allows us to measure sounds in 3d
the esp32 has only 2 i2s, which can support up to 2 mics each (so 4 in total)
the distance between each mic should be enough so that they can actually see the difference of arrival of sound.
I was originally planning on 10cm and 16kHz, but this would leave out higher pitched sounds from (8kHz-15kHz) that the microphone could pick up.
So I decided that 44.1kHz would be fine. If each mic was 10cm apart form each other, then that would give us a nice 14 ticks of time difference.
However, since I decided to put 2 mics on the left channel, and 2 mics on the right channel, the time gap would still be ~10 microseconds. but probably not a big deal right??

image

1/22/2026 5 PM - code

so you probably thought I could like ship it right then and there right?
wrong

because this project is heavily code based, i had to make some code

idk why this took so long, i had the code like a week ago.
also i found a 360 deg servo https://www.aliexpress.us/item/3256807256537581.html

codes like 90% gpt, since the math to do the thing is very complicated
in summary: we use ESP32 reads mics with dual I2S
then we use TDOA (time of arrival) + least-squares math to get a 3D sound direction vector and this is the part i have no clude about
Cross-correlation + interpolation for accuracy
Converts direction to azimuth/elevation which moves servos, and we also smooth them

full code on github
image

1/22/2026 6 PM - wiring diagram

here is a wiring diagram of what to expect.
image

I also put up a simple readme on github as well as putting the wiring diagram there

also in the github i wrote up a simple bom

1/22/2026 7 PM - change tier 5 pls

change to tier 5 sorry

asdfojsafijiasejfisefjoasejf
asfeoasijefoasiejfaposiejfsief

asefojaseoifjaseoifjasoefjaspoefij
as
asefopajsefpoasjiefoaisjef

dont want to resubmit sorry

image

3/7/2026 - Added a cad + redid the readme

i procrastinated on this for a good month, but i finally got it done :)
bro i hate cad

##So I made 2 cads:

the first cad is here,

it's for the whole thing in general, where all the mics will be mounted
This cad was particularly hard because it was really difficult to make the tetrahedron frame like that.
image

as for how to mount the mics, tape should be more than enough, especially considering how people may want to move it to different places to test (for example to corners of their room for more precise localization. for a more permanent mount, use hot glue.

second cad

(of the specific mic case i made and how a inmp fits nicely in it:
image

Also, I added a ton to the entire readme
motivation, what it is, how to use, more images, stuff like that