Skip to content
← Apps & tools

Desktop Hardware Monitor

A small always on top Windows widget that shows CPU, GPU, RAM and SSD temperatures and load in real time, built with WPF on top of LibreHardwareMonitor.

Role
Author
When
September 2026
Stack
C#, .NET Framework 4.8, WPF, LibreHardwareMonitor

Context

Full hardware monitoring tools show hundreds of sensors in large windows. Most of the time I only want four numbers in a corner of the screen: how hot and how busy the CPU, the GPU, the memory and the SSD are. This widget does exactly that.

What I built

A frameless WPF window that reads sensors through LibreHardwareMonitorLib and shows:

  • CPU: package and core temperature, total load.
  • GPU (NVIDIA and AMD): core, hot spot and memory temperatures, core and 3D load.
  • RAM: used and total memory.
  • SSD: drive temperature and activity.

Sensor polling runs in the background so the interface stays responsive. The window can be dragged anywhere, pinned on top of other windows, and configured from a right click menu: opacity, refresh rate (one to five seconds), start with Windows and recentre. Position, opacity and pin state are saved between sessions.

Build

No Visual Studio is needed: a PowerShell script (or a batch file) compiles the project with the C# compiler that ships with the .NET Framework. Reading CPU temperature registers requires administrator rights, so the executable carries a manifest that asks for elevation at launch.

← All projects