Mini Meters Monitor Microprocessor Maximization

[Lex] over at Computing: The Details loves to make fun projects. Recently, they have created a hardware CPU monitor that displays how PCs are parallelizing compile tasks at a glance. The monitor is built from 14 analog meters, along with some WS2812 RGB LEDs.

Each meter represents a core on [Lex]’s CPU, while the final two meters show memory and swap usage. The meters themselves are low-cost 5 mA devices. Of course, the original milliamps legends wouldn’t do much good, so [Lex] designed and printed graduations that glue over the top. The RGB LED strip is positioned so two LEDs fit under each meter. The LEDs allow a splash of color to draw attention to the current state of the machine. The whole bank going red would sure get our attention!

The system is controlled by an Arduino Mega, with the meters driven using the PWM pins. The only extra part is a 1 kΩ resistor. The Arduino wrangles the LEDs as well. Sadly [Lex] did not include the software. They did describe it though. Basically they are using a Rust program to call systemstat, obtaining the current CPU utilization data in Linux. A bit of math converts this into pointer values and LED colors. The data is then sent via USB-serial to the Arduino Mega. The software savvy will say it’s pretty easy to replicate, but the hardware-only hackers among us might need a bit of help.

This isn’t the first custom meter we’ve seen on Hackaday. Your author’s first project covered by Hackaday was for a meter created using an automotive gauge stepper motor. I didn’t include source code either – but only because [Guy Carpenter]’s Switec X25 library had me covered.

Thanks for the tip, [TubeTime]!

11 thoughts on “Mini Meters Monitor Microprocessor Maximization

  1. A bit silly but also fun sort of project. But there are a few things a bit confusing.
    Why start with 5mA meters? Is this the native current of these? (100uA used to be very common), or else 5V meters that can use direct PWM output from a microcontroller. Current meters with >100uA tend to have a parallel shunt resistor inside, while volt meters >100mV tend to have a series resistor.
    And why is the swap space maxing out (@03:00 )? Is that 100% of 0 bytes swap space used? (Memory is at 30%).

    I also do not see any description or repository for the soft & firm -ware. It’s not much effort to add those and it makes it a lot easier for others who want to build something similar.

    1. I was thinking of putting together several 8×8 LED grids with WS2812B that can be bought cheaply from china for such setup. With that each CPU will have 8 RGB leds for a bar graph plus there will be a few left for network and storage.

    1. Beat me to it! They need to be wrapped around the console-desk in a semicircle.
      The lower part of the faces need to be opaque and reflective inside. In the photo the needles are barely visible.

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.