HardwareMon is a system monitoring tool designed to provide real-time insights into hardware information and performance metrics on both Linux and Windows operating systems. It offers a user-friendly interface for tracking essential components such as CPU usage, memory consumption, disk activity, GPU performance, network statistics, and overall system health.
Key Features:
Real-time monitoring of hardware metrics with an intuitive graphical interface.
Support for multiple platforms, including Linux (via APT and DNF repositories) and Windows (via winget).
Detailed insights into CPU load, memory usage, disk I/O, GPU temperature and utilization, and network traffic.
Command-line interface for advanced users seeking deeper system inspection.
Audience & Benefit:
Ideal for IT professionals, system administrators, developers, and hardware enthusiasts who need a lightweight yet powerful tool to monitor system performance and diagnose issues efficiently. HardwareMon provides clarity and simplicity without compromising on functionality, making it an essential tool for maintaining optimal system operation.
README
HardwareMon
Modern system monitoring for Android, Linux, macOS and Windows.
Real-time hardware analytics, a native Android dashboard, historical analytics via SQLite, cinematic desktop UI,
native Linux packaging, Windows installers, automated repositories, and bundled desktop telemetry architecture.
HardwareMon is a modern system monitor for Android, Linux, macOS and Windows. The desktop application uses Flutter and FastAPI, while Android has a native Kotlin and Jetpack Compose application that monitors the phone or tablet directly.
Most system monitoring tools either focus on raw data or dated interfaces.
HardwareMon aims to combine real-time telemetry, historical analytics, modern desktop design, and native Linux/Windows distribution into a single application.
Feature
HardwareMon
Task Manager
Htop
CPU Monitoring
✅
✅
✅
Historical Analytics
✅
❌
❌
Process Management
✅
✅
✅
Modern UI
✅
⚠️
❌
Linux Package Repositories
✅
❌
❌
Windows Installer
✅
Built-in
❌
HardwareMon Evolution
HardwareMon originally began as a small Python/Tkinter hardware monitor created during early experimentation with Linux system telemetry.
The project has since been completely rebuilt into a modern cross-platform monitoring platform using:
Flutter Desktop
FastAPI
LibreHardwareMonitor
Real-time telemetry APIs
Automated CI/CD pipelines
Native Linux packaging
Windows installer infrastructure
The legacy Tkinter interface and older Python GUI implementations have now been fully removed from the project and are no longer maintained.
HardwareMon now uses a unified Flutter frontend architecture across Linux and Windows with a bundled backend system for telemetry collection and process analytics.
Platform Support
Platform
Status
Distribution
Windows
✅ Supported
Installer / WinGet
Ubuntu / Debian
✅ Supported
APT
Fedora
✅ Supported
DNF
Flatpak
⚠️ Experimental
Flatpak
Arch Linux
🚧 Planned
AUR
macOS
✅ Apple Silicon only
DMG from Github Releases
Android
✅ Supported
Signed APK from GitHub Releases
Installation
Windows
WinGet
winget install LouisHinchliffe.HardwareMon
When launching HardwareMon, be sure to click 'Yes' to any UAC prompts for LibreHardwareMonitor.exe, to ensure full functionality like process management and temperature monitoring.
The app will still function if you choose 'No', as the app will then fall back to psutil for analytics, but choosing 'No' is not recommended due to LHM being required for some features.
As mentioned above in the Winget install method, when launching HardwareMon be sure to click 'Yes' to any UAC prompts for LibreHardwareMonitor.exe, to ensure full functionality like process management and temperature monitoring.
The app will still function if you choose 'No', as the app will then fall back to psutil for analytics, but choosing 'No' is not recommended due to LHM being required for some features.
sudo tee /etc/yum.repos.d/hardwaremon.repo > /dev/null < Tested on Apple Silicon hardware. Intel Mac support is planned for a future release.
# Android
HardwareMon for Android is a native, standalone monitor for the phone or tablet it runs on. It starts collecting local telemetry as soon as it opens and does not require an account, server, or root access.
The dark Jetpack Compose dashboard provides:
* Live CPU usage when the device exposes it
* RAM usage with used, available, and total memory
* Internal storage usage with used, available, and total capacity
* Battery percentage, charging state, temperature, voltage, and health
* Wi-Fi or mobile connection state, local IP, and Wi-Fi link speed when available
* Android thermal-pressure status on supported versions
* Model, manufacturer, Android version, SDK level, device name, ABIs, and uptime
* Foreground-only live refreshes with clear unavailable states for restricted metrics
Android limits access to some low-level hardware information. HardwareMon reports only values exposed by public platform APIs or readable system interfaces; it does not estimate hidden sensor values. CPU utilization, thermal details, Wi-Fi information, and some battery fields can therefore be unavailable on particular Android versions or manufacturer builds.
See [android/README.md](android/README.md) for architecture, build instructions, and a detailed API-limitations guide.
# Updating
## Windows
```powershell
winget upgrade LouisHinchliffe.HardwareMon
Ubuntu / Debian
sudo apt update
sudo apt upgrade hardwaremon
Fedora
sudo dnf makecache --refresh # refreshes repository data, needed for updating on DNF
sudo dnf upgrade hardwaremon
Modern Architecture
HardwareMon now uses a fully modular frontend/backend architecture.
Frontend Layer
Built entirely with Flutter Desktop:
Windows support
Linux support
Shared UI codebase
Animated workstation-style interface
Realtime telemetry rendering
Expandable analytics views
Multi-page navigation system
Cross-platform desktop framework
Backend Layer
Built using FastAPI and Python telemetry services:
Hardware telemetry APIs
Process monitoring
System analytics
Temperature monitoring
Live metric streaming
Process security scanning
JSON-based telemetry endpoints
The backend is bundled directly with release builds and automatically launched by the Flutter application.
Android Layer
Built with modern Android technologies:
Kotlin and Jetpack Compose
Material 3-inspired HardwareMon dashboard
State-driven ViewModel architecture
Dedicated CPU, memory, storage, battery, network, thermal, and device collectors
Foreground-aware refresh scheduling
Permission-light, root-free local monitoring
Responsive phone and tablet layouts
Legacy Components
The following legacy components have been removed:
Tkinter GUI
Older Python desktop interfaces
Legacy launcher systems
Previous monolithic UI architecture
Any remaining issues, references, or deprecated code related to these legacy systems are considered unsupported and may be ignored during development moving forward.
git clone https://github.com/louisboii747/HardwareMon.git
cd HardwareMon
Flutter Development
cd hardwaremon_app
flutter pub get
uvicorn main:app --reload
flutter run -d windows
Linux:
flutter run -d linux
Backend Development
cd backend_fastapi
pip install fastapi uvicorn psutil
uvicorn main:app --reload
Android Development
Open the android/ directory as a standalone project in Android Studio, or use JDK 17 and an Android SDK from the command line:
cd android
.\gradlew.bat testDebugUnitTest lintDebug assembleDebug
The APK is produced at android/app/build/outputs/apk/debug/app-debug.apk from the repository root. Full Android architecture and API-limit documentation lives in android/README.md.
Roadmap
Planned future improvements include:
System tray integration
Custom dashboard layouts
Plugin architecture
Detachable analytics windows
Native macOS exploration
Android
Planned improvements include:
Home screen widgets
Material You theming
Configurable on-device alerts
Historical analytics
Wear OS support
Quick Settings tile
Battery-conscious background sampling
Project Status
HardwareMon is under active development.
The project is evolving into a modern cross-platform monitoring platform focused on:
performance
desktop experience
native Android monitoring
packaging automation
scalable architecture
cinematic UI design
real-time telemetry systems
Contributing
Contributions will always be welcome to HardwareMon. Feel free to create a feature request in Issues, or submit a PR! I'd love to see your changes, fixes or ideas!