Why
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.
Hardware
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.
Software
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.