Skip to content

Libre Hardware Monitor, home of the fork of Open Hardware Monitor

Notifications You must be signed in to change notification settings

infra223/LibreHardwareMonitor

 
 

Repository files navigation

LibreHardwareMonitor

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.

What's included?

Name Build Status Latest Version
LibreHardwareMonitor
WinForms based application that presents all data in a graphical interface
Build status 1.0.0.0
LibreHardwareMonitorLib
Library that allows you to use all features in your own application
Build status 1.0.0.0

What can you do?

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

How can I help improve this tool?

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.

Do I have to compile the program myself?

You can download the latest builds here.

What's the easiest way to start?

LibreHardwareMonitor application:

  1. Download the repository and compile 'LibreHardwareMonitor'.
  2. You can start the application immediately.

Sample code:

  1. Download the repository and compile 'LibreHardwareMonitorLib'.
  2. Add references to 'LibreHardwareMonitorLib.dll' and 'HidSharp.dll' in your project.
  3. In your main file, add namespace 'using LibreHardwareMonitor.Hardware;'
  4. 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(ISensor sensor in hardware.Sensors)
        {
            Console.WriteLine("\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
        }
    }
}

What does the library contain?

  1. Namespaces:
LibreHardwareMonitor.Hardware
LibreHardwareMonitor.Interop
LibreHardwareMonitor.Software

License

LibreHardwareMonitor is free and open source software. You can use it in private and commercial projects. Keep in mind that you must include a copy of the license in your project.

About

Libre Hardware Monitor, home of the fork of Open Hardware Monitor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 94.8%
  • JavaScript 2.9%
  • C 1.6%
  • Other 0.7%