I remember when I was a kid, I had key finder – small device where you would whistle and it would respond by beeping. I don’t know how complex it was, but it worked. Probably simple sound activated circuit with bandpass filter and that’s it. If you would like it to recognize whistle patterns, then there is a different talk. Without FFT and signal processing it would be hard to achieve. Limpkin had ARM Cortex-M4 in his hands and wanted to build something interesting. So he came up whistler.
As we know Cortex-M4 has DPS instruction set built in which allows pretty efficient signal processing. As he found out it could perform around 80 2048-point FFTs and still have resources to run custom algorithms. First step was to capture signal and transform in to frequency domain using FFT. Second step was to interpret them. It took quite a lot trial and error runs until it got polished. The whistler is assembled on slim PCB with microphone and preamplifier, power regulator, MCU and MOSFET to switch or dim big loads. Algorithm is capable of detecting number of peaks, peak width, deviation on one peak and more giving big flexibility to improvise.