Tone Decoder with ATtiny25

The microprocessor ATtiny25 can be programmed to detect an audio tone, similar to the well-known decoder 567.

Frequency and bandwidth can be chosen by parameters in the program (details see there). In order to achieve the exact center frequency you may calibrate the clock oscillator by changing the value of the register OSCCAL. Because an adaptive threshold is used the bandwitdth is almost independent from the input signal level.

Even if the supply voltage is reduced to 1.5V the decoder is still working. The center frequency, however, decreases, probably because the frequency of the internal RC clock oscillator drops. For recognizing a signal an input level of some millivolts suffice.

Download: tondetect_diff.c
Download: tondetect_unipol.c