Analog Gauges Keep An Eye On Computer Performance

Keeping an eye on your computer’s resource utilization can be useful, particularly if you’re regularly doing computationally intensive tasks. While it’s entirely possible to achieve this with software tools, creating a dedicated hardware monitor can be cool too. [Sasa Karanovic] did just that, with a set of old-school analog gauges.

The build uses an STM32 microcontroller to drive a series of four galvanometers through an MCP4728 digital-to-analog converter. Data on CPU, memory, network and GPU utilization is collected by a Python script, and sent over a USB serial connection. This data drives the four-channel DAC, which in turn creates the voltages which control the needle position on the gauges. Aesthetically, the build features a few nice touches, including custom gauge faces and a 3D printed enclosure with a tasteful matte finish. A custom PCB keeps the electronics and wiring neat and tidy.

[Sasa] does a great job of explaining the basic theory of the device, as well as practical considerations for working with galvanometer-based gauges. It would make a great weekend project for anyone seeking to add some vintage charm to their desktop rig. There’s also scope to monitor other variables, like hard drive usage or CPU temperature. There’s bonus points if you integrate this into a laptop; the tip line would love to know. We’ve seen LED-based monitoring systems before, too. Video after the break.

15 thoughts on “Analog Gauges Keep An Eye On Computer Performance

      1. Engineering elegance, finding the simplest solution (not always the same as the cheapest, but often is), and if nothing else, the point of me asking is to stimulate responses such as yours.

        If the author had some reasoning behind that choice, fine. But the readers of this site tend to be the type to question design choices, and this one sticks out to me.

        So my question stands – and there may well be a good answer in which case I’ll say “oh good point, thanks for clarifying!”

        Until then, a simpler, cheaper, faster to implement, easier to layout, functional identical, more elegant solution would have been one R and one C.


        1. Sometimes gilding the lily as Dave Jones would put it is fun to do in and of itself if it’s a personal project that doesn’t have strict time or cost constraints. If you really were worried about optimizing this project then wouldn’t a character lcd be much more efficient in just about every way than using meters to display info? In the end this line of thought completely misses the point of a project like this, which is to serve to entertain the creator’s indulgences and whims.

          1. “……the point of a project like this, which is to serve to entertain the creator’s indulgences and whims.”

            Agreed 100%. My indulgences and whims revolve around finding the minimal solution – also I’m impatient, and since a dedicated DAC IC is not something I’m likely to have in the toolbox, my solution would be a resistor, a capacitor, and PWM drive.

            “….wouldn’t a character lcd be much more efficient in just about every way than using meters to display info?”

            No, because it would need more lines from the micro to drive – less efficient in terms of hardware.
            A character display is harder to read at a glance – humans are analog and a meter is instantly readable in terms of way high or way low, so less efficiency in functionality.

            The cutout for a character LCD is harder to effect than a simple hole – yess a 3D printer can do the cutout, but that immediately raises the bar for equipment needed.

            Back to your original point – projects on HaD and elsewhere are indeed all about the creator’s whims, so there’s no right or wrong answer, I’m simply addressing the points above from my perspective. Yours may be different, and that’s fine.

            Good discussion.

          2. Bingo that’s the magic right there, everyone’s perspective and situation is a little different so it’s always interesting to see the odd ways different people will accomplish the same general requirements. I find just as much joy in reading about super optimized, elegant solutions as the ones that are super convoluted and rube goldberg-like.

  1. This is still a software solution, just that the final output is hardware not driven by the system being monitored.

    I *wish* one could monitor RAM utilization via a physical, hardware means. Network activity and storage activity have low enough monitoring solutions with their activity LEDs. CPU utilization is quite a bit more tricky, needing something like thinned heat spreaders and sophisticated thermal measurement to do by a hardware means.

    1. There are messy software based monitoring programs e.g. HWiNFO supports software plug-in – LCD Smartie (open source).

      If you want hardcore, you could monitor SMbus via DIMM connector. These days you can poll voltage/curret/temperature from on-board sensors. For less intrusive hardware monitoring, you could indirectly monitor CPU currents going through the 4/8 pin Molex connector with a Hall effect current clamp. There is also the cooling fan speed (4-pin PWM duty cycle or old 3 pin voltage based).

    2. It’s not that easy. Memory utilization, for example, depends mostly on how the OS is handling it. It’s not like a container full of water. Also, CPUs no longer work in that simple do-something/do-nothing fashion they used to. It can be in low-power-mode and still be chewing at some task, or it could be working with a higher clock and be mostly idle. Again, it all depends on the OS. But correct me if I’m mistaken, please.

      You might want to take a look at Synth-Shell. Although it is not analog, it still has some minimalist retro charm. Alternatively, you might also like htop or Glance-Linux.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.