Build an Analog Resource Monitor to Find Your PC’s Bottlenecks
There are a lot of components inside of your computer that can potentially create a bottleneck and limit its overall performance. It isn’t…
There are a lot of components inside of your computer that can potentially create a bottleneck and limit its overall performance. It isn’t, however, always immediately apparent which component should be upgraded. If you do a lot of photo editing, for example, upgrading your processor probably won’t help much, but upgrading your RAM might. The best way to find your performance bottleneck is to monitor which components are being taxed the most. There are plenty of software utilities to do that, but you can also follow Saša Karanović’s guide to build an analog resource display for your desktop.
The primary benefit of a standalone resource monitor like this is that it will save valuable screen real estate, while also ensuring that you can always see how your computer is currently running. Karanović’s setup has analog gauges, called galvanometers, to show the current usage for the CPU, memory, GPU, and network. All you have to do is glance at those gauges to get an idea of the percentage that each component is being taxed. If you want to monitor something else, like hard drive usage or CPU temperature, it’s simple to customize this setup.
The two main components needed for this build are the galvanometers and some kind of microcontroller. Just about any microcontroller will work, so long as it can appear as a USB device when connected to your computer and communicate over serial. Karanović started with an STM32F103 microcontroller development board, and then later designed a custom PCB for the microcontroller.
A simple Python script is used to check the status of each component, and then sends the readings to the microcontroller. The microcontroller then alters the voltage going to the galvanometers. Each dial’s position is proportional to the current going to the galvanometer, and the voltage changes that. Just house the microcontroller and gauges inside of some sort of 3D-printed enclosure, and you’ve got a handy analog resource monitor to find your performance bottlenecks!