Libre Hardware Monitor, a fork of Open Hardware Monitor, is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.
With the help of LibreHardwareMonitor you can read information from devices such as:
- Motherboards
- Intel and AMD processors
- NVIDIA and AMD graphics cards
- HDD, SSD and NVMe hard drives
- Network cards
You can download the latest release here.
If you're signed in to GitHub, you can also download the latest builds here. Click on a result and download Binaries under Artifacts.
The LibreHardwareMonitor team welcomes feedback and contributions!
You can check if it works properly on your motherboard. For many manufacturers, the way of reading data differs a bit, so if you notice any inaccuracies, please send us a pull request. If you have any suggestions or improvements, don't hesitate to create an issue.
LibreHardwareMonitor application: - How to compile the application
Compiling LibreHardwareMonitor requires Visual Studio 2022.
- Download the repository and compile 'LibreHardwareMonitor'.
- You can start the net472\LibreHardwareMonitor.exe application immediately.
NuGet Package - How to use NuGet
- Add the LibreHardwareMonitorLib package to your application.
- References will be added automatically, you can use the sample code below.
Sample code: - How to add C# reference
- Download the repository and compile 'LibreHardwareMonitorLib'.
- Add references to 'LibreHardwareMonitorLib.dll' and 'HidSharp.dll' in your project.
- In your main file, add namespace
using LibreHardwareMonitor.Hardware;
- Now you can read most of the data from your devices.
/*
* Example for .NET Framework
*/
public class UpdateVisitor : IVisitor
{
public void VisitComputer(IComputer computer)
{
computer.Traverse(this);
}
public void VisitHardware(IHardware hardware)
{
hardware.Update();
foreach (IHardware subHardware in hardware.SubHardware) subHardware.Accept(this);
}
public void VisitSensor(ISensor sensor) { }
public void VisitParameter(IParameter parameter) { }
}
public void Monitor()
{
Computer computer = new Computer
{
IsCpuEnabled = true,
IsGpuEnabled = true,
IsMemoryEnabled = true,
IsMotherboardEnabled = true,
IsControllerEnabled = true,
IsNetworkEnabled = true,
IsStorageEnabled = true
};
computer.Open();
computer.Accept(new UpdateVisitor());
foreach (IHardware hardware in computer.Hardware)
{
Console.WriteLine("Hardware: {0}", hardware.Name);
foreach (IHardware subhardware in hardware.SubHardware)
{
Console.WriteLine("\tSubhardware: {0}", subhardware.Name);
foreach (ISensor sensor in subhardware.Sensors)
{
Console.WriteLine("\t\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
}
}
foreach (ISensor sensor in hardware.Sensors)
{
Console.WriteLine("\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
}
}
computer.Close();
}
LibreHardwareMonitor is free and open source software licensed under MPL 2.0. You can use it in private and commercial projects. Keep in mind that you must include a copy of the license in your project.