A lightweight, silent hardware thermal guardian for Windows — living in your system tray, watching your CPU and GPU so you don't have to.
No bloated dashboards. No 200MB Electron monster eating your RAM. Just a tiny tray icon that quietly watches your temps and yells at you — on your desktop and on your phone — the second something starts cooking.
| Limits & Widget Configuration | Hardware Fan Speed Control (Beta) |
|---|---|
![]() |
![]() |
Most hardware monitoring tools want to be the center of your desktop: giant overlays, gamer-RGB dashboards, constant CPU overhead just to tell you a number you'll glance at once a week. ThermalWatch flips that. It sits invisibly in your tray, sips almost no resources, and only speaks up when it actually matters — when your CPU or GPU crosses a threshold you define. Then it tells you twice: once on your screen, once on your phone (via ntfy.sh), so you find out even if you've walked away from your desk.
Built by people who got burned (pun intended) by a real AMD Ryzen thermal-reporting nightmare — see the Troubleshooting Saga below — and turned that pain into a feature.
- 🖥️ Silent System Tray Operation — No taskbar clutter, no intrusive windows. It just lives quietly next to your clock.
- 🤖 AI Thermal Health Advisor — Uses Google Gemini 2.5 Flash API or 100% offline Local Ollama LLM to analyze rolling 10-minute telemetry logs and diagnose thermal paste degradation, cooler pump failures, or airflow bottlenecks.
- 🌡️ Extended Sensor Suite — Tracks CPU/GPU temperatures, live usage load rates (%), fan speeds (RPM), RAM usage/temps, NVMe/SATA SSD drive temperatures, VRM/PCH motherboard temperatures, CPU/GPU Package Power (Watts), Vcore voltages, and AMD Ryzen PBO (PPT, TDC, EDC) using
LibreHardwareMonitorLibviapythonnet. - 🔥 Thermal Throttling Guardian — Monitors hardware thermal limit & frequency throttling flags, dispatching high-priority Windows Toast/mobile alerts and displaying a
🔥 THERMAL THROTTLING DETECTEDalarm badge on the widget. - 🌀 Safe Hardware Fan Speed Control (Beta) — Software fan speed override engine with hardware safety features: presets (
Auto,Quiet 30%,Medium 50%,High 75%,Full 100%), minimum 30% safety floor, and automatic BIOS control restoration (SetDefault()) on app exit or disabled state. - 🔔 Dual Alert System — Get notified locally via native Windows Toast Notifications (
winotify) and remotely on your phone via ntfy.sh push notifications, so you're covered whether you're at your desk or across the room. - ⚡ Live Real-Time Widget Hot-Reload — Sensor toggles update live on the desktop widget without restarting, with dynamic geometry height auto-resizing.
- 🎨 Win32 Hardware-Clipped Widget — Sleek, frameless desktop widget with native Win32 window region rounding (
CreateRoundRectRgn) and DWM rounded corner integration, eliminating border artifacts across all wallpapers. - ⚡ Auto-Start on Boot (Admin-Safe) — Integrates directly with Windows Task Scheduler to launch silently at startup with the highest privileges without triggering UAC prompts every boot.
- 🛠️ Built-in AMD Ryzen Fix — Dedicated "Download PawnIO Driver" tab in Settings for easy modern kernel driver installation on AMD Ryzen systems.
- 🍃 Resource Efficient & Optimized — Uses lazy-loading of UI libraries to consume less than 95-130MB RAM in tray-only mode, with zero idle overhead when settings tabs are inactive.
| Component | Technology | Purpose |
|---|---|---|
| Language | Python 3.11 | Core application logic |
| GUI Framework | CustomTkinter | Modern Windows 11 Fluent interface |
| AI Advisor | Gemini 2.5 Flash / Local Ollama | Automated thermal health diagnostics & analysis |
| Tray Integration | pystray | System tray icon & menu management |
| Notifications | winotify | Native Windows 10/11 toast notifications |
| Mobile Push | requests + ntfy.sh | Remote push alerts to your phone |
| Hardware Access | pythonnet + LibreHardwareMonitorLib.dll |
Bridges .NET hardware sensor library into Python |
On AMD Ryzen processors (e.g., Ryzen 7 5700X), reading low-level SMU mailbox registers (PPT, TDC, EDC, Package Power, Core Temp) requires modern kernel-level driver access. Modern Windows 11 Core Isolation / Memory Integrity silently blocks legacy drivers.
To fix this:
- Open Settings → PawnIO Help in ThermalWatch.
- Click Download PawnIO Driver to install the modern signed kernel driver from pawnio.eu.
- Restart ThermalWatch as Administrator — full telemetry will populate instantly.
- Windows 10 / 11 (64-bit)
- Administrator access (required for low-level hardware sensor registers)
- Head to the Releases page and download
ThermalWatch.exe. - Right-click → "Run as administrator".
- The tray icon will appear next to your clock.
git clone https://github.com/UmutCansinTorgayli/ThermalWatch.git
cd ThermalWatch
pip install -r requirements.txt
python main.pypyinstaller --clean --noconfirm ThermalWatch.spec- 🔍 Expanded Hardware Sensors: Real-time tracking for RAM, NVMe/SATA SSDs, VRM & PCH motherboard temperatures, Package Power (Watts), Vcore voltages, and AMD Ryzen PBO (PPT, TDC, EDC).
- 🔥 Thermal Throttling Guardian: High-priority throttling notifications and widget warning badge (
🔥 THERMAL THROTTLING DETECTED). - 🌀 Safe Hardware Fan Speed Control (Beta): Preset speed modes (
Auto (BIOS Default),Quiet 30%,Medium 50%,High 75%,Full 100%) with minimum 30% safety limit and automatic BIOS recovery on exit. - 🤖 AI Thermal Health Advisor: Integrated Gemini 2.5 Flash and local Ollama support for automated 10-minute telemetry diagnostics.
- ⚡ Live Real-Time Widget Hot-Reload: Instant update of sensor toggles without restarting, featuring dynamic geometry height auto-resizing.
- 🎨 Win32 Window Clipping: Hardware-clipped window region (
CreateRoundRectRgn) for smooth anti-aliased rounded corners on the widget. - ⚡ 0% Idle UI Overhead: Paused 40ms canvas loop when settings telemetry page is inactive.
Distributed under the MIT License. See LICENSE for details.


