a higher resolution frequency counter

I found this project in a really old magazine from GDR times, which explained the reciprocal counter. This type of counter has the advantage that the +1 error stays constant even with low frequencies. When I started working with CPLDs, I used it as my first learning project. But since it needs a MCU to work, I decided later on to port it to the PSoC5 kit I have laying around. This allows me to have the whole counter in a single chip - and in addition the whole system gets much simpler to develop and program.


  • 24 bit resolution, doesn't depend on input frequency
  • up to 12MHz input frequency (the PSoC5 counter isn't faster than that)
  • about 0.7 measurements per second (depends on the reference clock and the resolution)

PSoC5 update

Since there were regular questions about this project, and the PSoC5 is outdated since several years now, I updated the project to use the current PSoC5LP. The PSoC5 project below was done with PSoC Creator 4.2, and targets the CY8CKIT-050. Should you use the -059 PSoC5LP stick, check the pin assignments, and change the target MCU accordingly.

Also, this project does feature only the frequency counter, but no frequency generator not any input circuitry. It needs an external reference clock (13MHz, but this can be changed easily).