2.5 GHz Frequency counter using PIC16F870

It is time to update the frequency counter again.
A frequency counter is one of the most important measuring tool we need as homebrewers of RF electronic.
This frequency counter has very high performance and still is very easy to build and to use. Anyone can build it and have fun.
The counter is based around 6 LED displays which will present the frequency with 1kHz resolution.

pick-up coil
I don’t find it necessary to have more digits.
The frequency will be presented on the LED display and at the same time also sent on the RS232 line.
If you want you can connect the counter to a computer and display the frequency information there.
In that case you don’t need any LED displays. This frequency counter is very sensitive and need just a few millivolt of RF to measure the frequency. You can easy connect it to any oscillator or you can make a pic-up coil to probe the oscillator. (More about this later)
To make this counter even more useful and intelligent, I have added an option for offsetting the frequency showed on the LED display with 2 jumpers SW1 and SW2. The offset calculation is easy activated with 2 jumpers, one for 455 kHz and one for 10.7 MHz.

It works like this:
Imagine you have a radio receiver and you wish to display the receiving frequency. As you know the oscillator in a radio receiver works 455 kHz or 10.7 MHz above the receiving frequency. The 455 kHz and 10.7 MHz difference is called IF (Intermediate Frequency).
So to display correct frequency, the counter needs to subtract the incoming frequency with 455 kHz or 10.7 MHz depending on your receiver system. 455 kHz is used in (narrow) band units and AM reception. 10.7 MHz is used in WB (wide band) and commercial receivers.

You have a radio and you want to listen at 100.0 MHz (the IF is 10.7 MHz) The oscillator will be oscillating 10.7 MHz above the 100 MHz, so the oscillator is at 110.7 MHz. If you would measure the frequency with an ordinary counter you would get 110.7 MHz on the LED display but, by activating the offsetting function this counter will subtract and display 100.0 MHz. The offset calculation is easy activated with 2 switches, one for 455 kHz and one for 10.7 MHz.
Boy, I wish I had this counter when I was building my first receiver for aircraft-band, which was manually tuned and not very stable.

Hardware and schematic

Most HF frequency counters need a prescaler in front of the counter unit.
In this case I use a circuit called LMX2322 which has prescaler function.
Of course you can use any prescaler as long as it divides by 64.
I have chosen this circuit since I have them and they are very sensitive and easy to work with.
The sensitivity is so good that in many cases you will need a attenuator based on a few resistors to make it work properly. More details later.
The prescaler has two differential inputs called Fin and /Fin.
If you wish you can connect /Fin to ground and use only Fin going to pin 8. Two 100 resistor forms 50ohm for impedance input matching.

The output of the prescaler (CPo) is a TLL lever where the frequency is divided by 64.
The signal then enters the microcontroller into its counting register (RC0). The microcontroller count the input pulses during 64mS.
The accuracy of this counter is set by the frequency of the 13MHz crystal.


For more detail: 2.5 GHz Frequency counter using PIC16F870

Current Project / Post can also be found using:

  • arduino frequency counter 1ghz
  • frequency counter with pic source code
  • pic frequency counter sxhema
  • 2 5Ghz frequency counter with pic18 microcontroller

Leave a Comment

= 5 + 2

Read previous post:
Universal RC5/RC6 transceiver using PIC16F628

This project is an expansion from another project from this website. On the one side you can read the RC5,...

Scroll to top