Frequency Counter

I've had a BK audio range function generator for years (model 3010). It does everything I need it to do -- except it does not have a digital frequency readout. This project fills this gap. It uses an ubiquitous 2x16 LCD readout to provide a frequency counter up to 1MHz (and possibly above, I haven't tested that).

The input requires a fairly high signal level, at least 3V P-P. The BK has a TTL output which is perfect for this counter. If you want to use it with a smaller input signal, an amplifier must be added.

Project photoProject inside

The project uses an ATtiny461A microcontroller. Timer1 is used to generate precise 1 second intervals. Timer0 uses the input signal as its clock. So if you count the signal for 1 second and read the counter, the result is the frequency in hertz.


A 8 MHz crystal is used to clock the processor. This is to provide an accurate clock without the hassle of trimming the internal clock. The result is an accuracy of better than 0.1%. One gate of a 74HC14 is used to provide a clean clock signal for timer0. Transistor Q1 protects the sensitive CMOS gate, especially from negative going signals.

Download WinAVR C source code for the Counter

Back to VE3LNY's AVR Project Page