Honey the Codewitch's EspMon Reboot Turns 11 Espressif ESP32 Boards Into PC Hardware Monitors

If you've got an ESP32 board with a display, there's a good chance you can quickly turn it into a hardware monitor for PCs and laptops.

Gareth Halfacree
11 months agoDisplays / HW101

Pseudonymous maker "Honey the Codewitch" has put together a handy tool for turning a display and any one of 11 different Espressif ESP32 microcontroller boards into a handy hardware monitor for a desktop or laptop PC — by rebooting their earlier EspMon project.

"I made a previous version of this project using LVGL and a [LILYGO] T-Display," the Codewitch explains. "I thought it might be worth revisiting since I've improved it quite a bit as well as changed it to work on my UIX and GFX libraries instead of LVGL. In order to work on a variety of different displays, the project has a scalable UI."

Where the Codewitch's previous project was fully functional, it was also restricted to a single device. Not so its reboot: the maker lists an impressive 11 Espressif ESP32-based development boards with which the tool can be used, including the LILYGO T-Display T1, M5 Stack Core2 and M5 Stack Fire, and Espressif's own ESP-WROVER-KIT. Some, though, come with warnings of stability, following crashes with the LILYGO T-Display S3 and M5 Stack S3 Atom.

"The C# app uses OpenHardwareMonitor," the Codewitch explains of the PC side of the project. "It queries OHWM ten times a second for usage, temperatures, and tjmax [thermal junction maximum] values (Intel only). Once it has that data, it stores it as well as sends it to each selected serial port if Started is checked. Once received over serial, the data is stored in memory in a circular buffer used for the usage and temp history graph. At that point, anything that has changed in the UI (namely the bars, graphs, and temperature readouts) is updated by UIX as it is invalidated."

The PC side of the project supports both Intel and AMD processors along with NVIDIA and AMD graphics cards, displaying CPU and GPU temperatures over time alongside usage graphs for both. "The temperature readout deserves some extra explanation since it is a gradient," the Codewitch notes. "It uses the HSV [Hue, Saturation, Value] color model to transition between green, yellow and red as the temperatures get hotter. This applies to both the graph and the bar."

A full write-up of the software is available on Code Project, while the full source code is published on GitHub under the permissive MIT license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles