Listening to water bubbling with a microphone

I ferment beer. Well - the yeast ferments it, I drink it, but you get the picture.

While fermenting, the beer generates CO2.

The CO2 bubbles through an S-bend airlock that has a little liquid sanitizer in it.

When this happens, it makes a charming 'Bloop!' sound.

When this stops happening, it means that the beer is fermented and ready to be kegged or bottled.

I'd like my arduino to listen to the airlock so that it can tell me when the beer is ready.

I'm thinking a (cheap!) microphone on a clip or clothespeg, and a wifi-enabled arduino. A clip means I am not modifying the keg or putting anything into the wort and risking contamination.

What kind of microphone can I attach to a 3.3v arduino? Buy somethihng? Cannibalise an old mobile phone? How would I attach it - what electronics would I need? Could I put some sort of electronics in place so that I'm not attempting to analyse waveforms in software? Perhaps if I ran the microphone output through a diode and through a filtering capacitor, maybe, just to get a "sound/no sound" yes/no value?

The rest of the project isn't a problem - the programming, the web interface and so on. I can do that side of the project no problems.

Air lock bubble monitoring can also be done with an IR sensor.

https://www.sparkfun.com/tutorials/131

You could use an Op amp to amplify the amplitude of the microphone. Are there any other sounds or just that one? If yes, then you would need to filter the frequency.

I have done a project where I did a spectrum analyzer with computer fans, see through tubes and Styrofoam balls. This was done purely analog, so no micro controllers involved. This required band-pass filters (resistors and capacitors), op amps, RS-Flip-flops etc...
My point is that you could also do this fully analog. There is no need for an Arduino.

dyso:
Are there any other sounds or just that one? If yes, then you would need to filter the frequency.

I'm thinking of clipping a mic directly to the airlock, so the bubbling should be the loudest thing.

dyso:
My point is that you could also do this fully analog. There is no need for an Arduino.

The arduino will have an RTC, will capture the data over time, and will present a web service that will supply the data as a JSON object - bubbles per minute in hour-long blocks, I think. This will be used to drive a web page with some sort of graphical display.

So, I'd like to drive a 3.3v high-impedance digital input. The pin ideally would go high (or low) on a 'bloop!', and stay that way long enough to be read. Or I could use an interrupt, I guess. Point is - driving an arduino pin with a mic.

A RTC is not needed when you use an internet connected board.
It keeps perfect time between say hourly NTP updates.

A WeMos D1 mini has enough built-in flash to store months of time-stamped data, even with 10-minute intervals.

A contact microphone (piezo disk), continuously sampled with the analogue input, could work.
Leo..

I'm thinking of clipping a mic directly to the airlock, so the bubbling should be the loudest thing.

Ah okay, yeah then you just need to amplify it I suppose. Should be simple.
Prob something like this:
http://www.learningaboutelectronics.com/Articles/Microphone-amplifier-circuit.php

A RTC is not needed when you use an internet connected board.

I totally agree. I use ThingSpeak and it logs the time it receives the data.