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
Tier 4
6 views
0 followers
NightshadeXD
submitted Sound Direction Finder for ship review ago
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.

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:

Also, I added a ton to the entire readme
motivation, what it is, how to use, more images, stuff like that
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
added to the journal ago
change tier 5 pls
change to tier 5 sorry
asdfojsafijiasejfisefjoasejf
asfeoasijefoasiejfaposiejfsief
asefojaseoifjaseoifjasoefjaspoefij
as
asefopajsefpoasjiefoaisjef
dont want to resubmit sorry

NightshadeXD
submitted Sound Direction Finder for ship review ago
NightshadeXD
added to the journal ago
wiring diagram
here is a wiring diagram of what to expect.

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
- 1x ESP32 Dev Board (https://www.aliexpress.us/item/3256805767190776.html) - type: 1PCS-CP2102 TYPE-C ($7.01)
- 1x INMP441 MEMS Microphones (https://www.aliexpress.us/item/3256809027278032.html) - type: 5PCS ($5.18)
- 2x 360 degree servo (https://www.aliexpress.us/item/3256807256537581.html) - type: MG90S 360 ($2.89)
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

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
- Mic: Either ICS-43434 or the INMP441. the inmp is cheaper but has worse SNR (twice as worse)
- Microcontroller: probably the esp32 since I wanted to connect it to our local network and be able to view the noise it is currently pointing to and hear live audio
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??

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
- Mic: Either ICS-43434 or the INMP441. the inmp is cheaper but has worse SNR (twice as worse)
- Microcontroller: probably the esp32 since I wanted to connect it to our local network and be able to view the noise it is currently pointing to and hear live audio
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??

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

1/22/2026 6 PM - wiring diagram
here is a wiring diagram of what to expect.

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
- 1x ESP32 Dev Board (https://www.aliexpress.us/item/3256805767190776.html) - type: 1PCS-CP2102 TYPE-C ($7.01)
- 1x INMP441 MEMS Microphones (https://www.aliexpress.us/item/3256809027278032.html) - type: 5PCS ($5.18)
- 2x 360 degree servo (https://www.aliexpress.us/item/3256807256537581.html) - type: MG90S 360 ($2.89)
1/22/2026 7 PM - change tier 5 pls
change to tier 5 sorry
asdfojsafijiasejfisefjoasejf
asfeoasijefoasiejfaposiejfsief
asefojaseoifjaseoifjasoefjaspoefij
as
asefopajsefpoasjiefoaisjef
dont want to resubmit sorry

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.

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:

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