1.5 GHz Frequency Counter

1.5 GHz Frequency Counter
1.5 GHz Frequency Counter1.5 GHz Frequency CounterTesting the counterInside the box - 1.5 GHz Frequency Counter
4.42857 5 7 Product

Great input sensitivity, excellent voltage dynamic range, amazing accuracy !

This is an 28-bit frequency counter ! Measures frequency from 0.1Hz to 1.5GHz.  

The 1.5GHz Frequency Counter offers frequency resolution up to the amazing 0.1 Hz*, for frequencies in the range of 0.1 Hz to 100 MHz and up to 4 Hz* for frequencies in the range of 100 MHz to 1.5 GHz. Min and Max hold functions, frequency units’ selection and gate time adjustment are also supported.

Author: A.G

 Technical Details

A and B
A input: 1 Mohm, ←30pF , B input: 50 ohm
Input - A, Frequency Range
0.1 Hz - 100 MHz
Input - B, Frequency Range
70 MHz - 1.5 GHz
A input : 1:1, 1:20
Display type
LCD - 2lines x 16-characters / line
Hz, KHz, MHz / user selectable
Real time, Max hold, Min hold / user selectable
Input - A Resolution
0.1Hz, 1Hz, 10Hz / user selectable
Input - B Resolution
4Hz, 40Hz, 400Hz / user selectable
Input - A sensitivity
120mV @ 10Hz, 60mV @ 1KHz, 20mV @ 100KHz, 10mV @ 1MHz, 10mV @ 70MHz
Input - B sensitivity
-14dbm @ 70MHz, - 19dbm @ 200MHz, -20dbm @ 500MHz, -18dbm @ 1GHz, -7dbm @ 1.5GHz
Maximum Voltage on Input -A
10Vp-p (without attenuator), 200Vp-p (with 1:20 attenuator)
Maximum Power on Input - B
+ 13 dbm

 * this is the display resolution and not the measurement accuracy


Brief History

1.5GHz Signal Frequency Counter

The 1.5GHz Signal Frequency Counter project started as a Microchip Technology 8-bit learning project on winder of 2009. The unit was designed by G. Adamidis, a physicist and electronic engineer who earned his MSc in Electronic Physics from the Aristotle University of Thessaloniki, in Greece. The project was published on 
Circuit Cellar Magazine (issue 275, June 2013).

Theory of operation

The frequency (f) of any periodic waveform can be calculated by counting the instances (N) of the waveform during a precise time interval (dt) from f=N/dt. The frequency measurement unit is the Hz and 1 Hz is defined as one instance per second.

The input signal is first converted in an equivalent digital form. This conversion is better known as Squaring / restoration and it is performed by a high speed comparator .The high speed comparator produces a fast switching binary signal which preserves the frequency characteristics of the input waveform. An edge-triggered digital counter is used to accurately count (starting from 0), N occurred pulses of the fast switching binary signal, in a precise time interval dt. A microcontroller is then used to calculate the measured frequency from f=N/dt and the result is sent on a common display unit.


Referring to the block diagram, there are two input blocks; In A and In B, respectively. Each input block has its own input. The first input (In A) covers the 0.1 Hz - 100MHz while the second one (In B) covers the 70-1.5GHz band and the user is able to switch between them by pressing the A/B button.

1.5GHz Frequency Counter - Block diagram

The Squaring / restoration fuction is performed by a MAX9203 high speed comparator in each input block. An additional MC12080 is used in the second input block (B block) prior to the comparator, to extend the frequency range of the counter up to 1.6GHz

The Frequency Counter is actually a 28bit counter, besides it uses a PIC18F2620 Microcontroller which has only 16-bit internal counters. A total of 28bits is achieved by using is series the PIC’s internal 16-bit Timer0 module (configured as a 16-bit counter), a 4-bit 74F161 external counter and the PIC’s internal prescaler (in 1:256 prescale mode). The internal prescaler, in 1:256 prescale mode, is used as an 8-bit counter and a special method is used to “extract” its 8-bit value.

An LPF filter is additionally used to “clean” any oscillation problems at low frequencies due to the high gain-bandwidth product of the MAX9203 high speed comparator.



 The PIC microcontroller runs at an infinitive loop performing the following tasks:

  1. Switch to channel A or B according to current status.
  2. If channel A is currently selected then decide to use the LPF or not *.
  3. Reset the counter.
  4. Start the counter.
  5. Wait for dt = 0.1, 1 or 10sec (according to current status) for the counter to count. During waiting, check the keyboard periodically. If any button is pressed, then perform the appropriate tasks, update current status and return to step 1- otherwise continue.
  6. Stop counter.
  7. Read counter value N (28 bit integer) and calculate frequency from f=N/dt. **
  8. Display current frequency (real time mode) or the maximum frequency value ever occurred (Max hold mode) or the minimum frequency value ever occurred (Min hold mode) in Hz, KHz or MHz according to current status.
  9. Toggle gate LED.
  10. Return to step 1. 

* The decicion about the LPF is made as follow: The PIC takes a quick frequency measurement without the LPF (using 0.05 sec gate). If the measured frequency proved to be less than 980 KHz then the PIC switches to the LPF for accurate measurements.

 ** The PIC reads the external 4-bit counter’s value (E), the 8-bit value of the internal prescaler (P) and the 16-bit value of the internal Timer0 (T) and calculates the 28-bit counter value (N) from:  N=E+16·P+4096·T. If the currently selected channel is A then the measured frequency f is simply f=N/dt, but if the current selected channel is B then the measured frequency is calculated from f=N·40/dt (taking into account the MC12080 prescaler which is configured for 1:40 prescale).

 Download section

1.5 GHz Frequency Counter electronic schematics

Microcontroller machine code (hex file)

1.5GHz Frequency Counter PCB Artwork (paid download) 

source code in C for the 1.5GHz Frequency Counter (paid download)

List of the comments:
No vote yet
2016-02-10 02:39
This time everything worked out fine :-) Thank you!

Give your advice about this item: