Author Options:

how to make a external pc frequency meter ? Answered

Please be positive and follow instructable's "Be Nice" comment policy . and yes...... i am a newbie to everything (Although it's more than 5 years of ammetuer tinkering)...... so please be positive and don't comment negatively. Thanks A lot.
and my english is scrap...... apologies. :) 
So  as you can see...... i want to make an external speed meter for my pc ....... and want to display that on a led bar graph . or numerical values on 7 segments............. 
all i want to know is that how can i get the pc speed to a microcontroller...........  ?
i've got a asus z170 pro gaming mobo....... and i am waiting for 7th gen i3 7100 .........and the mobo also has a external clock generator....... but if i need to get speed through that..... i'd probably need a mcu faster than pc......... so i think the best way to do that is to make a pc program that can recognize pc's current speed........ and send it to a mcu(arduino) through serial connection.......... but now the problem is that i don't know java and c++ that much..... so how to solve this mess ?

And can i make same meters for everything else.... like network ram etc. just like a "task manager hardware".
And by the way..... i am taking pc building as an art......... and want a stunning stark tech like pc inside a 1.5m x 1.5m man cave. :D 


everyone.......... i've figured it out...... here's it ..... - https://www.instructables.com/id/DIY-PC-Usage-Meter-ROG-Base-Using-Arduino-and-Pyth/

actually i got a solution to this... there's a software known as ... open hardware monitor...... since it's open source i can grab the code from github... i has managed to find the folder in which there is a .net program to find the current pc frequency....... now i know two computer science graduates .. i will contact them to change the software accordingly and they'll do it for free if in mood to do so.. else..in next 6 months i will learn some of the .net . and will finally manage to send the data serially to an attiny which will proceed the job..... and by the way..... i've also found the .net library for serial communication... THE SAFEST AND BEST OF ALL ....... and then finally put an instructable for that to help all newbies with label as "DIY ROG Front Panel", while in the meantime i will also wait for a dev to post an instructable for this.... but thanks a lot to all and especially "rickharris" for introducing me to those super great ic's.

your welcome and good luck with your project.


1 year ago

I used to measure uP speed by continuously sending the capital letter P..

P = dec_80 = 50h = 01010000 bits binary.. This machine code including a start bit and two trailing bits was software generated by actually raising a single bit_high for a timed NOP loop and that same bit_low for the same loop as necessary for a 1200 baud RS232 pin output at the serial port... Then a Scope is used in measuring the time between transmissions.

Each instruction in the code has a number of clock cycles 1,2,3,4 or 5 with any page crossings are added together and the time was divided by the clock cycles giving me the clock speed which was usually consistent with a multi_phase crystal oscillator that at the uP was a physical component unlike today's internal oscillators but the technique will work today in simple machine code much easier to learn then C++ which does not publish cycle information or library version selection..

Machine language can let you design code for speed of execution or for minimal program memory to achieve the same software result..

what's uP ? Micro Processor ?

Correct !!

See a pic of a uP silicone die smaller then a Rupee coin with over 40 stitch bonded wires.

uP die AL1_-_Four-Phase_Systems_Inc.jpg

are you indian ?

Please stop this weird way of posting.
Just write like everyone else with proper formatting and without endless rows of dots for no good reason - only makes it hard to read.
And if things are hard to read people won't really bother much reading it.

You need some programming skills.
Similar to all those gadgets telling you the clock, memory or bus speed you need to check the same.
Direct the filtered output to a serial or USB connection and use an Arduino Uno or similar to read the data out and put it on a display.
You simply have no means to read these frequencies directly through hardware.
There are also PCI test cards available that offer this plus much more but as they are meant for field testing the price is above hobby levels.

This isn't going to be very easy for a beginner

CPU speed is measured against the
number of cycles per second it can perform. One hertz is equivalent to
one cycle per second, and 1 megahertz is 1 million hertz. This means
that 1 megahertz represents 1 million cycles per second. A CPU with a
speed of 1 gigahertz can perform 1 thousand million cycles per second.
The first microprocessors capable of performing at this speed were
revealed to the public in the early 2000s. Moore’s law states that
flagship CPU speeds double every 18 months.

That's a rather sophisticated frequency counter to count Ghz.

One way would be to decrease the resolution and divide the clock speed down to something easier to measure.


shows lots of frequency measuring circuits.

can't i make some sort of pc program like i mentioned above. ?

Your PC knows the speed of the CPU clock. You can see this if you look at my PC and select properties. (Although this is the CPU reporting it's designed speed I think and if you over clock it it may be wrong.) There are however several widgets and add on programs that will report the speed - I assume the actual speed. If you can interface to the software I guess you could take that information and display it. - Don't know how though.

but if i proceed with frequency divider circuit ....... the idea of receiving frequency from the motherboard physically doesn't seems good.......... i don't want to take chance on my new sealed packed mobo......... but i'll take that as my last option......... and really thanks........ for intro to this great series of ics.