Live IOHID sensors
Reads every temperature sensor your Mac exposes — typically 15+ on-die readings on Apple Silicon. Refreshes once per second.
Every IOHID temperature sensor your Mac exposes, rendered as a glowing thermal control room. Each fan widget binds to a real on-die sensor — blade speed and color track measured °C. No telemetry. No network. Just live heat.
Heatsink reads every chip-level thermal signal macOS exposes, renders them with cinematic clarity, and stays out of your way the rest of the time.
Reads every temperature sensor your Mac exposes — typically 15+ on-die readings on Apple Silicon. Refreshes once per second.
Each fan widget binds to a real die sensor — blade speed, glow color, and HOT/WARM/COOL badge driven by the zone's measured temperature.
Animated rotating fan icon plus the hottest reading in your menu bar. Hover for full sensor context. Auto-tints to match light or dark menu bars.
Local notifications when any sensor crosses your threshold, with a configurable cooldown so you don't get spammed during a long workload.
Furnace (default navy & red), Phosphor (black & amber CRT), Voltage (black & neon cyan). Switch live in Settings.
No analytics. No telemetry. No network calls of any kind. Sensor data never leaves your Mac. Sandboxed; privacy manifest bundled.
Whether your chassis has 0, 1, 2, or 6 fans, the dashboard reshapes itself to match the hardware. Fanless Macs get a silicon-die view; the Mac Pro tower gets all six.
MacBook Pro 14"/16" (M-Pro/Max) · two fans bound to the hottest on-die zones
MacBook Neo (2026) · A18 Pro · 6-core CPU · iPhone-class silicon, fanless
MacBook Air (M5) · fanless · chip diagram with live core sensors
Mac mini · single-fan layout, base M-series chip
Mac Pro (M2 Ultra) · all six fans, each bound to a distinct thermal zone
Fahrenheit display · toggle anywhere in Settings → General
Heatsink does exactly one thing: read sensors locally and render them. There is no other thing.
Heatsink is preparing for review. Want a heads-up when it lands — or have a feature request? Drop a line.