Sound barnacle - ephemeral noise monitoring

A device that lives on your subnet and keeps an ephemeral record of noise levels in a space.

Similar projects worth following
Over the last eighteen months or so, I've been making little devices that live on your wifi subnet (visible to you, but not to the internet at large) and do one specific thing. I call each one a barnacle. My "chalkboard" barnacle hosts a tiny messageboard, a little spatial Twitter for my house; my "speedtest" barnacle tests the internet speed every minute and displays the result in a colorbar.

This barnacle is sound-aware - it records the maximum noise level every minute and keeps a 60-minute record of the levels. The record is accessible on the subnet, at http://frank.local, and in the space, by looking at a small OLED display.

The board is single-sided and easily milled on an Othermill with a 1/32-inch endmill.


I designed this to check up on my dog, Frank. He barks sometimes when we leave him at home, and when we get back home it's useful to know how much barking he has been doing. (If it's a lot of barking, we need to make cookies for, or otherwise apologize to, our very understanding neighbors).

The board can easily be assembled on a breadboard, but I milled mine on my Othermill in under 40 minutes...this is a nice, simple PCB design to riff with and alter, so have fun adding features, etc...for example, I realized after the fact that I really didn't need to put a power connector in here, since I'm just going to power it with an old phone charger.

This took me about a weekend to make, including a bit of wasted time milling the PCBs backwards by accident.


This is a straightforward breakout board for the Adafruit Feather M0 with the ATWINC1500 Wifi interface. The board, designed to be single-sided and easily CNC milled, breaks out connections for a small OLED display, a microphone breakout board, and a NeoPixel array.


The board is continuously sampling the noise level in the room. Every minute, it records the relative magnitude of the loudest thing it has heard for that minute. This record of relative noise is then made available online, through the Feather's MDNS-enabled local server, and in the room, via the OLED and NeoPixel displays.

Online, I am using MDNS to set up a website that's only viewable to others on your wifi subnet - if you are on the same wifi, you can go to http://frank.local and see the noise level records for the last X minutes into the past.

In person, the small OLED display shows a histogram of past noise levels, and the NeoPixel strip does the same. My plan is to use a 60-pixel strip, rather than the eight-pixel stick I have now, meaning I will be able to see the last hour's worth of noise records.

  • Timer overflow wierdness

    AKA05/11/2017 at 20:00 0 comments

    ...just noticed a strange behavior in my long-running "noise barnacle"

  • LED reach their final form

    AKA04/19/2016 at 14:17 0 comments

    My lil 8-element NeoPixel Stick was great for prototyping, but I had always envisioned a more durational, attractive end result. Similarly, it's useful in debugging to map color linearly to noise intensity, but in the real application (which is to answer: was the dog barking while I was away?), we only need to know discrete noise events, not their intensity.

    So the final LED arrangement is here, in the new photos uploaded to this project: a 60-element NeoPixel ring that is normally all-red; when there is a bark event, a white pixel shows up.

    Now, when you get back home, you can read it like a clock: starting from the top (noon), any white pixels you see are that many minutes into the past. So for example, in this image (excuse the squished perspective) Frank was barking 5 and 6 minutes ago, and he barked 52 and 48 minutes ago.

    Of course, in practice it's immaterial if it was 52 or 53 minutes ago, but I think it's useful to give the user a relative sense of the spacing of the barks, as they're pretty easy to interpret narratively.

    This project is almost complete - the last step is to fabricate a suitable enclosure for the electronics, and to find a diffusing material for the clock face. One last factor to tweak is the gain on the mic - it works for me where it's set now, but I'd like the Feather Wing I'm making to be a little easier to adjust. To that end, I've ordered a MAX 9814 auto-gain amp, and will be spinning up a board to test that out soon.

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates