Here is a frequency counter I built for use from 10 Hz to 500 MHz which has 1 Hz resolution from 10 Hz to 50 MHz and 10 Hz resolution from 50 MHz to 500 MHz that uses a gate time of 1 second. After testing numerous existing front end amplifier / conditioner circuits, I opted for one that was designed by Jim Tregellas VK5JST. A TCXO (temperature compensated crystal oscillator) is used for the microcontroller clock identical to one that VK5JST used in the frequency counter he designed.
When measuring 10 Hz to 50 MHz the internal Prescaler and Timer 0 (configured as a counter) within a microchip 16F690 microcontroller are used to count the incoming pulses, and Timer 1 is used as part of the gate timer. When measuring 50 MHz to 500 MHz an external divide by 10 prescaler circuit (also designed by VK5JST) is used at the input to divide the incoming signal by a factor of 10. All programming within the 16F690 was done using assembly language. For cost and flexibility a 2 line by 16 character LCD display was used that has backlighting, and RS232 output was included to allow logging of the frequency measurement by a PC if desired (would allow long term drift analysis of an oscillator, etc). Included inside the enclosure is a programming jack for programming the 16F690 if program changes are required (no need to remove the 16F690 from its socket).
Youtube video showing frequency counter in use: http://www.youtube.com/watch?v=Rbh9H2Gdkus
10 Hz to 500 MHz Frequency Counter
1 Hz resolution 10 Hz to 50 MHz
10 Hz resolution 50 MHz to 500 MHz
Back Panel showing 500MHz prescaler board (configured to divide incoming frequency by 10)
Source Code
You can view and download my source code by clicking on the down arrow on the bottom right of this page. The source code is made available for your own personal use, and not for monetary gain (no resale of product, etc.). All rights reserved by Don Kirk (wd8dsb). The source code file is a text file and it can be viewed using notepad, etc.
(website created and maintained by Don Kirk (wd8dsb), January 22, 2017)