Sensor Readout
Current version: 6.5.1.
Important update note: If you are running 6.0.0 or 6.1.0, download the current release manually once. Those two versions cannot complete their own signed update because the temporary updater omitted a required program file. Your settings are preserved, and later automatic updates work normally.
Sensor Readout is an accessibility-first Windows hardware information and troubleshooting tool for reading sensors, checking connected devices, investigating audio latency, reviewing system and accessibility details, creating support reports, and controlling supported fans with a keyboard-first, screen-reader-friendly interface.
It shows high-level categories on the left, readings grouped by device in a tree view on the right, and common commands in a standard menu bar. The goal is to make practical troubleshooting information quick to reach: temperatures and fans, storage health, USB, network, Bluetooth, tasks, audio, display, printers, batteries, PCIe details, Windows device inventory, accessibility status, diagnostics, and shareable reports.
Project page: https://github.com/OnjLouis/accessible-sensor-readout
Contributor source overview: SOURCE-MAP.md
Public community stats: https://onj.me/srstats/
Why Sensor Readout Exists
All that information about your own computer that used to be hard to find, hidden behind Device Manager or locked away in expensive or inaccessible apps, should be easier to reach.
Sensor Readout aims to bring as much of that information as possible into one easy-to-use, portable or installable, free app so you do not have to hunt for it. I was sick of the state of accessibility around the technical side of Windows computing, so I set out to get something made that I wanted to use. Apparently, many others want that too.
I hope you discover just as much about your computer with this app as I have about mine, and I hope you are pleasantly surprised by what you find.
My wish is that Sensor Readout becomes the gold standard in its class: an accessibility-first tool that blind and visually impaired people in tech support jobs can give to clients, so those clients can generate reports and get help troubleshooting issues. I strive for excellence, and I hope you feel that when you use it.
Andre Louis, creator of Sensor Readout.
Sensor Readout has an opt-in anonymous community stats page at onj.me/srstats. It shows broad aggregate coverage, such as Windows versions, CPU and GPU vendors, memory and storage totals, category coverage, enabled plug-ins, selected languages, and how many submitted systems expose temperatures, fans, battery data, device issues, or other useful readings.
It also includes broad accessibility aggregates, including detected supported screen readers and common Windows accessibility settings such as High Contrast, Toggle Keys, Sticky Keys, Filter Keys, Show Sounds, and audio descriptions. This can help the project, users, and screen-reader vendors understand which tools and accessibility features are showing up in real-world systems without collecting identifying report data.
Submitting stats is explicit opt-in from inside Sensor Readout. The app shows the exact small JSON payload before upload, and it does not send computer names, usernames, serial numbers, MAC or IP addresses, paths, drive labels, device IDs, PnP IDs, raw Details fields, installed programs, or full report rows.
What It Does
- Reads temperatures, fan RPM, storage health, storage capacity, NVMe PCIe link generation where Windows exposes it, BitLocker drive status where Windows exposes it, connected-device information, and selected hardware counters.
- Shows a Performance/Overview category for uptime, BIOS details, GPU details, CPU usage, CPU model/core/thread/cache information, memory usage, paging file usage, physical + virtual memory totals, PCIe/expansion-slot information, connected-disk totals, accessibility status, and storage read/write activity, grouped so related information stays together.
- Shows Windows printer information in Performance/Overview, including default printer, status, driver, port, configuration, queued jobs, and ink or toner percentages when the printer driver exposes them to Windows.
- Opens the main UI immediately while the first sensor refresh continues in the background.
- Shows a Network category for adapter status, IP addresses, link speed, send/receive rates, total traffic, and Wi-Fi details such as connection state, SSID, signal strength, RSSI, channel and channel width, frequency, radio type, link speeds, and security where Windows provides them.
- Shows a Bluetooth category for Windows-exposed Bluetooth radios and paired or connected devices, including adapter/device address, type, services, manufacturer, connection state, pairing state, and last seen/used timestamps where available.
- Shows a Tasks category for compact current-activity readings, including the highest CPU process, highest memory process, highest GPU process, and highest GPU memory process where Windows exposes those counters.
- Shows a Spoken Hotkeys category that mirrors notification-area status and spoken hotkey profiles in the main tree, so sighted users can review what those hotkeys currently contain without opening Preferences.
- Shows both Windows GPU performance-counter memory and NVIDIA SMI driver-reported GPU memory where available, because those sources account for reserved and driver-managed memory differently.
- Shows network adapter MAC addresses and OUI vendor names when the bundled OUI data contains the prefix.
- Shows a USB category for connected devices, hubs, controllers, connection speed, power draw where Windows exposes it, drive letters, safe-to-unplug status, USB network adapter MAC details and storage hardware IDs where available, and detailed copyable device fields.
- Shows an Audio category grouped by device/interface, with playback and recording endpoints underneath, including vendor, status, direction, and default channel/sample-rate/bit-depth format where Windows exposes it.
- Includes an explicitly started Audio Latency diagnostic that measures Windows DPC and interrupt-service-routine execution, hard page faults, and responsible drivers while you reproduce an audio problem, then saves a structured HTML report.
- Shows a Display category for graphics adapters and monitors, including resolution, refresh rate, adapter memory, driver information, monitor vendor, and monitor identifiers where Windows exposes them.
- Links back to the project page from the README, Help menu, and About dialog.
- Uses bundled LibreHardwareMonitor libraries for sensor access.
- Uses the PawnIO driver for low-level motherboard sensors and fan controls where hardware support is available.
- Lets you label fan headers with friendly names.
- Hides stopped or unpopulated motherboard fan headers by default.
- Applies manual fan percentages to one selected fan or to all visible fans.
- Returns one fan or all fans to automatic/default control.
- Supports simple fan curves that set a fan control from a selected temperature reading.
- Supports fan profiles that apply several fan controls at once, with optional global hotkeys and optional toggle-back-to-automatic behavior.
- Saves TXT or HTML sensor reports.
- Opens saved HTML reports directly, including HTML reports sent inside a diagnostics ZIP file.
- Connects Sensor Readout computers through an encrypted remote-monitoring relay, presenting live remote readings in the same accessible categories and tree used for local readings.
- Shows a Devices category with Windows PnP inventory, including PCI/system devices, storage controllers, input devices, Bluetooth, printers, security devices, and concise cross-linked entries for USB, audio, display, and network hardware.
- Puts devices with Windows problem codes, driver failures, or non-OK status into a clear Non-working devices group at the top of Devices, while keeping them in their normal hardware group too.
- Adds a Category summary row at the top of each main section, giving a quick count of readings, groups, rows with Details, and section-specific health signals where useful.
- Gives clearer empty-section guidance when a category has no visible readings, so users know whether to refresh, enable a plug-in, connect hardware, or check hidden items.
- Keeps the main tree readable while putting deeper technical fields behind Details, including PnP identifiers, driver data, CPU WMI fields, cache records, memory module information, and PCIe link/slot details where Windows exposes them.
- Lets Details users copy only matching lines from a detailed tree, useful when a support person asks for a specific driver, ID, or firmware field.
- Exports a portable copy ZIP of the current app, including settings, Plug-Ins, language files, custom sounds, and optional reports or logs.
- Can run one-click diagnostics from the Help menu or command line, collecting TXT and HTML reports, a debug log, sensor summaries, and a safe fan-control exercise into a ZIP file in
Reports.
- Adds a support-readiness summary to diagnostics so support helpers can quickly see row counts, data sources, plug-in rows, detail coverage, fan-control rows, and empty key categories.
- Supports configurable automatic refresh.
- Defaults to a 5-second refresh interval on new configurations.
- Can run at Windows startup and start minimized to the notification area.
- Uses
Config\Shared.json for portable preferences that should follow the app between machines, while keeping hardware-specific setup in Config\.json.
- Saves preference changes as they are made, so hotkey, tray, hidden-item, and similar setup work survives crashes better.
- Writes diagnostic logs in
Logs as .log when logging is enabled.
- Can show temperatures in Celsius, Fahrenheit, Celsius then Fahrenheit, or Fahrenheit then Celsius.
- Can show memory/GPU memory, storage sizes, and transfer values with separate unit preferences, including binary IEC labels such as KiB, MiB, and GiB.
- Supports optional user-defined global hotkeys for show/hide and speaking the notification area status.
- Can speak the notification area status through the active screen reader using bundled 64-bit Prism and Tolk screen reader library DLLs.
- Supports simple user-editable language files in the
Langs folder.
- Logging is off by default and can be enabled from Preferences when troubleshooting.
- Can show selected readings in the notification area tooltip.
- Can run opt-in alarms for selected readings, speaking through the active screen reader and/or playing a chosen WAV file when a threshold is reached.
- Includes alarm presets for common cases such as low battery, Wi-Fi disconnect, weak Wi-Fi signal, high CPU/GPU temperature, disk health warnings, C drive free space or activity, and printer problems when matching readings are available.
- Includes spoken hotkey presets for common starter profiles such as system status, memory status, network status, C drive activity, disk activity, GPU status, Tasks summary, battery status, and fan/temperature status. Spoken hotkey profiles are listed by assigned key so configured shortcuts stay easy to scan.
- Includes a Help menu accessibility setup check for screen reader output, notification area speech, show/hide keys, report/log folder availability, and common startup-minimized pitfalls.
- Can play optional startup and shutdown sounds from the
Sounds folder.
- Supports opt-in hardware plug-ins from the
Plug-Ins folder for extra machine-specific hardware support. Installed plug-ins stay disabled until you enable them in Preferences.
- Enabled plug-ins can add related support pages to the Help menu, such as vendor utility pages for laptop-specific sensor support.
- Ships with optional plug-ins for selected laptop/vendor-specific hardware where useful community or vendor interfaces are available.
- Can import a plug-in ZIP from Preferences without automatically enabling it.
- Can show laptop battery charge, status, capacity, health, cycle count, voltage, battery charge/discharge power, and charge/discharge remaining time where Windows exposes enough battery data. Battery power is not presented as total charger input; direct input power appears only when Windows provides a watt-based power meter with usable units.
System Requirements
- Windows 10 or Windows 11, 64-bit.
- Microsoft .NET Framework 4.8 or newer.
- PawnIO driver installed for motherboard sensors and fan controls.
- Administrator rights when reading motherboard sensors, controlling fans, or running the Audio Latency diagnostic.
LibreHardwareMonitor is not required as a running app because this folder ships the needed library files. Installing the standalone app can still be useful for troubleshooting.
Official Links
Getting Started
Sensor Readout can be used as a portable app or installed for the current Windows user. Windows Package Manager lists it as OnjLouis.SensorReadout. To install it with administrator approval, run:
winget install --id OnjLouis.SensorReadout -e
WinGet installations use Sensor Readout's own signed update engine, create Start menu and desktop shortcuts on first install, and preserve existing settings and user data during upgrades. New versions may take time to appear in the WinGet catalog; the current ZIP is always available on the Releases page.
- Start
Sensor Readout.exe.
- Accept the Windows administrator prompt.
- If the initial setup dialog appears, set a show/hide hotkey and a speak notification-area status hotkey if you want quick access from anywhere.
- Choose a category on the left.
Performance/Overview is a good first stop for uptime, Windows, CPU, memory, GPU, storage, printer, accessibility, and data-source summaries. Tasks is useful when you want to know which process is currently consuming the most CPU, memory, GPU, or GPU memory.
- Use
F3 to find a reading such as CPU usage, GPU memory, network speed, disk activity, uptime, Bluetooth, or a device name. Use F4 to review the exact text, Enter to open Details when available, or Alt+Enter to open a related Windows Settings page or task file location when Sensor Readout knows one.
- Press
Ctrl+Shift+H on a useful reading to add it to notification-area status or a spoken hotkey profile.
- Press
F5 to refresh if values are still loading.
If PawnIO is missing, Sensor Readout may offer to run the prerequisite installer. You can rerun it later from Help > Install prerequisites....
Fan controls are optional and depend on supported hardware. Open Options > Fan controls... or press Ctrl+L only if you specifically want to inspect or adjust writable fan controls. If motherboard fans or controls are missing, check that PawnIO is installed and that the app was started as administrator.
For support, use Help > Run diagnostics.... It creates a diagnostic ZIP in the Reports folder, opens that folder, and can optionally speak each step and play sounds at the start and end of the test. For unattended testing, --diagnostics [path] creates the same ZIP and exits.
Prerequisite Installer
Most users can start Sensor Readout.exe directly. If a required component is missing, Sensor Readout will offer to run the prerequisite installer. Install_Scripts\Install-Prerequisites.cmd is mainly for manual setup or troubleshooting; it calls Install-Prerequisites.ps1, asks for administrator rights if needed, and installs PawnIO. It tries winget first, then Chocolatey if it is already installed, then downloads the official PawnIO.Setup release from GitHub if neither package manager is available. When winget exists, it can also install .NET Framework Runtime.
To also install the standalone LibreHardwareMonitor app with winget for troubleshooting, run:
.\Install_Scripts\Install-Prerequisites.ps1 -IncludeLibreHardwareMonitor
Manual Install Commands
If the prerequisite installer does not work on your system, open Windows Terminal or PowerShell as administrator and run:
winget install --id Microsoft.DotNet.Framework.Runtime -e --source winget
winget install --id namazso.PawnIO -e --source winget
Optional troubleshooting tool:
winget install --id LibreHardwareMonitor.LibreHardwareMonitor -e --source winget
Accessibility Setup
Use Help > Check accessibility setup... after first run or after changing startup and hotkey preferences. It checks whether Sensor Readout can reach screen reader speech, whether notification-area speech is configured, whether report and log folders can be opened, and whether a minimized startup setup could leave you without an obvious way back to the main window.
If you use Start minimized to notification area, set a show/hide hotkey in Options > Preferences > General. Without that key, Sensor Readout can still be opened from its notification-area icon, but Windows may hide new tray icons until you allow them in Windows notification area or system tray settings. A show/hide hotkey gives keyboard and screen-reader users a reliable way to bring the main window back.
The same Hotkeys tab can set a key for Speak notification area status. That key reads the configured notification-area readings without opening the main window, and it is often the fastest way to check important values such as memory, temperatures, uptime, network status, or GPU memory.
Recommended Hotkey Ideas
Spoken hotkeys are personal, but a simple pattern helps. Ctrl+Shift+Function key combinations are usually easy to group and unlikely to conflict with ordinary app commands. For example, you might use Ctrl+Shift+F1 for CPU and temperature, Ctrl+Shift+F2 for Tasks, Ctrl+Shift+F3 for network, Ctrl+Shift+F4 for read/write activity, Ctrl+Shift+F11 for notification-area status, and Ctrl+Shift+F12 for show/hide.
Good starter profiles are readings that exist on most Windows systems or remain useful across machines: system status, memory status, uptime, C drive activity, network send/receive rates, GPU status when present, Tasks summary, and fan/temperature status when sensors are available. Use Ctrl+Shift+H on any reading to add it quickly, or use Options > Preferences > Hotkeys > Presets... to create starter profiles and assign your own keys.
Control Help And Manual
Press plain F1 while a control has focus in the main window or a Sensor Readout dialog to open readable help about that control. The explanation is read-only and can be navigated with the keyboard and a screen reader. Tab navigation stays concise: names, values, states, and useful shortcuts. Detailed control instructions appear only in F1 help, not in normal descriptions or visible hints. Warnings, privacy and consent information, and live results still appear when required.
Choose Copy help to copy the explanation, Manual to open the full guide for the selected language in your browser, or Close to return. Escape also closes help and returns focus to the original control. Opening and closing help leaves field values unchanged. Help never displays entered passwords, tokens, or other text from input fields.
Plain F1 is reserved for help, including in hotkey-entry fields; it does not replace the assigned key. Supported combinations such as Ctrl+Shift+F1 remain assignable. The full manual is also available from Help > Manual.
Keyboard Shortcuts
| Shortcut Group | Shortcut | Action |
|---|
| Main window | F5 | Refresh current readings. |
| Main window | F3 | Find a reading across all categories. Type to narrow results, Tab to the list, Enter to choose, Esc to close, or Alt+L to clear. |
| Main window | F4 | Review the selected reading or tree branch in a read-only text box. |
| Main window | Enter | Open Details for the selected reading when extra details are available. |
| Main window | Alt+Enter | Open a related Windows Settings page or task file location for the selected reading when one is available. |
| Main window | Ctrl+C | Copy the selected reading or tree branch. |
| Main window | Ctrl+Shift+C | Copy value only: copy the selected reading value without the reading name. On a branch, copies one value per reading. |
| Main window | F2 | Rename the selected fan reading, edit the selected spoken label in Preferences, or jump to the fan label field in Fan Controls. |
| Main window | Del | Hide the selected reading or tree branch. |
| Main window | Ctrl+Shift+H | Add the selected reading to notification area status or a spoken hotkey profile, remove it again, or create a spoken hotkey profile from the same dialog. |
| Main window | Ctrl+Shift+G | Add or remove the selected reading from the optional reading history CSV log. |
| Main window | Ctrl+Shift+Right / Ctrl+Shift+Left | Expand or collapse the full reading tree for the current category. |
| Main window | Ctrl+0 to Ctrl+9 | Switch directly to the first ten visible reading categories in your configured category order. |
| Main window | Ctrl+Shift+0 to Ctrl+Shift+9 | Switch directly to categories 10 through 19 when your visible category list is longer than ten items. |
| Main window | Ctrl+Z | Undo the last reading or category hide action. |
| Main window | Ctrl+Y | Redo the last hide action after undoing it. |
| File commands | Ctrl+S | Save a report. |
| File commands | Ctrl+O | Open a saved Sensor Readout report as a static view. |
| File commands | Ctrl+Shift+M | Compare two saved Sensor Readout reports. |
| Options commands | Ctrl+Shift+W | Start or stop watching one running process in the background, then save a resource report when stopped. |
| Process watcher list | Alt+Enter | Open the selected process's file location when Windows provides an available executable path. Enter still starts the configured watch. |
| Options commands | Ctrl+Shift+D | Start the Audio Latency diagnostic setup, or stop the active test and save its HTML report. |
| Options commands | Ctrl+Shift+T | Open Network Tools to look up an IP address or host name, optionally test ping latency and packet loss, and review public network information. |
| Options commands | Ctrl+Shift+R | Open Remote computers to add, import, manage, or view remote Sensor Readout computers. |
| File commands | Ctrl+Shift+A | Save an anonymized report for sharing. |
| File commands | Ctrl+R | Return from a static report or remote computer to this computer's live readings. |
| File commands | Ctrl+E | Export selected settings and profiles to a transfer package. |
| File commands | Ctrl+Shift+E | Export a portable copy ZIP of the current app and settings. |
| File commands | Ctrl+I | Import selected settings and profiles from a transfer package. |
| File commands | Ctrl+Shift+I | Import a Plug-In ZIP. |
| File commands | Ctrl+Shift+O | Open the Reports folder. |
| File commands | Ctrl+Shift+L | Open the Logs folder. |
| Tools and help | Ctrl+L | Open fan controls. |
| Tools and help | Ctrl+U | Open fan curves. |
| Tools and help | Ctrl+, | Open Preferences. |
| Tools and help | F1 | Open help for the focused control in the main window or a Sensor Readout dialog. |
| Control help | Escape | Close help and return focus to the original control without changing field values. |
| Tools and help | Shift+F1 | Check GitHub Releases for a newer version, check PawnIO, and offer update installation when available. If quiet update installs are enabled, an available update installs without showing release notes first. |
| Tools and help | Ctrl+F1 | Open the project page. |
| Tools and help | Alt+F1 | Run diagnostics and create a support ZIP. |
| Fan controls dialog | Esc | Close the Fan Controls dialog. |
| Fan controls dialog | Alt+L | Save the label for the selected fan control. |
| Fan controls dialog | Alt+M | Apply the manual percentage to the selected fan control. |
| Fan controls dialog | Alt+A | Return the selected fan control to automatic/default. |
| Fan controls dialog | Alt+R | Return all fan controls to automatic/default. |
| Fan controls dialog | Alt+7 | Set all visible fan controls to 75%. |
| Fan controls dialog | Alt+X | Set all visible fan controls to maximum. |
| Fan controls dialog | Alt+S | Show or hide stopped fan headers. |
| Fan controls dialog | Alt+P | Pause automatic updates. |
| Details dialog | Ctrl+M | Copy only detail lines matching search text. |
| Details dialog | Ctrl+C / Ctrl+Shift+C | Copy the selected Details branch, or copy value-only lines from the selected branch. |
| Details dialog | F3 / F4 | Find within Details, or review the selected Details branch in a read-only text box. |
| Details dialog | Ctrl+Shift+Right / Ctrl+Shift+Left | Expand or collapse all Details groups. |
| Preferences | Ctrl+1 to Ctrl+0 | Jump to General, Startup and Install, Hotkeys, Spoken and visual feedback, Fan profiles, Alarms, Plug-Ins, Categories, Hidden items, or Language editor. |
| Preferences | F3 | Find a reading or fan control before adding it to notification area status, a spoken hotkey, or a fan profile. |
| Preferences | F2 | Jump to the name or rename field where applicable. |
| Preferences > Hotkeys | Ctrl+C, Ctrl+X, Ctrl+V | Copy, cut, or paste the selected reading between notification area status and spoken hotkey profiles. |
| Preferences | Enter | Jump to the main value field where applicable. |
| Preferences | Ctrl+Right | Add the selected available reading to notification area status or the selected spoken hotkey profile. |
| Preferences | Ctrl+Left | Remove the selected notification-area or spoken-hotkey reading. |
| Preferences | Ctrl+Up / Ctrl+Down | Move the selected notification-area reading, spoken-hotkey reading, fan-profile action, or main category earlier or later. |
| Preferences | Alt+I | In Startup and Install, install to this PC. |
| Preferences | Alt+U | In Startup and Install, uninstall from this PC when running from the installed copy. |
| Preferences | Alt+I | In Plug-Ins, import a plug-in ZIP. |
| Preferences | Alt+N | In Hotkeys, create a new spoken hotkey profile. |
| Preferences | Alt+I | In Hotkeys, import spoken hotkey profiles from another machine config. |
| Preferences | Alt+P | In Hotkeys or Alarms, open presets. |
| Preferences | Alt+R | In Hotkeys, remove the selected spoken hotkey profile. Notification area status is permanent and cannot be removed. |
| Preferences | Alt+A | In Hotkeys, add the selected reading to notification area status or the selected spoken hotkey profile. |
| Preferences | Alt+M | In Hotkeys, remove the selected reading from notification area status or the selected spoken hotkey profile. |
| Preferences > Hotkeys | Ctrl+Up / Ctrl+Down | Move the selected notification-area or spoken-hotkey reading up or down. |
| Preferences | Alt+D | Reset the selected spoken label to default. |
| Preferences | Delete | Remove the selected notification-area reading, spoken hotkey profile, spoken hotkey reading, or alarm where applicable. |
Command-Line Options
Sensor Readout can also be started with a few command-line options:
| Option | Action |
|---|
--minimized or --tray | Start minimized to the notification area. |
--close | Close any running Sensor Readout instance and exit. |
--report-txt [path] | Save a text report and exit. If no path is supplied, a timestamped report is created in the Reports folder. |
--report-html [path] | Save an HTML report and exit. If no path is supplied, a timestamped report is created in the Reports folder. |
--anonymized-report-txt [path] | Save an anonymized text report and exit. If no path is supplied, a timestamped report is created in the Reports folder. |
--anonymized-report-html [path] | Save an anonymized HTML report and exit. If no path is supplied, a timestamped report is created in the Reports folder. |
--anonymous-report-txt [path] | Alias for --anonymized-report-txt, intended for automated privacy checks. |
--anonymous-report-html [path] | Alias for --anonymized-report-html, intended for automated privacy checks. |
--compare-reports before after [output] | Compare two Sensor Readout reports and save the comparison text. If no output path is supplied, a timestamped comparison is created in the Reports folder. |
--diagnostics [path] | Run diagnostics, save a ZIP, and exit. If no path is supplied, a computer-named timestamped ZIP is created in the Reports folder. If a folder is supplied, the ZIP is created there. |
--diagnostics-quiet | Do not speak diagnostic progress or play diagnostic sounds when used with --diagnostics. |
--no-diagnostics-speech | Run command-line diagnostics without spoken progress, while keeping diagnostic sounds enabled if preferences allow them. |
--no-diagnostics-sounds | Run command-line diagnostics without start or completion sounds, while keeping spoken progress enabled if preferences allow it. |
--community-stats-json [path] | Write the allow-listed anonymous community stats payload and exit. This does not upload it. |
--apply-update --update-zip path --update-target folder --update-exe path | Install a local Sensor Readout update ZIP through the same updater used for online updates, useful for offline or managed copies. |
--install | Open the portable-copy install flow and preserve the current copy's settings, reports, logs, languages, sounds, data, docs, and plug-ins. |
--install-silent | Install or upgrade the signed package for the current user without prompts. This package-manager path does not start Sensor Readout or enable Windows startup. |
--uninstall | Open the installed-copy uninstall flow. Windows uses this when Sensor Readout is installed to this PC and removed from Apps and Features or Programs and Features. |
--uninstall-silent | Uninstall without prompts while preserving Config, Logs, and Reports. This package-manager path does not delete saved user data. |
| --log off|error|normal|debug | Set the logging level before continuing. |
Preferences
Use Options > Preferences or Ctrl+, to configure Sensor Readout. The dialog remembers the tab you used last during the current session. Press Esc or the Close button to leave Preferences.
General (Ctrl+1)
The General tab controls the main reading experience.
- Language: choose one of the installed language files. The interface refreshes immediately after a language change.
- Automatic refresh: turn background refresh on or off.
- Refresh while Sensor Readout has focus: choose whether readings continue updating while you are navigating the main window.
- Refresh interval: set the normal refresh interval in seconds.
- Show status in notification area: show or hide the tray icon and its tooltip.
- Show as many readings as possible in notification area tooltip: use the longer Windows tooltip text where available; turn this off if you prefer long tray tooltips to show only
Sensor Readout.
- Show/hide hotkey: configured from the Hotkeys tab, with a shortcut button here for convenience. It toggles the main window from anywhere and is especially useful if you start minimized or Windows hides the notification-area icon.
- Reading tree expansion: choose whether categories open expanded, open collapsed, or follow your most recent expand/collapse action when switching categories.
- Temperature unit: choose Celsius, Fahrenheit, Celsius then Fahrenheit, or Fahrenheit then Celsius.
- Memory and GPU memory units, storage size units, and transfer units: use the classic 1024 scale with KB/MB/GB labels, switch to binary IEC 1024-scale labels such as KiB/MiB/GiB, or use decimal SI 1000-scale sizing separately for each kind of value.
- Decimal separator: use the language default, period, or comma.
- Logging level: Off, Error, Normal, or Debug.
- Update checks: choose whether Sensor Readout checks GitHub Releases at startup, hourly, every 6 or 12 hours, daily, weekly, or never.
- Quiet update installs: download, install, close, and reopen automatically when an update is available. Normal update installs ask before closing unless you clear that confirmation from the update prompt or turn it off in
Hidden items. Use Help > Version history... to review the latest release notes later.
- Notification area items: choose up to eight readings for the tray tooltip and spoken tray status.
When notification area status is enabled, minimizing Sensor Readout hides it from the taskbar and Alt+Tab list. Open it again from the notification area icon. Alt+F4 exits the app completely.
Notification area readings are selected from an Available readings list and moved into a Tray order list. A reading appears in only one list at a time. Use Add, Remove, Up, and Down, or Ctrl+Right, Ctrl+Left, and Ctrl+Up / Ctrl+Down, to choose exactly which readings appear first. Available readings are listed as device first, then reading name and category, such as Ethernet - Rx: Network, so type-ahead can jump to a device name. Sensor Readout uses shortened tray labels such as CPU, GPU, Rx, and Tx.
The notification-area badge uses shape, symbols, and colour together so its state does not depend on colour recognition alone. A circle represents normal or active readings, an amber clipped badge marks caution, and a red octagonal badge marks a critical reading. A square X means disconnected or offline, a double-ring -- means unavailable, and a square || means updates are paused. SMART status uses purple, normal temperature or healthy status uses green, and active CPU or GPU use uses blue. The first configured reading normally supplies the displayed value, but a caution, critical, or disconnected reading elsewhere in the selected tray items can take priority so an important state is not hidden.
Startup and Install (Ctrl+2)
The Startup and Install tab controls installation plus what happens when Sensor Readout starts and exits.
Run at Windows startup shows whether this program location is registered with Windows, not a choice inherited from a copied configuration. To switch startup to another copy, explicitly enable it there. Changing unrelated preferences does not switch the startup location.
- Install to this PC: copy the current portable folder to the Windows programs folder for this user, optionally create a desktop shortcut and enable Windows startup, close the current copy, and start the installed copy.
- Uninstall from this PC: when running from the installed copy, remove the installed app files and shortcuts. The uninstall dialog can also remove
Config, Logs, and Reports when you want a complete cleanup.
- Run at Windows startup: create or remove a Windows logon task for the current user. Sensor Readout uses a scheduled task so it can start reliably with the administrator rights it needs for hardware access.
- Create desktop shortcut: create or remove a
Sensor Readout.lnk shortcut on the desktop.
- Start minimized to notification area: open directly to the tray instead of showing the main window.
- Startup speech: choose whether Sensor Readout speaks when it starts and edit the spoken message.
- Startup and shutdown sounds: choose WAV files from the
Sounds folder.
- Diagnostics feedback: choose whether diagnostics speak progress and play start/completion sounds.
The install flow is for people who started from a portable or synced folder but want Sensor Readout in the normal programs location on this PC. It copies the app and existing settings, reports, logs, language files, sounds, data, docs, and plug-ins. During installation, you can choose whether to add a desktop shortcut and whether Sensor Readout should run at Windows startup. If Run at Windows startup is enabled, Sensor Readout creates a Windows logon task for the installed copy. You can start the same flow from Preferences, by running Install_Scripts\Install-Sensor-Readout.cmd, or with Sensor Readout.exe --install.
The WinGet package uses the signed unattended install path instead. It installs only for the current user, creates Start menu and desktop shortcuts on first install, does not enable Windows startup, and does not launch the app unexpectedly. Upgrades preserve the existing installation's settings, reports, logs, custom languages, sounds, plug-ins, shortcut choice, and startup choice. winget uninstall --id OnjLouis.SensorReadout -e removes the app and its registrations without prompts while retaining Config, Logs, and Reports for a later reinstall.
Installed copies also appear in Windows Apps and Features / Programs and Features for the current user. Removing Sensor Readout from there opens the same uninstall flow as the Startup and Install tab, including the choice to keep or delete Config, Logs, and Reports. Portable copies are not listed there unless you choose Install to this PC.
If startup is enabled, Sensor Readout also enables start-minimized behavior so configured tray readings are available after sign-in without leaving the main window in Alt+Tab.
If Sensor Readout restarts after install or update and the main window does not appear, check whether Start minimized to notification area is enabled. Windows may also hide the tray icon until you allow it in Windows notification area or system tray settings. Showing the Sensor Readout tray icon lets you open the main window from that icon.
Hotkeys (Ctrl+3)
The Hotkeys tab controls notification-area speech and spoken hotkey profiles. Spoken hotkey profiles are sorted by assigned key, with unassigned profiles after assigned profiles.
- Notification area status: choose the readings used by the tray tooltip and the speak-tray hotkey. This is a permanent profile, so it stays available even if you remove every extra spoken hotkey profile.
- Speak notification area status hotkey: speak the configured notification-area readings.
- Include device names in spoken feedback: choose between fuller output such as
Ethernet Rx and shorter output such as Rx.
- Skip unavailable readings when speaking notification area status: omit configured tray readings that are missing, disconnected, down, offline, unavailable, disabled, or in an inactive group.
- Double-press copy timeout: copy the same spoken output to the clipboard when a speech hotkey is pressed twice quickly.
- A held global hotkey triggers once. Release it before pressing it again; holding it does not repeat speech, actions, or the double-press clipboard gesture.
- Spoken hotkey profiles: create extra global hotkeys, each with its own name, key combination, and ordered reading list.
- Spoken hotkey presets: create starter profiles with useful reading groups such as system status, memory status, C drive activity, Tasks summary, network, GPU, battery, or cooling readings. Presets are created without key assignments, so assign the key you want before using them. Use
Alt+P for Presets here and in the Alarms tab.
- Spoken labels: rename selected readings for shorter speech, such as changing
Receive rate to Rx.
- Copy, cut, and paste readings: use
Ctrl+C, Ctrl+X, and Ctrl+V, or the matching buttons, to copy readings between notification area status and spoken hotkey profiles without rebuilding each list from scratch.
- Import spoken hotkeys: Sensor Readout keeps drive letters exact and cautiously matches equivalent CPU, GPU, memory, battery, network, system, task, and other portable readings when the source computer uses different hardware names. The same matching is used while viewing loaded reports and remote computers. Custom spoken labels follow matched readings, while ambiguous choices remain unavailable instead of being guessed.
Spoken hotkey profiles can be imported from another machine's Config\.json. Imported profiles do not keep their old key assignments, so they cannot steal keys already used on the current machine. Readings are kept only when Sensor Readout can match them safely on the current computer.
Each spoken hotkey profile also has Skip unavailable readings for this hotkey, so one profile can stay strict while another profile only announces active readings such as connected drives or adapters that are currently up.
Spoken and Visual Feedback (Ctrl+4)
The Spoken and visual feedback tab controls routine category speech and optional visual output for spoken hotkeys.
- Category speech: choose full category guidance, brief category-and-shortcut announcements, or off.
- Speak categories through Windows speech when no screen reader is detected: lets sighted or partially sighted users opt into category-change speech from Windows speech. That fallback speech interrupts itself so rapid category movement does not queue old messages.
- Show visual spoken hotkey feedback: show spoken hotkey output in a temporary floating Sensor Readout window even when a screen reader is running.
- Visual feedback placement and timeout: choose where the floating feedback window appears and how long it stays visible.
Fan Profiles (Ctrl+5)
The Fan profiles tab builds named groups of fan actions. The layout matches the Hotkeys tab: create a profile, assign an optional global hotkey, add fan controls to the profile, then choose whether each fan should be set to a manual percentage or returned to automatic/default control.
Fan profiles can be toggles. With that option enabled, pressing the profile hotkey once applies the profile, and pressing the same hotkey again returns those fans to automatic/default control. Each profile can speak a custom message and/or play a chosen sound when it is applied.
Alarms (Ctrl+6)
The Alarms tab lets you monitor readings without watching the main window.
- Use
Presets... to add common alarms for available readings, such as low battery, Wi-Fi disconnect, weak Wi-Fi signal, high CPU or GPU temperature, disk health warnings, C drive free space or activity, or printer problems.
- Choose a reading.
- Choose Above or equal, Below or equal, or Equal.
- Set the threshold and unit.
- Leave
Repeat after cooldown unchecked for a warning once until the condition clears, or check it for recurring reminders. The cooldown is the minimum time between warnings in either mode.
- Choose whether the alarm speaks, plays a sound, or both. If you want speech text that differs from the alarm name and reading value, enter a custom spoken message.
Alarms are best for values that naturally change, such as temperature, fan speed, CPU load, disk activity, battery charge, or network speed. Static information such as BIOS version is usually not useful as an alarm.
Plug-Ins (Ctrl+7)
The Plug-Ins tab lists installed hardware plug-ins and describes what each one does. Plug-ins are trusted code, so only enable plug-ins from people or projects you trust. Imported plug-in ZIP files are copied into the Plug-Ins folder but stay disabled until you enable them yourself.
Categories (Ctrl+8)
The Categories tab controls which main categories appear in the left section list and the order they use. Checked categories are visible. Clear a checkbox or press Delete to hide a category, and use Up, Down, Ctrl+Up, Ctrl+Down, or mouse drag-and-drop to change the order. After a move, Sensor Readout reports which neighbouring item the selection moved above or below; the Category speech setting controls whether that feedback is Full, Brief, or Off. The main-window shortcuts follow this same order: Ctrl+0 through Ctrl+9 select the first ten visible categories, and Ctrl+Shift+0 through Ctrl+Shift+9 select categories 10 through 19.
Main categories stay visible unless you hide them yourself, even when the current system has no readings for that category. Empty categories show their current availability; F1 explains category controls.
You can also manage categories directly from the main category list. Press Delete to hide the selected category, Ctrl+Up or Ctrl+Down to move it, or press the Application key/right-click for the category context menu. When the category list has focus, the status line and screen-reader output include the shortcut for the selected category.
Hidden Items (Ctrl+9)
The Hidden items tab restores readings or categories hidden from the main window. Checked items are hidden. Clear a checkbox to make that item visible again. It also includes confirmation preferences for update installs, spoken hotkey profile removal, and fan profile removal, so you can bring those safety prompts back after choosing not to show them again.
Language Editor (Ctrl+0)
The Language editor tab edits installed language files without opening a separate text editor. English is the primary fallback language. Missing translated strings fall back to English, and corrupt language files are skipped rather than crashing the app.
Alarms And Sounds
Preferences > Alarms lets you create reading alarms. Choose a reading, set Above or equal, Below or equal, or Equal, then choose the threshold and cooldown. Each alarm can speak through the active screen reader, play a WAV file, or both. The spoken message field is optional; leave it blank to speak the alarm name, reading, and current value automatically.
Leave Repeat after cooldown unchecked for one warning while a condition remains active, such as low disk health or long uptime. Further deterioration does not produce another warning in this mode. A valid reading outside the alarm condition re-arms it; missing or invalid readings do not. The cooldown remains the minimum time between warnings, including after recovery. Check the option for recurring reminders while the condition persists. New alarms and presets default to one-time warnings; existing and imported alarms retain their saved choice. Restarting Sensor Readout, changing an alarm, or disabling and re-enabling it allows a fresh warning. Alarms use this computer's readings, not readings from an opened report or remote view.
The Presets... button offers practical starter alarms when matching readings exist on the current machine. Presets start unchecked so you can choose only the ones you want. Check the threshold, sound, and cooldown before relying on them.
Preferences > Startup and Install includes optional startup and shutdown sound choices. Sensor Readout loads WAV files from the Sounds folder. The bundled sounds use neutral names such as SR01.wav, SR02.wav, and so on, but user-added sounds can use any normal .wav file name. Any sound in the folder can be selected anywhere Sensor Readout offers a sound, including alarms, startup or shutdown, diagnostics, update alerts, and fan profile actions.
Plug-Ins
Preferences > Plug-Ins lists installed hardware plug-ins and describes what each one does. Plug-ins are trusted code, so only enable plug-ins from people or projects you trust.
Installed plug-ins are disabled by default. Importing a plug-in ZIP copies it into the Plug-Ins folder but still leaves it disabled until you check it yourself.
When an enabled plug-in includes related support pages, those links appear in the Help menu. Bundled laptop plug-ins can show links such as:
- Dell Command | Monitor.
- G-Helper.
- HP Support Assistant.
- Huawei PC Manager.
- OMEN Gaming Hub.
- Lenovo Vantage.
- Lenovo System Update.
- Framework BIOS and Drivers.
- Framework Control.
Experimental laptop plug-ins are also bundled for opt-in tester feedback. They are disabled by default:
- HP Hardware Support is read-only and is aimed at HP, OMEN, and Victus tester diagnostics.
- Dell Latitude Support is read-only and is aimed at Dell Latitude tester diagnostics.
- Huawei MateBook Support is read-only and can expose live fan RPM on supported Huawei laptops when Huawei PC Manager's local hardware SDK is installed.
- Lenovo Laptop Support is read-only and probes Lenovo fan WMI, Windows fan, ACPI fan presence, ACPI thermal zones, ACPI battery data, IdeaPad battery information, thermal throttle state, storage health, Lenovo thermal drivers, and Lenovo WMI interfaces.
- MSI Laptop Support can expose MSI ACPI fan-table controls on compatible models after the user enables it.
- Asus ROG Support is based in part on G-Helper ACPI research and can expose ASUS WMI/ATKACPI fan tachometer and temperature data where available. Fan controls appear only on compatible ROG, TUF, Zephyrus, Strix, Scar, and Flow gaming laptop families; other ASUS systems remain read-only.
- Corsair iCUE Link and PSU Support is a bundled, opt-in plug-in for supported iCUE LINK Hub cooling devices and HXi/RMi digital power supplies. It shows pump and fan speeds, liquid or device temperatures, PSU temperatures, fan speed, input voltage, and output power, and can control supported hub and PSU fans. Close Corsair iCUE before enabling it because iCUE does not use the shared Corsair device guard. Monitoring alongside HWiNFO or Fan Control is safe, but only one program should drive the fans. The plug-in writes nothing until you use a fan control, never drives pump channels below 50 percent, and returns the hub and PSU fan to automatic control when Sensor Readout closes. A short grace period protects active cooling when the shared plug-in manager reloads. If a manual setting or fan curve was active, Sensor Readout remembers that control state across restarts and app updates without storing fan percentages in the plug-in folder.
For developers, the GitHub source tree includes Docs\Plug-In-development.md.
Categories and Readings
Storage shows the file system and volume type for ready local drives, plus persistent mapped network drives with connection status, provider, remote location, and capacity when Windows exposes it. Mapped means Windows has stored the persistent mapping but has not exposed a reliable live connection state to Sensor Readout. SMART and Details can expose Windows disk, partition, and volume metadata such as partition style and count, allocation, sector sizes, firmware, serial number, health, access paths, and hidden or recovery partitions. For unmounted partitions, Sensor Readout can identify APFS and EXT2/EXT3/EXT4 and read limited container or superblock metadata when Windows permits read-only raw access. It does not mount those file systems, change disks, or inspect file contents; APFS support is currently container-level rather than a replacement for macOS Disk Utility.
The readings pane is a tree view. Choose a category from the list on the left, then press Tab to move into that category's readings on the right. Categories group readings by device or purpose first, then list individual readings underneath, so screen readers do not have to announce a long device name before every value.
The category list is configurable. Use Options > Preferences > Categories to choose which categories appear and in what order, or use Delete, Ctrl+Up, Ctrl+Down, and the category context menu directly from the main category list. Reordering categories and ordered lists in Preferences reports the item moved above or below, using the Full, Brief, or Off Category speech setting. Category shortcuts follow your visible order: Ctrl+0 through Ctrl+9 select the first ten visible categories, and Ctrl+Shift+0 through Ctrl+Shift+9 select categories 10 through 19.
Each category starts with a Category summary row. Open Details on that row to see a compact count of groups, readings, numeric values, rows with Details, and section-specific items such as non-working devices or storage health rows.
Use the left section list to move between broad areas. This changes the view only; it does not enable, disable, or permanently select devices.
Sensor Readout opens on Performance/Overview by default. There is no combined all-readings page; each reading belongs to its own section so navigation stays predictable and device names are not repeated endlessly.
If a category has no visible readings, Sensor Readout now gives a category-specific hint instead of a generic blank tree. Depending on the section, it may suggest refreshing, connecting hardware, enabling a plug-in, checking hidden items, or waiting for slow Windows-backed inventory data.
The Performance section summarizes live system counters and storage activity. It groups CPU usage with CPU model, vendor, core/thread count, clock, socket, architecture, instruction sets such as SSE and AVX, and virtualization information, then groups memory and storage activity by device. NVMe drives can show an NVMe link row such as PCIe Gen 4 x4 current; PCIe Gen 4 x4 maximum when Windows exposes a matching NVMe controller and PCIe link data. SATA drives can show a SATA connection row with Windows Storage location or port information, and current/maximum SATA generation when Windows exposes ATA identify link data.
Windows reports hardware virtual-machine memory translation as SLAT. Intel documentation often calls the same class of feature EPT, while AMD documentation often calls it NPT or RVI. Sensor Readout spells this out as CPU hardware VM memory translation (SLAT/EPT/NPT) so the reading is less cryptic.
The Network section shows each adapter under one common tree, including status, IP address, link speed, send and receive rates, and total traffic counters. Wi-Fi adapters can also show connection state, network name, access point, signal strength, RSSI in dBm, channel, current channel width, frequency, radio type, receive/transmit link speeds, and security details where Windows provides them. Wi-Fi rows use concise labels inside the adapter tree instead of repeating Wi-Fi before every item. Network also includes a passive local listening-port summary from Windows, with endpoint Details that can identify the owning process where Windows exposes it, plus public IP lookup rows for country, region, city, coordinates, provider, autonomous system, and connection type where the online lookup provider returns them. A combined Public IP summary reading can be added to notification area status or a spoken hotkey, so one reading can speak the public-IP fields returned by the provider. Public IP location data is approximate; use Refresh Now or F5 to request a fresh public-IP lookup if the online provider changes its result. Wi-Fi connection state, signal, RSSI, channel, channel width, frequency, and link speeds can be used in notification area status, spoken hotkeys, and alarms where numeric thresholds make sense.
The Bluetooth section shows Windows-exposed Bluetooth radios and paired or connected Bluetooth devices. Adapter rows can include address, type, services, manufacturer, and LMP subversion. Device rows can include connection state, paired/remembered state, device address, type, services, and last seen or last used timestamps. Bluetooth device battery percentages remain in the Battery section when Windows exposes them, because those readings behave like battery readings and can already be used in spoken hotkeys, notification-area status, and alarms. Sensor Readout does not invent Bluetooth signal strength; classic Windows Bluetooth APIs do not expose reliable live RSSI/dBm for ordinary paired devices in the same way Windows exposes Wi-Fi RSSI.
The Tasks section shows a small current-activity summary and a read-only running-process list rather than a full task manager. It can show the process currently using the most CPU, the most memory, the most GPU engine time, and the most GPU process memory where Windows exposes those counters. These summary rows can be added to notification-area status or spoken hotkeys, but Sensor Readout does not create a hotkey candidate for every running process. The running-process list uses the same friendly context as the process watcher, such as window title, start time, helper-process role, and parent process where Windows exposes those fields. Press Enter on a process for details, use Alt+Enter or the context menu to open its file location when available, or choose Watch process from the process row's context menu to start a background watch with your saved watch options. If those saved options include a timed watch, Sensor Readout says how long it will watch for; if the duration is zero, it watches until you stop it. Normal reports can include Tasks rows for troubleshooting. Anonymized reports remove Tasks rows because process names can reveal program usage.
Use Options > Watch process... or Ctrl+Shift+W when you want to monitor one running app for a short period. Choose a process, output format, and optional duration, then start watching. The process list includes extra context such as window title, start time, helper-process role, and parent process where Windows exposes those fields, helping distinguish apps that run several same-named processes. The dialog closes and Sensor Readout samples in the background so you can use the PC normally. Press Ctrl+Shift+W again, or use Options > Stop process watch, to stop and save the report automatically in the Reports folder. Timed watches also save automatically when the duration ends. HTML is the default because it gives screen-reader users structured tables; CSV is available when you want raw samples for a spreadsheet. Sensor Readout remembers your last watch duration, format, completion speech, and sound choices for the next watch.
In the watcher process list, Alt+Enter or Open file location... from the context menu opens the selected executable's location when available. This does not start a watch or run the executable. Plain Enter starts the configured watch; unlike Enter on a Tasks process row, it does not open Details.
When you start watching from a Tasks process row, Sensor Readout uses those remembered watch settings immediately. This is useful when you repeatedly use the same watch format or duration. If you want to change the duration, report format, completion speech, or completion sound first, open Options > Watch process... instead and start the watch from that dialog.
This is intended for support and optimization conversations, such as checking whether an app's memory grows over time. It records resource counters only; it does not inspect app contents, keystrokes, file contents, registry contents, or network payloads. Saved process watch reports may include the selected process name and executable path.
The Spoken Hotkeys section mirrors the notification-area status and each spoken hotkey profile in the main tree, so sighted users can review what those hotkeys currently contain. Hiding a row from this section only hides the mirror row in the tree; it does not remove the reading from the actual spoken hotkey or notification-area status profile.
The USB section shows connected devices, hubs, controllers, connection speed, capable speed where Windows exposes it, requested power, drive letters, safe-to-unplug status, USB network adapter MAC address/OUI vendor and storage hardware ID/OUI vendor where available, and other copyable details. USB data is partly dependent on what Windows and the device driver expose, so some devices may report less detail than others.
The Audio section groups related endpoints under their device or interface name where possible, then separates playback and recording entries. It shows vendor, status, direction, and default format details such as channels, sample rate, and bit depth where Windows exposes them.
The Display section shows graphics adapters and monitors, including adapter memory, resolution, refresh rate, driver details, monitor vendor, product code, serial, and manufacture date where Windows exposes them.
The Firmware Security section is read-only. It shows firmware mode, Secure Boot state, and, on UEFI systems where Windows permits access, summary information about Secure Boot certificate databases such as readable database count, certificate/hash counts, earliest certificate expiry, expired certificates, not-yet-valid certificates, and possible test certificates. Details group the certificate subjects, issuers, validity dates, thumbprints, serial numbers, and database read errors. Sensor Readout does not modify Secure Boot variables or EFI files.
When the selected reading is a percentage, Sensor Readout also exposes it through the progress bar below the tree. This is useful visually and lets screen readers use their existing progress bar feedback without navigating many separate progress controls.
Use Edit > Find reading... or F3 to search readings across all categories. The search narrows as you type. Tab to the results list, press Enter to move to the selected reading, press Alt+L to clear the search, or press Esc or Close to return to the main window. Search checks visible reading text first, then details such as process role, executable path, parent process, device identifiers, and other detail fields, so a support clue that is not visible in the main tree can still be found.
Use the Edit menu, Application key, or right-click on a reading or group to copy it, review the exact text in a read-only edit box, open Details where available, open a related Windows Settings page or task file location where available, rename a fan, or hide it. In Details, Copy matching... or Ctrl+M asks for search text and copies only matching lines from the detailed tree. When a related Windows Settings page is known, the main window offers Alt+Enter and Details offers Open Windows setting...; this appears only for safe local Windows Settings pages such as accessibility, Bluetooth, printers, USB, sound, display, network, storage, battery/power, startup apps, and Windows Update. When a Tasks row has an executable path, the same flow offers Open file location.... Hidden items can be restored from Options > Preferences > Hidden items; checked items in that tab are hidden.
Remote Monitoring
Use Options > Remote computers... or Ctrl+Shift+R to add or import a Sensor Readout Server connection, enable it, and choose whether this computer shares its readings. Importing a .srconnection file supplies the server address and access token automatically; enter only a friendly connection name and the same monitoring password used by the other computers. Computers using the same server access token and monitoring password appear in the Computers list. Choose View computer to open its live readings in the normal Sensor Readout categories and tree. F3 search, F4 review, Details, copying, and report export continue to work. The title bar, status line, and spoken-hotkey output identify the computer as remote.
Remote sharing includes the complete collected reading set even when a category or reading is hidden on the source computer. Hiding is a local viewing preference: the receiving computer applies its own hidden-item and category choices. Expanded and collapsed branches remain as the viewing user leaves them while remote values refresh.
On Windows, check Host this computer to start the encrypted relay inside Sensor Readout; uncheck it to stop hosting. Choose a listening port and a monitoring password of at least eight characters, then save a .srconnection file for the other computers. When saving, choose a detected LAN or VPN address or type the complete DNS, private-network, public, or reverse-proxy address and port that those computers will actually use. Loopback and wildcard addresses are refused because another computer cannot reach them. The listening address and exported address may differ when a VPN, router port-forward, or reverse proxy is involved. Both host and connection dialogs can generate a strong random monitoring password, fill the protected field, and copy it for transfer to the other computers; it is never stored in the connection file or logs. Sensor Readout creates its own inbound Windows Firewall rule for that TCP port on private and domain networks, updates it when the port changes, and removes it when hosting is disabled or the installed app is uninstalled. For an always-on Linux host, download the separate SensorReadout-Server-.zip release asset. Its accessible HTML manual provides copyable commands, and sudo python3 sensor_readout_server_control.py install opens a guided private-network or HTTPS setup and creates the connection file automatically.
Managed Linux installations check daily for verified server updates by default. Run sudo sensor-readout-server-control setup at any time to review the listening address and port, reachable client URL, request timeout, inactive-computer retention, server access token, and automatic-update choice. Changes restart and health-check the service, with the previous settings restored if the new configuration does not start correctly. The server follows its own stable server-vX.Y.Z release channel and accepts only the exact SensorReadout-Server-X.Y.Z.zip asset with matching SHA-256 verification and a valid Sensor Readout RSA signature; ordinary Windows Sensor Readout releases are ignored. The Windows app enforces the same independent signature check on its own vX.Y.Z archive, so neither component can install the other's update and altered packages are refused before files are replaced. The monitoring password remains client-side and cannot be viewed or changed by server setup.
To test Remote Monitoring without running a server, download the Sensor Readout public test connection. Installed copies can open the downloaded .srconnection file directly; portable copies can use Ctrl+O. Choose your own monitoring password and use it only on the computers you want to connect. The public relay uses HTTPS, cannot read the encrypted sensor values or computer names, and removes inactive encrypted data periodically; it is a test and remote-access service, not permanent storage or backup.
The first upload is a complete encrypted snapshot. Later uploads normally contain only encrypted changes, reducing traffic while keeping the remote view current. Sequence numbers detect missing changes; after an interruption, Sensor Readout reconnects and requests a complete snapshot when necessary. Use File > Return to this computer or Ctrl+R to leave remote view. Diagnostics and community stats always return to this computer first so they cannot accidentally describe a remote machine.
The monitoring password never leaves a Sensor Readout client. It selects the private monitoring space and derives separate encryption and authentication keys. The relay stores only opaque encrypted blobs, random identifiers, revisions, and timestamps; it does not receive readable sensor rows or computer names. A .srconnection file contains the server address and access token, but never the monitoring password, so treat it as a server credential. Anyone who has both the connection file and monitoring password can read that monitoring space. Each publishing computer also keeps its own private write credential; the relay stores only its hash, preventing another computer in the same space from replacing that computer's data. Plain HTTP is suitable only for a trusted local network or protected private network such as a VPN. Use HTTPS through a reverse proxy before exposing a relay to the public Internet.
Only the publishing computer can stop sharing and remove its own stored encrypted entry from the relay. Select that computer and use Remove this computer from server or press Delete. Viewers cannot remove another computer, even when they have the shared connection file and monitoring password. Remote fan control is off by default. If Allow this server to run saved fan profiles on this computer is enabled, another authenticated client may request only a saved profile that this computer has advertised. The target computer checks that the permission and profile still exist before applying the newest valid request; arbitrary percentages, hardware identifiers, and unsaved controls are not accepted.
The relay keeps one encrypted checkpoint so computers remain visible across server restarts and while publishers are temporarily offline. Frequent encrypted changes stay in bounded memory instead of becoming individual disk files. Activity metadata is persisted no more than hourly, and the publishing client periodically replaces the checkpoint with a fresh complete snapshot. If a relay stops unexpectedly, the client detects any missing in-memory changes and automatically resynchronizes. This keeps recovery reliable while greatly reducing writes on Raspberry Pi microSD cards and other flash storage.
Use Options > Network tools... or Ctrl+Shift+T to look up an IP address or host name. Sensor Readout resolves DNS, classifies IPv4 and IPv6 addresses, attempts reverse DNS, and can send four ping requests to show latency and packet loss. When you enter a literal IP address and reverse DNS returns a host name, Sensor Readout also resolves that name and lists its related IPv4 and IPv6 addresses in a separate branch. For each resolved public address, it can show provider, organization, autonomous system, connection type, and approximate location inside that address's branch, using the same online lookup service as the Network category.
Network Tools runs only when you request it. Private, local, loopback, link-local, and special-use addresses are not sent to the online metadata service. It does not test connection speed, scan ports, poll in the background, or keep a query history. A missing ping reply does not prove that a host is offline because some systems and networks block ping.
Audio Latency Diagnostic
The Audio Latency section shows the latest explicitly started latency test. Use Options > Audio latency diagnostic... or Ctrl+Shift+D, choose a duration, then reproduce the dropout, crackle, delayed response, or other audio problem. Sensor Readout records Windows DPC and interrupt-service-routine durations, driver attribution, hard page faults by process, and lost tracing events. Its optional live monitor shows separate DPC and ISR history graphs, the latest one-second interval, recent 60-second peaks, and the entire test summary. It updates values in place once per second so keyboard and screen-reader focus remain stable.
The live monitor is modeless, so you can continue using Sensor Readout and other programs while the test runs. Closing it with Esc or Close only closes the view; it does not stop tracing. Reopen it with Options > Audio latency monitor.... Choose Stop and save or press Ctrl+Shift+D to finish the diagnostic and save its HTML report automatically in Reports.
No audio-latency tracing runs during ordinary Sensor Readout refreshes. The diagnostic starts only after you explicitly choose Start and stops at the selected duration, when you press Ctrl+Shift+D, or when Sensor Readout exits. The report contains timing counters, driver paths, and process names involved in hard page faults; it does not contain audio, keystrokes, file contents, or network contents. Because driver and process names can reveal installed software, Audio Latency rows are omitted from anonymized reports.
Fan Control Workflow
Open fan controls from Options > Fan controls... or press Ctrl+L.
- Choose a fan in the fan control target box.
- Optional: type a friendly label and press
Alt+L.
- Type a percentage from 0 to 100.
- Press
Alt+M to apply it to the selected fan.
- Press
Alt+A to return the selected fan to automatic/default.
- Press
Alt+R to return all visible fan controls to automatic/default.
The all-fan buttons apply only to visible fan controls. Stopped or unpopulated motherboard headers are hidden unless Show stopped is enabled.
Fan labels are saved in the machine-specific configuration file in Config. Labels only change friendly names shown in Sensor Readout.
Fan Curves
Open fan curves from Options > Fan curves..., press Ctrl+U, or open them from the Fan Controls dialog.
Each curve chooses one writable fan control and one temperature reading. Sensor Readout sets the fan to the low percentage at the low temperature, ramps between the low and high points, and uses the emergency percentage once the emergency temperature is reached. Fan curves depend on LibreHardwareMonitor exposing a writable control; if the hardware only exposes a fan RPM reading, Sensor Readout can read it but cannot control it.
Fan Profiles
Preferences > Fan profiles lets you build named groups of fan actions. The layout matches the Hotkeys tab: create a profile, assign an optional global hotkey, add fan controls to the profile, then choose whether each fan should be set to a manual percentage or returned to automatic/default control.
Fan profiles can also be marked as toggles. With that option enabled, pressing the profile hotkey once applies the profile, and pressing the same hotkey again returns the fans in that profile to automatic/default control.
Each fan profile can speak when it is applied, play a sound, both, or neither. The spoken message can be customized, and {0} is replaced with the profile name.
Useful examples:
- Everyday: set case fans to a quiet fixed percentage and leave the CPU fan on automatic.
- Gaming or rendering: set case, CPU, and GPU fan controls higher before starting a heavy workload.
- Reset to automatic: create one profile that returns every writable fan control to automatic/default control.
Fan profiles are machine-specific because fan control keys depend on the hardware in the current computer. New installs start with a few empty starter profiles, such as everyday use, heavier workloads, and reset to automatic. Add the fans that make sense on your machine, rename the profiles if needed, or delete the starters.
If a fan curve is enabled for the same fan, Sensor Readout temporarily pauses that curve while a manual fan action or profile controls the same fan. Returning the fan to automatic/default control resumes the curve.
Example Setups
- Quick status hotkey: create a spoken hotkey for CPU usage, CPU temperature, GPU temperature, and the most important network rates.
- Disk activity hotkey: create a spoken hotkey for read and write rates on the drives you care about most, then double-press it when you want the same values copied to the clipboard.
- Quiet desktop: use a fan curve for the CPU fan, a quiet fan profile for case fans, and an alarm that warns if CPU or GPU temperature rises above your chosen limit.
- Troubleshooting USB: open the USB category, press Enter on a device for details, select the useful fields, and copy them for sharing.
Diagnostics
Use Help > Run diagnostics... or press Alt+F1 when you need to collect support information. Sensor Readout creates a ZIP file in Reports with the computer name in the file name, opens the folder when finished, and removes the temporary staging folder after the ZIP is created.
The diagnostic ZIP contains a TXT report, an HTML report, a debug log, a diagnostic summary, and timing information. The run briefly tests writable fan controls at 100%, then restores each fan to the previous manual, automatic/default, or fan-curve state.
The diagnostic summary includes a support-readiness section with row counts, data sources, plug-in rows, rows with Details, fan-control rows, non-working devices, and empty key categories. This is meant to help support helpers quickly decide whether a report contains enough data before asking the user for another run.
Diagnostics can speak progress and play start/completion sounds. Configure this in Options > Preferences > Startup and Install. Command-line diagnostics use the same preferences unless you pass --diagnostics-quiet, --no-diagnostics-speech, or --no-diagnostics-sounds.
For unattended testing, run Sensor Readout.exe --diagnostics [path]. If [path] is a folder, the diagnostic ZIP is created there. If no path is supplied, Sensor Readout creates the ZIP in Reports.
Reports
Reports are useful in two different situations: keeping a snapshot of your own machine, or sending a snapshot to someone else so they can inspect it in Sensor Readout.
Audio Latency Reports
Audio latency reports are separate troubleshooting reports created by Options > Audio latency diagnostic... or Ctrl+Shift+D. Sensor Readout saves them automatically in the Reports folder when the test stops. Their accessible HTML tables summarize maximum DPC and ISR duration, event counts, responsible drivers, hard page faults by process, and any tracing events Windows could not retain. The optional live monitor provides a visual graph and accessible rolling tree while the same test is running; it does not start a second trace. Reproduce the real audio problem during the test, because a quiet test cannot explain a dropout that did not occur.
Microsoft's engineering guidance recommends keeping individual DPC routines below 100 microseconds and ISR routines below 25 microseconds. These values are useful context, not a simple pass/fail guarantee. Repeated high-duration drivers, hard page faults, lost events, and the audible symptom should be considered together.
Process Watch Reports
Process watch reports are separate support reports created by Options > Watch process.... They save automatically in the Reports folder when the watch stops. HTML reports summarize CPU, memory, GPU counters where available, handles, threads, and growth over the watch period in tables for easier navigation; CSV output keeps the raw samples for spreadsheet analysis. They are meant for developer or support conversations about a running app's resource use. They may include the selected process name and executable path, but they do not inspect private app contents.
Saving A Report
Press Ctrl+S or use File > Save report....
The save dialog offers:
TXT reports are a simplified reading and sharing format. They use clear # section headings for each category, keep the main reading tree separate from the longer Details data, and include a Sensor Readout download link near the top. HTML reports use formatted tables with sensor, value, and source columns.
The first save creates the Reports folder if it does not already exist. Use File > Open Reports folder or Ctrl+Shift+O to jump to saved reports, and use File > Open Logs folder or Ctrl+Shift+L when support needs the log folder. To share a report, send the saved .html or .txt file. HTML is usually easier to read in a browser, while TXT is convenient for pasting into messages. If someone needs a fuller support bundle, use Help > Run diagnostics... instead; diagnostics include both report formats, logs, and a summary in one ZIP file.
Use File > Save anonymized report... or Ctrl+Shift+A when you want a shareable report with common private identifiers masked. The anonymized report replaces the computer name, masks IP addresses, MAC addresses, serial numbers, UUIDs, GUIDs, PnP IDs, hardware IDs, compatible IDs, and location paths where Sensor Readout recognises them, and removes online public-IP lookup rows, Tasks rows, Audio Latency rows, and Spoken Hotkeys rows entirely.
Use Help > Share anonymous community stats... if you want to help improve Sensor Readout's hardware and accessibility coverage data without sending a report. This is explicit opt-in only: Sensor Readout builds the small JSON payload, shows you the exact text first, and uploads nothing unless you press Upload.
Community stats are not anonymized reports. They are a separate allow-listed payload containing only aggregate and broad setup fields, such as app version, Windows edition/version/build, CPU vendor and core counts, GPU vendor counts, memory totals, connected-disk count and total/used/free space, category coverage counts, enabled plug-in IDs, selected language, install mode, refresh/update settings, configured hotkey and notification-area counts, detected supported screen reader names, and broad Windows accessibility feature flags. The payload does not include your computer name, username, serial numbers, MAC or IP addresses, paths, drive labels, device IDs, PnP IDs, raw Details fields, installed programs, program usage, per-drive rows, or full report rows.
Sensor Readout stores a random local anonymous client ID in its settings and sends only a SHA-256 hash of that ID. This lets one installation update its previous aggregate entry without using hardware-derived identity. Deleting the app settings or using a separate portable copy creates a new anonymous entry.
After a successful upload, Sensor Readout opens the public aggregate page at onj.me/srstats. You can also visit that page without submitting anything. For testing, Sensor Readout.exe --community-stats-json [path] writes the same allow-listed payload to a file and exits without uploading it.
Security Scanners and Privacy
Sensor Readout reads hardware, driver, device, update, accessibility, and performance information because that is the purpose of the app. Some security sandboxes may describe this kind of behaviour broadly because Sensor Readout uses Windows APIs such as WMI and the registry, writes reports and diagnostics, loads bundled hardware plug-ins, and can update its own program files after you approve an update.
Sensor Readout does not collect passwords, browser data, tokens, private documents, or installed-program lists, and it does not upload reports or diagnostics silently. Reports stay on your computer unless you choose to share them. Community stats are a separate opt-in feature, show the exact payload before upload, and send only the allow-listed aggregate fields described above.
Opening Someone Else's Report
Press Ctrl+O or use File > Open report or update... to load a saved Sensor Readout HTML report. If someone sends a diagnostics ZIP file, open the ZIP directly and Sensor Readout will use the first readable HTML report inside it. If you open a Sensor Readout update ZIP, Sensor Readout offers to install it through the normal updater. This is useful for offline machines, managed copies, or support and testing workflows where the update ZIP has already been downloaded elsewhere.
The report opens as a static snapshot in the normal category and tree layout, so you can inspect another user's machine as if it were your own current view. Static report mode does not refresh live values, run alarms, or control hardware. It is only a viewer for the data saved in the report.
Notification-area status and spoken hotkeys read from the loaded report while a report is open. Sensor Readout announces that the values are from a static report, and if a configured reading is not present in that report it says so instead of suggesting that live sensor data is still loading.
Details and copy commands still work where the report contains the relevant fields. This is useful when someone sends a USB, audio, display, network, fan, battery, or SMART report and you want to inspect specific rows without reading the whole file manually.
Use File > Return to live readings or Ctrl+R to go back to the current computer. HTML reports saved by Sensor Readout 2.0 or later contain a hidden machine-readable snapshot for the best import experience. TXT reports are human-readable only and are not imported back into Sensor Readout.
Comparing Reports
Use File > Compare reports... or Ctrl+Shift+M to choose two Sensor Readout reports. The comparison shows added readings, removed readings, changed values, and changed Details fields. This is useful for before-and-after troubleshooting, checking whether a driver install changed hardware state, or comparing two similar machines.
Support Reports
Use Help > Prepare support report... when you need to send information to the project or a support person. Sensor Readout creates the same diagnostic ZIP as Run diagnostics..., then shows the ZIP path with buttons to copy the path, open the containing folder, or open the GitHub issue page.
Update Backups
Sensor Readout may create update backups when it finds old update folders or language files that look user-edited. These backups live under Backups\Updates so they do not interfere with live settings, reports, logs, sounds, languages, or plug-ins. Normal shipped folders such as Docs, Data, and bundled plug-ins are replaced cleanly during updates and are not backed up every time.
Use File > Update backups to open the update backup folder or delete old update backups when you no longer need them.
Reading History
Use Options > Enable reading history logging to turn short-term CSV logging on or off. Select a reading and use Edit > Add to history log or Ctrl+Shift+G to include it. Sensor Readout writes the selected readings to Logs\ReadingHistory--.csv during normal refreshes. This is intended for temporary troubleshooting rather than permanent background monitoring.
Settings Transfer
Use File > Export settings and profiles... or Ctrl+E to create a settings package. Sensor Readout shows a checklist first, so you can choose exactly what to include: general preferences, notification area readings, spoken hotkey profiles, fan profiles, fan curves, alarms, hidden items and category order, or plug-in choices.
Use File > Import settings and profiles... or Ctrl+I to bring settings back in. Import shows the same kind of checklist, limited to the sections found in the selected package. Spoken hotkeys keep drive letters exact and cautiously match equivalent CPU, GPU, memory, battery, network, system, task, and other portable readings when hardware names differ. This same matching helps configured hotkeys follow corresponding readings in loaded reports and remote computers. Custom spoken labels follow matched readings, while ambiguous choices remain unavailable rather than being guessed. Other hardware-specific items that could be unsafe or wrong on another computer remain cautious: global hotkeys are left blank, fan profile actions are not bound, fan curves are disabled until a fan control is chosen, and alarms are disabled for review.
Use File > Export portable copy... or Ctrl+Shift+E when you want the whole customized app as a ZIP. It includes Sensor Readout, Config, Plug-Ins, language files, custom sounds, and the other files needed to run from another folder or another PC. Reports and logs are optional checkboxes because they can be large or private.
Files
Portable build:
Configuration and logging created by the app:
Config\Shared.json: portable preferences shared across machines, such as language, refresh behavior, temperature unit, startup/shutdown sounds, startup speech, notification-area visibility, update checks, and global hotkey choices.
Config\.json: machine-specific preferences, such as run-at-Windows-startup, selected notification-area readings, spoken-hotkey reading lists, alarms, hidden readings and categories, category order, fan labels, fan control settings, custom spoken reading labels, logging level, and first-run prerequisite prompts.
*.srsettings.json: optional settings transfer packages created by File > Export settings and profiles....
Logs\.log: optional diagnostics, fan actions, hotkey registration, and screen reader speech messages, created only when logging is enabled.
Logs\ReadingHistory--.csv: optional short-term reading history created only when reading history logging is enabled and at least one reading has been selected for it.
Reports: default folder for reports saved from the command line, from the first save dialog, or from Help > Run diagnostics....
Sounds\SR01.wav, Sounds\SR02.wav, and similar: optional alarm/startup/shutdown sounds. Users can add their own .wav files.
Data\usb.ids: bundled USB vendor/product lookup data.
Data\oui.csv: bundled MAC/OUI vendor lookup data for network adapters.
Plug-Ins\Framework: optional Framework Laptop plug-in.
Plug-Ins\HP: experimental optional HP/OMEN/Victus plug-in.
Plug-Ins\DellLatitude: experimental optional Dell Latitude plug-in.
Plug-Ins\HuaweiMateBook: experimental optional Huawei MateBook read-only plug-in for live fan RPM where Huawei PC Manager exposes it locally.
Plug-Ins\AsusRog: experimental optional Asus ROG plug-in. This plug-in includes its own notice and GPL text because it uses G-Helper-derived ACPI research.
Plug-Ins\LenovoThinkPad: experimental optional Lenovo/ThinkPad read-only plug-in.
Plug-Ins\MsiLaptop: experimental optional MSI laptop plug-in for MSI ACPI temperature, fan, and fan-control support where exposed.
Plug-Ins\Corsair: bundled optional Corsair iCUE LINK Hub and HXi/RMi digital power-supply monitoring and fan-control plug-in.
- Users can add third-party plug-ins in their own subfolders.
Docs\Plug-In-development.md: plug-in SDK and manifest guide.
Docs\Coding-agent-plug-in-rules.md: strict guidance for coding agents working on plug-ins. Existing plug-in work must stay inside the relevant plug-in folder unless a core app change is explicitly approved.
Language files:
- Put
.txt or .ini files in the Langs folder beside Sensor Readout.exe.
- On first run, Sensor Readout chooses a bundled language from the Windows display language when one is available; otherwise it falls back to English.
- Use simple
key=value lines. Lines starting with # or ; are comments.
- Set
language.name=Display name so the language has a clear name in menus.
- Set
manual.file=README-xx.html so Help > Manual and the Manual button in control help open the matching manual for the selected language in the user's browser. Type only a file name, not a folder path. Sensor Readout looks in the Docs folder first. If this entry is missing, Sensor Readout tries .html, then falls back to README-en.html.
- Set
number.decimalSeparator=, if the language should display decimal values with a comma, such as 1,1 TB.
- Sensor Readout checks the folder every 15 seconds, so newly added or edited files appear in
Options > Language without restarting.
Langs\English.txt is the primary/default language file. Copy it or use the Language editor's New button to start another language.
- The decimal separator can also be changed from Preferences without editing a language file.
- Bundled manuals live in the
Docs folder and use README-en.html, README-de.html, README-es.html, README-fr.html, README-it.html, README-pt.html, and README-pl.html. The Polish guide is an extended community contribution based on the 6.3.2 documentation; its introduction explains the scope of runtime testing.
Optional screen-reader speech:
- Spoken hotkeys and alarms use Prism first on supported Windows 10 or later systems, then fall back to Tolk where needed.
prism.dll, Tolk.dll, SAAPI64.dll, and related support DLLs are bundled in the Resources folder for screen-reader and SAPI speech.
- Routine spoken guidance is only sent when a supported screen reader is detected, so sighted users do not get slow fallback speech while browsing categories. Preferences > Spoken and visual feedback can opt non-screen-reader users back into Windows speech for category changes, and that fallback category speech interrupts itself so repeated category movement does not queue.
- Preferences > Spoken and visual feedback lets you choose how much routine category speech Sensor Readout sends while you move through the category list: full guidance, a brief category-and-shortcut announcement, or off. It can also show explicit spoken hotkey output in a temporary visual feedback window with configurable placement and timeout whenever that visual option is enabled.
- If no bundled speech backend or speech target accepts the message, the action fails safely and shows a status message when the main window is visible.
- When Sensor Readout starts minimized to the notification area, it can speak a configurable startup message through the active screen reader. The default comes from
speech.startupActive in the selected language file.
- Preferences includes a simple language editor tab for editing existing language-file entries without opening a separate text editor.
Notes
Fan support depends on LibreHardwareMonitor, PawnIO, the motherboard sensor chip, and what the BIOS exposes. Some systems may provide readings but not writable fan controls.
The app must run as administrator for motherboard Super I/O access on many systems. GPU and storage readings may still appear without elevation, but motherboard fans and controls often will not.
If CPU temperature or CPU load readings are missing, installing and running Core Temp may help. Sensor Readout can read Core Temp's shared-memory data when Core Temp is already running. Core Temp is optional and is only used as a fallback for CPU readings. Use Help > Install Core Temp support... to open the official Core Temp page or start installation with winget or Chocolatey when those tools are available.
If fan controls appear to be missing, open Options > Fan controls... and enable Show stopped. Some boards report controllable headers as stopped or undefined until they begin spinning, and this option makes those hidden entries visible for testing.
Laptop Brand Plug-Ins
Framework, Dell, Huawei, Lenovo, MSI, Asus, HP, OMEN, and Victus laptop users may get better fan or temperature visibility by enabling the matching hardware plug-in from Options > Preferences > Plug-Ins. Plug-ins are disabled until you enable them, and changes apply after closing Preferences.
Framework Laptop users should also prepare Framework Control before reporting missing Framework readings:
- Update the laptop BIOS from Framework's BIOS and drivers page:
- Install and run Framework Control:
- Confirm Framework Control can show its fan/temperature controls in its browser interface.
- Start Sensor Readout.
- Open
Options > Preferences > Plug-Ins, enable the Framework Laptop plug-in, and close Preferences.
- Framework readings should appear as
Framework Control temperature and fan rows when the local API is available.
Dell, Lenovo, MSI, Asus, HP, OMEN, and Victus plug-ins do not guarantee fan readings on every model, because laptop makers decide what Windows can see. They are still worth enabling on matching laptops before sending diagnostics about missing fans or temperatures.
Optional vendor tools can also help expose or verify laptop-specific data:
These tools are outside Sensor Readout; use the vendor or project pages and only install what makes sense for your machine.
Sensor Readout only reads these optional support paths unless a plug-in clearly says otherwise. It does not flash firmware or replace the laptop maker's own setup tools.
Changelog
6.5.1
- Fixed: Menus, About, installation messages, hotkey commands, and accessible control names now use the selected language consistently, including after reopening menus or switching languages. Corrected French wording and missing translations. Fixes issue #27.
6.5.0
- Added: The process watcher list can open a selected process's file location with Alt+Enter or its context menu when the executable path is available. Enter still starts the configured watch.
- Added: Plain F1 opens readable help for the focused control in the main window and Sensor Readout dialogs, with Copy help, Manual, and Close buttons. Escape returns to the original control without changing field values; help never displays entered passwords, tokens, or other input text. Tab navigation stays concise: names, values, states, and useful shortcuts. Detailed control instructions appear only in F1 help, not in normal descriptions or visible hints. Warnings, privacy and consent information, and live results still appear when required.
- Changed: Plain F1 is reserved for control help even in hotkey-entry fields. Supported combinations such as Ctrl+Shift+F1 remain assignable; the full manual remains available from Help > Manual and the Manual button in help.
- Added: Performance/Overview now shows the Windows feature update name, such as 25H2, alongside the numeric Windows version and build when Windows provides it.
6.4.0
- Added: Polish interface text and a Polish extended manual, contributed by Paweł Podolski. Choose Polski from Options > Language; Help > Manual then opens the Polish guide.
6.3.2
- Fixed: Opening Preferences in a portable or copied folder no longer redirects Windows startup away from another installed copy. Disabling startup or uninstalling a different copy leaves the existing startup entry alone.
- Added: Alarms can now warn once until their condition clears, avoiding repeated reminders for persistent warnings such as low disk health. New alarms and presets use this mode; existing alarms keep repeating unless you clear Repeat after cooldown in Preferences > Alarms.
6.3.1
- Fixed: Normal server snapshot refreshes no longer produce misleading warnings, making genuine connection and server problems easier to find in the logs.
6.3.0
- Added: Sensor Readout now includes a signed, unattended install and upgrade path for Windows package managers. This prepares a WinGet community listing that installs for the current user, creates Start menu and desktop shortcuts on first install, preserves existing settings and user data during upgrades, and requires administrator approval.
- Improved: Package-manager removal can now run without prompts while preserving
Config, Logs, and Reports. Installed copies also repair a missing Start menu shortcut without rewriting it on every launch.
- Fixed: Signed updates now retain user-created language files in the active
Langs folder without creating repeated backups. Edited bundled translations are still backed up before receiving the current shipped version.
6.2.2
- Fixed: A spoken hotkey reading for a disconnected keyboard, mouse, headset, or other device battery no longer falls back to the computer's built-in battery. Missing device batteries are skipped instead of announcing the computer's charge twice under different labels.
6.2.1
- Fixed: Normal startup no longer deletes and recreates Sensor Readout's Windows startup task or rewrites unchanged app and file-association registration. These entries are now changed only during installation, when the related preference changes, or when a stale entry genuinely needs repair, avoiding behaviour that could cause Microsoft Defender to quarantine an otherwise clean installation.
- Added:
Install_Scripts\Install-Sensor-Readout.cmd opens the existing install-to-this-PC flow for users who prefer a double-clickable installer. It uses the same app-owned installation path and preserves the portable copy's settings and other user data.
6.2.0
- Added: Connected Wi-Fi adapters can now show the current channel width, including 20, 40, 80, 160, 80+80, or 320 MHz where Windows advertises it. Wi-Fi rows also use shorter labels inside their existing adapter tree instead of repeating Wi-Fi before every reading.
- Improved: Spoken hotkeys now follow equivalent readings more reliably across different local hardware, imported profiles, loaded reports, and remote computers. Drive letters remain exact even when volume labels differ; equivalent CPU and GPU sensors and other portable readings are matched cautiously; custom spoken labels follow imported matches; and ambiguous choices remain unavailable instead of being guessed.
6.1.1
- Fixed: The updater now carries the program files required to verify and install signed update packages. If you are running 6.0.0 or 6.1.0, download 6.1.1 manually once; your existing settings are kept, and later automatic updates work normally.
6.1.0
- Added: The bundled Corsair iCUE Link and PSU Support plug-in can now control supported iCUE LINK Hub pumps and fans and HXi/RMi power-supply fans. It remains opt-in and performs no control write until the user acts. Pump channels never run below 50 percent, low PSU requests return the fan to its automatic curve, and closing Sensor Readout restores automatic hardware control. Thanks to Robin Kipp for the implementation and extensive real-hardware validation in pull request #26.
- Improved: Fan curves that use a plug-in temperature now keep that temperature current while the curve is active, without increasing normal background polling for other plug-ins.
- Improved: All fans reset now includes supported plug-in controls, including MSI, ASUS, and Corsair hardware.
- Fixed: Opening or editing Preferences no longer needlessly tears down and reloads every enabled hardware plug-in.
- Fixed: Sensor Readout can recover when a sensor collection stops completing, without allowing an older superseded collection to publish stale readings or alarms after recovery or wake from sleep.
- Fixed: Corsair fan-control resume state survives Sensor Readout updates without being mistaken for a modified plug-in or creating an unnecessary backup.
6.0.0
- Added: Remote Monitoring connects Sensor Readout computers through a password-protected server and presents live remote readings in the same accessible categories and tree used for local readings. Search, review, Details, copying, spoken hotkeys, and report export remain available while the title bar and spoken output clearly identify remote data.
- Added: One Sensor Readout copy can host remote monitoring on Windows and configures the required private and domain firewall access automatically. A separate lightweight Linux server download supports an always-available host, and connection files make adding the same server to another computer straightforward. Saving a connection file lets you choose or type the local-network, private-network, VPN, DNS, public, or reverse-proxy address and port that other computers should use.
- Privacy: Remote Monitoring encrypts shared readings before they leave each computer. The server cannot read sensor values, computer names, or the monitoring password.
- Security: Only a publishing computer can remove its own encrypted server entry; another viewer cannot remove it with shared connection credentials. Delete provides the same guarded command from the computer list.
- Improved: Windows and Linux relays retain an encrypted checkpoint but buffer frequent live changes in bounded memory, greatly reducing disk writes on Raspberry Pi microSD cards and other flash storage while preserving automatic restart recovery.
- Added: Saved fan profiles can be made available remotely only when the monitored computer explicitly permits it. Remote users can select only profiles already saved on that computer.
- Improved: Remote Monitoring remains responsive on lower-powered computers and preserves branches that the viewing user has expanded or collapsed while readings update.
- Improved: The separate Linux server now has a guided installer that detects reachable LAN and VPN addresses, explains private-network and HTTPS choices, verifies the release, installs and health-checks the service, and creates an owner-only connection file. Its accessible HTML manual provides copy buttons for complete commands and clearly distinguishes real commands from placeholder syntax.
- Added: Managed Linux servers can review or change their network, timeout, retention, access-token, and automatic-update settings through a guided setup. Verified server updates are enabled by default, use a dedicated server-only release channel, and automatically restore the previous version or settings if a health check fails. Windows and Linux update channels explicitly ignore one another.
- Improved: Windows and Linux server updates now require an RSA-signed file manifest in addition to GitHub's SHA-256 download digest. Packages with missing, altered, or invalid signatures are refused before program files are replaced.
5.2.1
- Fixed: Performance/Overview no longer mixes battery, thermal, firmware, or power-supply readings into Storage. Storage now contains only disk, volume, and drive-related readings; ACPI power state appears under Battery, and other hardware status is grouped under Other.
- Fixed: DNS lookups that fail after a short timeout no longer appear incorrectly as unobserved background errors in the crash log.
5.2.0
- Added: An experimental, opt-in, read-only Corsair iCUE LINK and PSU Monitoring plug-in can show supported hub pump and fan speeds, liquid or device temperatures, and HXi/RMi digital power-supply temperatures, fan speed, input voltage, and output power. Close Corsair iCUE before enabling it. Disabling the plug-in stops its background work and releases its hardware handles. This release does not expose Corsair fan controls. Thanks to Robin Kipp for contributing the original implementation.
5.1.0
- Added:
Options > Network tools... (Ctrl+Shift+T) resolves IP addresses and host names, classifies IPv4 and IPv6 addresses, attempts reverse DNS, and can test ping latency and packet loss. A literal IP can also show IPv4 and IPv6 addresses related through its reverse-DNS host name. Each resolved public address can show its own provider, organization, autonomous system, connection type, and approximate location. This closes issue #24.
- Privacy: Network Tools runs only when requested. Private, local, loopback, link-local, and special-use addresses are not sent to the online metadata service. It does not run connection-speed tests, scan ports, poll in the background, or keep a query history.
5.0.0
- Added: The explicitly started Audio Latency diagnostic measures Windows DPC and interrupt-service-routine duration, hard page faults, responsible drivers, and lost trace events while you reproduce an audio problem. An optional live monitor provides separate DPC and ISR history graphs plus an accessible rolling summary, can be closed and reopened without stopping the test, and the completed diagnostic is saved automatically as an HTML report. The latest result remains available in the Audio Latency category.
- Privacy: Audio Latency reports state exactly what they collect and exclude. Audio Latency rows are removed from anonymized reports because driver paths and hard-fault process names can reveal installed software.
4.14.1
- Fixed: Battery charge now follows the live Windows battery capacity instead of a slower cached fallback, and unavailable runtime estimates no longer appear as enormous hour counts.
- Fixed: Holding a global hotkey now triggers it only once per press, preventing repeated speech, repeated actions, and accidental clipboard copying.
- Improved: Update windows now identify themselves as Sensor Readout Update in the title bar, making it clear which application is asking to update.
- Improved: TCP and UDP endpoint entries in Details now use concise number-only labels for faster keyboard and screen-reader navigation, while numbered Details entries stay in natural numeric order instead of placing item 10 directly after item 1.
4.14.0
- Improved: Battery power, capacity, and voltage are now presented in the more readable units W, Wh, and V. Lenovo battery rows omit inactive zero rates, and existing battery alarm thresholds are converted automatically. Battery charge/discharge power is labelled clearly and untyped raw power-meter values are hidden, preventing battery-side activity from being mistaken for total charger input.
- Improved: Reordering a category or an ordered item in Preferences now reports which neighbouring item it moved above or below. The existing Full, Brief, and Off category-speech choices control how much of that movement feedback is spoken.
4.13.0
- Added: Performance/Overview now shows the file system and volume type for ready local drives, plus persistent mapped network drives with their connection status, provider, remote location, and capacity when Windows exposes it.
- Improved: SMART and Details now expose richer read-only disk, partition, and volume information where Windows provides it, including partition style and count, allocation, sector and volume data, firmware, serial number, health, access paths, and hidden or recovery partitions.
- Added: Unmounted partitions can now be identified as APFS or EXT2/EXT3/EXT4 when Windows permits read-only raw access. Sensor Readout shows safe container or superblock metadata without mounting the file system, changing the disk, or inspecting its files.
- Privacy: Anonymized reports now also remove drive labels, mapped network locations, storage paths, and other identifying storage metadata.
4.12.0
- Added: Sensor Readout now has its own multi-size gauge icon across the app, its windows, Windows shortcuts, and the notification area.
- Improved: The notification-area badge now makes caution, critical, disconnected, unavailable, alarm, and paused states easier to recognise. Distinct shapes and symbols supplement colour, while important states among the configured tray readings can take priority over an ordinary value.
- Improved: Percentage meters and the optional floating visual hotkey feedback have clearer Windows-native styling, spacing, contrast, and state indication.
4.11.0
- Improved: Long-running hardware collection is more resilient on systems with slow or fragile Windows hardware providers, while successful native CPU and memory readings avoid unnecessary fallback work.
- Improved: Lenovo laptop readings refresh more promptly, single-battery health is matched more reliably, and repeated unavailable hardware probes are reduced.
- Improved: ASUS fan readings remain available where supported, while fan controls are now shown only on compatible gaming laptop families instead of appearing on models whose firmware does not provide dependable control.
- Improved: Huawei MateBook support now handles missing PC Manager hardware support, helper failures, and timeouts more safely, with clearer compatibility information.
- Improved: Plug-in enable choices remain attached to the correct plug-in when Preferences opens, including systems with several bundled laptop plug-ins.
4.10.8
- Added: Experimental Huawei MateBook Support plug-in. On supported Huawei laptops with Huawei PC Manager installed, it can expose live fan RPM through Huawei's local read-only hardware SDK helper.
- Improved: Debug logging now records Sensor Readout's WMI queries, including scope, query text, duration, and failures, to help diagnose systems where Windows WMI providers grow or reset over time.
- Improved: Installed copies now appear in Windows Apps and Features / Programs and Features for the current user, with removal routed through Sensor Readout's normal uninstall flow.
- Improved: Sensor Readout now caches selected hardware-state WMI readings that do not need constant live polling, reducing repeated provider load on laptops where Windows WMI providers grow over time. Fixes #22.
- Fixed: Disabling a hardware plug-in now clears cached plug-in readings immediately, so Data sources and the main tree do not keep showing rows from a plug-in that is no longer enabled.
4.10.7
- Fixed: USB SuperSpeedPlus link speeds now decode Windows lane-speed data correctly, avoiding impossible raw values such as
181000 bps for USB 3.x devices.
4.10.6
- Fixed: Lenovo Laptop Support now checks whether optional Lenovo WMI classes exist before querying them, further reducing provider load on laptops that do not expose those interfaces.
- Fixed: Windows Storage reliability-counter queries now back off temporarily after provider failures, reducing repeated WMI load on systems whose storage provider exposes the class but cannot enumerate it.
4.10.5
- Fixed: Lenovo Laptop Support now avoids repeating failed Lenovo/Vantage WMI probes during normal refreshes. Deeper Lenovo class discovery is still included in diagnostics and support reports, but live polling is more conservative to reduce WMI-provider load on affected laptops.
4.10.4
- Fixed: Plug-In enable choices now save the intended checked state immediately, so checking a hardware Plug-In and closing Preferences cannot accidentally leave it disabled.
- Improved: Lenovo Laptop Support diagnostics now include all Lenovo function-request settings and highlight thermal and fan-related candidates, making support reports more useful when a model does not expose fan speed through standard Windows or Lenovo WMI.
4.10.2
- Fixed: Network listening-port Details are now split by protocol, so the TCP listening ports row only shows TCP counts and endpoints, while the UDP listening ports row only shows UDP counts and endpoints.
- Improved: Storage Details now label Win32
BytesPerSector as logical sector size, while keeping Windows Storage logical and physical sector-size values separate where Windows exposes both.
4.10.1
- Improved: Network listening-port Details now show the owning process name and process ID where Windows exposes that information, making it easier to tell which app opened a local TCP or UDP port. This closes issue #23.
4.10.0
- Added:
Options > Watch process... (Ctrl+Shift+W) can monitor one running process in the background until you stop it, or for a timed duration, then automatically save an HTML table report or CSV sample log showing CPU, memory, GPU counters where available, thread and handle counts, growth, and samples over time. The Tasks category also now includes a read-only running-process list with Details, file-location opening where available, and a context-menu action to start watching a selected process. This closes issue #21.
- Improved: The process picker now shows helpful context such as window title, start time, helper-process role, and parent process where Windows exposes it, while keeping process IDs in Details, and remembers your last watch format, duration, speech, and sound choices.
- Improved:
F3 search now includes detail-only matches after visible matches, making it easier to find process roles, executable paths, parent processes, device identifiers, and other support details without opening each Details view by hand.
- Privacy: Process watch reports contain resource counters for the selected process only. They may include the selected process name and executable path, but they do not inspect keystrokes, private app contents, file contents, registry contents, or network payloads.
4.9.5
- Improved: Bluetooth filters out low-value service rows that only said things such as Status: OK, while useful child/profile rows such as A2DP or AVRCP are grouped under their parent Bluetooth device.
- Improved: Bluetooth adapter and device addresses now show OUI vendor names where the bundled vendor database recognises the address prefix.
- Improved: Bluetooth Last seen and Last used timestamps, Windows boot time, device install dates, and task start times now include a friendly age, such as how many hours, days, weeks, or months ago the event happened.
4.9.4
- Fixed: Bluetooth now also uses Windows PnP data to show present Bluetooth devices that Windows does not return through the classic Bluetooth list, such as some keyboards and headphones.
- Fixed: Battery hides zero-value raw Microsoft power-meter entries that do not represent a useful battery reading.
4.9.3
- Fixed: Fan curve percent fields now keep typed values such as
100 without the curve list refreshing mid-entry.
- Fixed: Hidden or minimized copies now keep normal refresh timing when notification-area status or spoken hotkeys are configured, so hotkeys such as uptime do not fall back to the slower background refresh cadence.
- Improved: Removing a fan profile now asks for confirmation, can remember when you do not want that prompt, and can be restored immediately with
Ctrl+Z while Preferences remains open.
- Improved: Opening the same Sensor Readout executable again now brings the running window forward instead of closing it, which helps if no show/hide hotkey has been configured yet.
- Fixed: Desktop shortcut creation during the install-to-this-PC flow now verifies that Windows actually created the shortcut and reports an error if it did not.
- Fixed: Empty placeholder spoken-hotkey profiles named
New spoken hotkey are now cleaned up instead of lingering in Preferences and reports.
4.9.2
- Fixed: update cleanup now also removes old backup ZIPs that contain only shipped Sounds, Docs, Data, or bundled Plug-Ins, and removes empty Backups folders afterward so old update artifacts do not keep accumulating.
- Improved: update attempts now write a step-by-step
Update.log in the Logs folder, while detailed failures still write Updater.log, making one-off update problems easier to diagnose from support reports.
- Added: Preferences > General now has separate unit choices for memory/GPU memory, storage sizes, and transfer values, including binary IEC labels such as KiB, MiB, and GiB for users who prefer them.
4.9.1
- Fixed: updates from older Sensor Readout copies now clean up old root-level support DLLs, scripts, duplicate speech-library files, legacy update-temp folders, and mistaken plug-in DLL backup zips after the new app starts, so dependencies moved into
Resources do not remain live beside Sensor Readout.exe and unchanged shipped plug-ins do not keep accumulating in backups.
4.9.0
- Added: Spoken output now tries the actively developed Prism screen-reader library first on supported Windows 10 or later systems, while keeping Tolk as a fallback so existing speech support remains available.
- Added: Sensor Readout update ZIPs can now be installed from
File > Open report or update... or with --apply-update --update-zip, using the same updater path as online updates. This helps with offline machines, managed deployments, or support and testing situations where a known update ZIP needs to be applied locally.
- Improved: Accessibility Details now show which screen-reader speech backend is active when speech output is available.
- Improved: The portable app folder is tidier, with support DLLs moved into
Resources and optional prerequisite helper scripts moved into Install_Scripts.
4.8.1
- Fixed: Task GPU-memory summaries now ignore impossible Windows per-process GPU-memory counter samples, so one process cannot appear to use more dedicated GPU memory than the adapter is currently using.
- Improved: SMART/Storage now adds a SATA connection row for SATA drives, showing Windows Storage location or port information and current/maximum SATA generation where Windows exposes ATA identify link data.
- Improved: USB device Details now identify Windows USB hub connection data as the speed source and explain active-versus-capable speed differences when Windows reports both.
- Improved: Source files have been split into smaller focused files, making Sensor Readout easier to review and maintain without changing how the app works.
4.8.0
- Added: NVMe drives can now show their PCIe link generation and width, including current and maximum link information where Windows exposes the matching controller data.
- Added: Preferences now includes a Spoken and visual feedback tab where you can set category-change speech to full guidance, brief category-and-shortcut announcements, or off, optionally enable interrupting Windows speech for category changes when no screen reader is running, and show explicit spoken hotkey output in a temporary visual feedback window when that visual option is enabled.
- Fixed: Sensor Readout now suppresses routine spoken guidance when no supported screen reader is detected, preventing Windows speech/SAPI from slowly reading every category or hint for sighted users unless that fallback category speech is explicitly enabled.
- Improved: Community stats now count systems with no detected screen reader as "None detected" in the detected screen readers table, so sighted-user submissions are visible and the table total matches the machine count.
4.7.4
- Fixed: Dedicated GPU memory readings now use Windows' adapter dedicated-memory counter when available, making GPU memory used/free readings better match NVIDIA SMI, GPU-Z, and real GPU workloads such as Ollama.
- Added: Spoken hotkey presets now include memory status, C drive activity, and a compact Tasks summary, and alarm presets now include C drive free-space and activity warnings when matching readings are available.
- Improved: The manual and Hints and Tips now include practical spoken hotkey examples, including common
Ctrl+Shift+Function key layouts and starter readings such as uptime, memory, C drive activity, network status, and Tasks summary.
- Added: The manual now explains why hardware-inspection and updater behaviour can look broad to security sandboxes, and clarifies that Sensor Readout does not silently upload reports, diagnostics, credentials, browser data, private documents, or installed-program lists.
- Added: A read-only Firmware Security category shows firmware mode, Secure Boot state, and UEFI Secure Boot certificate database summaries where Windows permits access, including certificate expiry and possible test-certificate warnings.
4.7.3
- Fixed: Expansion-slot summaries now distinguish slots that Windows reports as empty from slots whose usage is unknown, avoiding confusing lines such as "5 slots; 1 in use; 0 empty" when firmware does not report every slot state.
4.7.2
- Fixed: GPU usage readings now keep Windows GPU engine counters sampled between refreshes, so active GPU workloads can report non-zero usage instead of repeatedly restarting from a zero baseline.
- Fixed: Crash logs are now explicitly written independently of the regular logging setting, making unexpected crashes easier to diagnose from the Logs folder even when normal logging is off.
- Fixed: Bundled French and other language strings now keep accented characters more reliably, and the language loader/editor reads and writes language files as UTF-8, improving screen-reader pronunciation.
4.7.1
- Fixed: Preferences category checkboxes now save correctly when you restore a hidden category, and Space toggles the selected category as expected.
- Fixed:
Alt+1 through Alt+4 in Preferences now stay within the current Hotkeys or Fan profiles tab instead of jumping back to Hotkeys from other tabs.
- Fixed: Related Windows Settings links are now more conservative, so temperature rows and other unrelated readings no longer open pages such as Display settings just because the row mentions GPU or graphics hardware.
- Improved: NVIDIA SMI driver snapshots are cached longer, reducing repeated short-lived
nvidia-smi launches and background noise while keeping NVIDIA memory details available.
- Improved: Lenovo Laptop Support now tries additional read-only Lenovo fan-method invocation styles used by Legion-class firmware, which may expose live fan RPM where the older probe only reported method errors.
4.7.0
- Added: A new Tasks category shows compact current-activity readings for the highest CPU process, highest memory process, highest GPU process, and highest GPU memory process where Windows exposes those counters. These summary readings can be used in notification-area status and spoken hotkeys without turning every running process into a hotkey candidate, and rows with an executable path can open that process file location with
Alt+Enter, the reading context menu, or Details.
- Added: A new Spoken Hotkeys category mirrors notification-area status and spoken hotkey profiles in the main tree, making those configured readouts visible without changing the hotkeys themselves.
- Added: Spoken hotkey presets now include CPU activity, GPU activity, and uptime starters.
- Added: NVIDIA SMI GPU memory total, used, and free readings now appear in Performance/Overview when available, so they can be used in notification-area status and spoken hotkeys alongside the existing Windows GPU memory counters.
- Improved: Hints and tips now cover the Tasks category, the Spoken Hotkeys category, category ordering, and NVIDIA SMI GPU memory readings.
- Improved: GPU memory Details now explain that Sensor Readout's Performance/Overview GPU memory figures come from Windows GPU performance counters, so they can differ from GPU-Z, nvidia-smi, or other vendor tools that account for reserved or driver-managed memory differently.
- Privacy: Anonymized reports remove Tasks and Spoken Hotkeys rows because process names, custom profile names, and selected hotkey readings can reveal personal workflow.
4.6.0
- Added: Supported readings can now open a related Windows Settings page with
Alt+Enter, the reading context menu, or the Details dialog, including accessibility options, Bluetooth, printers, USB, sound, display, network, storage, battery/power, startup apps, and Windows Update.
- Improved: the show/hide global hotkey is now configured from the Hotkeys tab, with the General tab linking to it for convenience. Closes issue #18.
- Improved: global hotkey entry now rejects unsafe system shortcuts and requires at least two modifiers, such as
Ctrl+Shift+F1, Ctrl+Alt+F1, or Alt+Shift+F1.
4.5.4
- Fixed: Sensor Readout now repairs bundled plug-in update metadata more conservatively after legacy-update compatibility repairs, so imported plug-ins and user-modified bundled plug-in files are not accidentally treated as shipped files for future updates.
- Fixed: Refresh Now and F5 now force a fresh public-IP lookup instead of reusing Sensor Readout's six-hour public-IP cache, and public-IP Details show provider cache metadata where available.
4.5.3
- Improved: Network now includes a selectable Public IP summary reading for notification area status and spoken hotkeys, combining the public-IP lookup fields returned by the online provider. Closes issue #17.
4.5.2
- Fixed: Network now shows a clear Internet connection entry while public IP lookup is loading or unavailable, instead of hiding the public IP section until the online lookup succeeds.
4.5.1
- Added: Network now includes public IP lookup rows for country, region, city, coordinates, internet provider, autonomous system, and connection type where the online lookup provider returns them.
- Added: Network now includes passive local TCP and UDP listening-port summaries from Windows, with detailed endpoint lists available from Details. Sensor Readout does not scan remote hosts or test firewall exposure.
- Privacy: anonymized reports remove online public-IP lookup rows entirely, so public IP location and provider metadata are not included in shareable anonymized reports.
- Fixed: The updater no longer saves unchanged bundled plug-ins or language files as user backups just because a new release contains rebuilt bundled files. Update backups should now stay focused on files that appear to have actually been changed by the user.
- Fixed: updates from older public builds avoid unnecessary bundled plug-in backups, and Sensor Readout repairs bundled hash metadata after launch so future updates stay clean.
4.4.3
- Improved: Wi-Fi access point rows and WMI network MAC details now show OUI vendor names where the bundled MAC vendor database can identify the address prefix.
4.4.2
- Fixed: The updater now applies updates through Sensor Readout itself instead of relying on newer PowerShell commands. This improves update compatibility on older Windows systems such as Windows 7 while keeping the same update flow on modern systems.
- Improved: Updater failures now write an
Updater.log file in the Logs folder, making update problems easier to diagnose from support reports.
4.4.1
- Improved: Main categories now stay visible unless you hide them yourself. Empty categories show clear "no data currently available" guidance and explain that the category can be hidden from Preferences, so optional sections such as Battery do not disappear just because the current system has no matching readings.
- Added: Categories can now be hidden or reordered directly from the main category list with
Delete, Ctrl+Up, Ctrl+Down, or the category context menu. When the category list has focus, Sensor Readout also reports the shortcut for the selected category.
4.4.0
- Added: A new Bluetooth category shows Windows-exposed Bluetooth radios and paired or connected Bluetooth devices, including adapter/device address, type, services, manufacturer, connection state, pairing state, and last seen/used timestamps where available. Bluetooth battery readings remain in Battery.
- Added: Preferences now has a Categories tab for choosing which main categories appear and in what order. Category shortcuts follow that order, with
Ctrl+0 through Ctrl+9 for the first ten categories and Ctrl+Shift+0 through Ctrl+Shift+9 for categories 10 through 19.
- Added:
Edit > Undo (Ctrl+Z) now names the last hide action it will restore, and Edit > Redo (Ctrl+Y) can reapply that hide action after undoing it.
- Improved: Notification area status now appears as a permanent entry in the Hotkeys profile list, sharing the same reading editor, reset-label command, copy/cut/paste support, and speak-tray hotkey.
- Added: Alarms can now use an optional custom spoken message, so the screen reader can say different text from the alarm's management name.
- Improved: Notification area status and spoken hotkey profiles can now copy, cut, and paste selected readings between each other from Preferences, and ordered preference lists support mouse drag-and-drop as well as keyboard movement.
- Fixed: The show/hide hotkey is now blocked with spoken feedback while Preferences, diagnostics/support report generation, or community stats review is active, preventing hidden modal windows that are hard to recover.
4.3.2
- Fixed: Wi-Fi detail collection now reads Windows access-point list metadata safely, preventing crashes on some Wi-Fi-connected systems during periodic refresh.
4.3.1
- Fixed: Device battery readings now ignore stale Bluetooth/HID battery levels when Windows reports that the device is not currently connected, so conditional spoken hotkeys and notification-area status do not announce old battery values for disconnected keyboards, headphones, mice, or similar devices.
4.3.0
- Added: Performance/Overview now includes PCIe and expansion slot information where Windows exposes it, including physical slot usage and PCIe current/maximum link width and speed for supported PCI devices.
- Added: Performance/Overview now shows GPU usage where Windows performance counters expose it, and the GPU spoken hotkey preset includes GPU usage when available.
- Improved: Performance/Overview now exposes more GPU, memory module, and uptime detail, including GPU clocks and compute capability where available, memory module layout/speed/slot summaries, and system uptime with seconds.
- Fixed: The reading tree's "remember my last expand or collapse action" preference now keeps your chosen expanded or collapsed view after refreshes and tree rebuilds.
- Added: Battery charge or discharge remaining time now appears in Battery and Performance/Overview when Windows exposes enough live battery data. These readings can also be used in notification area status and spoken hotkeys. Closes issue #15.
- Fixed: System BIOS vendor is no longer grouped under Graphics.
4.2.0
- Added: Battery now includes Windows power-meter rows where supported, including live current power from
Win32_PowerMeter and rated output power from Win32_PowerSupply when Windows exposes those values. This can help laptop users check charger or power-supply wattage where the hardware reports it.
- Improved: TXT reports are now easier to read in text editors, with clear category headings, a separate Details section, a Sensor Readout download link, and a smaller reading-focused layout. Use HTML reports or diagnostics ZIPs when you want to reopen a saved report inside Sensor Readout.
4.1.2
- Added: Notification-area speech and individual spoken hotkey profiles can now skip unavailable readings, so disconnected adapters, missing removable drives, inactive cellular connections, and similar optional readings do not clutter spoken output unless you want them included.
- Improved: The Lenovo Laptop plug-in now reports more read-only Lenovo laptop data where Windows exposes it, including ACPI fan presence, ACPI battery health/status/runtime, IdeaPad battery information, thermal throttle state, storage health/temperature/wear, Lenovo thermal-driver presence, and Lenovo WMI diagnostics. Thanks to serrebidev for the detailed Lenovo contribution.
4.1.1
- Added: Performance/Overview now includes physical + virtual memory totals, plus total, used, and free space across all connected disks. These readings can also be used in spoken hotkeys and notification area status. Closes issue #11 and issue #12.
- Privacy: Anonymous community stats can now include connected-disk count and total/used/free space as aggregate storage metrics, without drive letters, labels, models, serials, paths, or per-drive rows.
4.1.0
- Added: General preferences now let you choose whether reading trees open expanded, open collapsed, or remember your last expand/collapse action when switching categories.
- Fixed: Help > Run diagnostics now uses Alt+G so it no longer shares Alt+D with Donate.
4.0.7
- Fixed: CPU and GPU temperatures, motherboard fan readings, fan hotkeys, and reports now load correctly again after 4.0.6 could prevent low-level hardware sensors from opening.
4.0.6
- Improved: Bundled plug-ins are now verified during updates so shipped plug-in folders are replaced cleanly, while user-modified bundled plug-in files are backed up outside the live Plug-Ins folder.
- Improved: Display and GPU memory rows now warn when Windows reports a graphics adapter device problem that may make reported memory values unreliable.
- Fixed: German language files and manuals now use proper umlauts instead of ASCII substitutions, and damaged accent characters in bundled Spanish, French, and Italian text were repaired.
4.0.5
- Improved: Automatic updates now avoid routine backups of unchanged shipped folders such as Docs, Data, bundled Plug-Ins, and Sounds. Only legacy update backups and language files that appear user-edited are kept.
- Added:
File > Update backups lets users open or delete old update backup ZIPs without touching current settings, reports, logs, sounds, languages, or plug-ins.
- Improved: The bundled Asus ROG plug-in now rolls in safer Asus desktop/tower support-readiness detection from a community pull request, while keeping desktop fan control read-only.
4.0.4
- Added: Performance/Overview now includes an Accessibility group with screen-reader output status, detected supported screen readers, and common Windows accessibility settings such as High Contrast, Sticky Keys, Toggle Keys, Filter Keys, Show Sounds, and audio descriptions where Windows exposes them.
- Privacy: Anonymous community stats now include Windows edition/version/build and broad accessibility feature flags, but still do not include installed programs, program usage, identifying device data, or full report rows.
4.0.3
- Fixed: The Portuguese manual is now a full bundled user guide instead of a short summary, matching the standard expected for shipped languages.
4.0.2
- Added: Portuguese language and a Portuguese manual, contributed by Vitor Ferreira.
4.0.1
- Fixed: Community stats upload now explicitly uses modern TLS settings, preventing SSL/TLS secure channel errors on some systems.
4.0.0
- Added:
Help > Share anonymous community stats... lets users opt in to sending a small hardware-coverage summary. Sensor Readout shows the exact JSON first and uploads nothing unless the user presses Upload.
- Privacy: Community stats are separate from anonymized reports and do not include computer names, usernames, serial numbers, MAC or IP addresses, paths, drive labels, device IDs, PnP IDs, raw Details fields, installed programs, or full report rows. A random local anonymous client ID is stored locally, and only its SHA-256 hash is sent so one machine can update its aggregate entry.
3.10.5
- Fixed: Diagnostics no longer shows a completion dialog after opening the Reports folder, preventing an inaccessible hidden dialog if Sensor Readout is hidden while diagnostics are running. The status line now includes how long diagnostics took.
- Improved: When Sensor Readout is hidden or minimized and no alarms, fan curves, or history logging need close monitoring, automatic refresh is throttled to reduce background impact on slower laptops. Closes issue #9.
3.10.4
- Added: Performance/Overview now shows paging file total, used, and free space where Windows exposes it. These readings can also be used in spoken hotkeys and notification area status. Closes issue #8.
3.10.3
- Added: Storage now shows BitLocker status for drives where Windows exposes it, with protection, encryption, lock, method, and volume details available from Details.
3.10.2
- Fixed: The Language editor now supports F3 search from the tab, remembers the last file and entry you were editing, and handles typed multi-letter navigation in the entries list.
3.10.1
- Fixed: Category summary rows now localize their reading and group counts instead of mixing English wording into non-English languages.
- Fixed: Italian update and install messages now use proper accented characters where needed.
3.10.0
- Added: Help now includes an initial setup wizard for show/hide and speak-tray hotkeys, plus a hints and tips browser that can optionally appear at startup.
- Added: Preferences now includes a Delete all settings command for starting fresh or cleaning a copy before sharing it. Logs and reports are kept.
- Fixed: Total space and used space readings can now be added to notification area status and spoken hotkeys. Closes issue #7.
3.9.2
- Improved: Bundled non-English preferences, alarm presets, hotkey presets, fan profile labels, and screen reader descriptions now have broader translation coverage, including newly localized accessible descriptions.
- Fixed: Ready removable drives such as SD cards and USB flash drives now appear with storage space and available logical-disk activity readings, making them available for notification area status, spoken hotkeys, reports, and alarms. Closes issue #6.
3.9.1
- Fixed: Sensor Readout no longer waits indefinitely for slow LibreHardwareMonitor startup on systems where hardware enumeration can take a long time. Windows-backed readings can appear first, and temperature/fan rows update when LibreHardwareMonitor finishes.
3.9.0
- Added: Each main category now starts with a Category summary row that gives a compact overview of readings, groups, detail coverage, and section-specific health signals.
- Added: Empty categories now explain the most likely next step, such as refreshing, connecting hardware, enabling a plug-in, checking hidden items, or waiting for slower Windows-backed data.
- Added: The Alarms tab now has practical presets for common available readings such as low battery, weak or disconnected Wi-Fi, high CPU/GPU temperature, disk health warnings, printer problems, CPU usage, memory usage, uptime, GPU memory, disk free space, and disk activity. Presets start unchecked so users only create the alarms they choose.
- Added: The Hotkeys tab now has spoken hotkey presets for common starter groups such as system status, network status, disk activity, GPU status, battery status, and fan/temperature status. Presets are created without assigned keys so they cannot steal existing shortcuts.
- Improved: Spoken hotkey profiles are now sorted by assigned key, Hotkeys and Alarms both use
Alt+P for Presets, and removing a spoken hotkey profile asks for confirmation unless you turn that prompt off.
- Added: Help now includes an accessibility setup check for screen reader output, notification area speech, show/hide keys, report/log folder availability, and start-minimized setup.
- Improved: Details now includes Copy matching, also available with
Ctrl+M, which searches the detailed tree and copies only matching lines for easier support sharing.
- Improved: Diagnostics now includes a support-readiness summary with data-source, plug-in, detail, fan-control, non-working-device, and empty-category counts.
3.8.1
- Improved:
File > Import settings and profiles... now uses Ctrl+I, matching Ctrl+E for export. The less common Plug-In ZIP importer now uses Ctrl+Shift+I.
3.8.0
- Fixed: Live refresh now avoids repeated WMI queries for network adapter details, GPU memory totals, and battery metadata, reducing sustained
WmiPrvSE.exe CPU use on lower-powered systems while keeping those details available.
- Fixed: When elevated, Sensor Readout can now make one recovery attempt if core Windows WMI gets stuck with the specific "paging file is too small" failure that can otherwise leave USB, Devices, Battery, and other Windows-backed sections blank.
- Fixed: Plug-ins can now load correctly from extracted downloaded ZIP builds when Windows marks the files as downloaded from the internet.
- Added: Experimental MSI Laptop Support plug-in for opt-in tester feedback. It checks MSI ACPI WMI, Windows fan, and ACPI thermal-zone interfaces for extra fan, fan-control, or temperature data where a laptop exposes it.
- Improved: Saved TXT and HTML reports now show the Sensor Readout version near the top of the report, making support builds easier to identify.
- Improved: Notification-area status and spoken hotkeys now clearly announce when they are reading from a loaded static report, and report categories or hotkey readings that are absent from the report no longer imply that live data is still loading.
3.7.1
- Fixed: Automatic updates now replace shipped folders such as Plug-Ins, Docs, Langs, and Data cleanly instead of merging new files into old folders. This prevents duplicated plug-ins and stale shipped files after updating.
- Fixed: Update backups now go into a top-level
Backups folder as ZIP files, while Config, Logs, and Reports remain reserved for live settings, logs, and saved reports.
- Fixed: Plug-In loading now ignores duplicate manifests and only scans the root Plug-Ins folder plus one folder per plug-in, preventing nested stale copies from being loaded twice.
3.7.0
- Fixed: Manual refresh with
F5 now rebuilds USB and device inventory immediately, so newly plugged or unplugged USB devices can appear without restarting Sensor Readout.
- Improved: The EXE, plug-in SDK, and bundled plug-in DLLs now carry matching Sensor Readout file and product version metadata, and the build fails if those versions drift.
- Added: Experimental Lenovo Laptop Support plug-in for opt-in tester diagnostics on Lenovo systems. It checks Lenovo fan WMI, Windows fan, ACPI thermal-zone, and Lenovo WMI interfaces for extra read-only fan or temperature data.
3.6.2
- Fixed: Preferences now has a tab-reachable
Rename... button for notification-area spoken labels, with a cleaner tab order and Alt+R accelerator.
- Fixed: Spoken hotkey and notification-area speech changes made in Preferences can be tested immediately before closing Preferences, including newly created spoken hotkeys and renamed labels.
- Improved: Display adapter Details now include additional GPU registry fields for NVIDIA, AMD, and Intel adapters, plus NVIDIA driver data from
nvidia-smi where available, including CUDA compute capability, VBIOS, clocks, power limit, temperature, PCI IDs, and memory figures.
- Improved: Printer rows now include richer Details from Windows printer WMI, printer configuration WMI, and print registry/driver data, while keeping binary registry blobs short enough for screen-reader review.
- Improved: Audio device and endpoint Details now include raw Windows sound-device WMI fields and endpoint registry properties, with binary blobs summarized instead of expanded.
3.6.1
- Fixed: Localized manuals no longer include corrupted oversized text, and the release checks now block stale visible manual versions and bad manual encoding before packaging.
3.6.0
- Added:
File > Compare reports... compares two saved Sensor Readout reports, including added, removed, changed, and detail-level differences for before-and-after troubleshooting.
- Added:
File > Save anonymized report... creates a shareable report with common private identifiers masked before sending it outside your own machine.
- Added:
Help > Prepare support report... creates a diagnostic ZIP and gives a guided support flow with the file path ready to copy or attach to a GitHub issue.
- Added: Performance/Overview includes a Data sources group that shows which Windows, LibreHardwareMonitor, database, plug-in, and Sensor Readout sources contributed to the current view.
- Added: Optional reading history logging can write selected readings to a short-term CSV log for troubleshooting trends during normal refreshes.
- Added: Command-line options can now create anonymized reports and compare two saved reports for unattended testing or scripted support workflows.
- Improved: Spoken hotkey and notification-area speech changes made in Preferences now apply immediately, so a hotkey can be tested before closing Preferences.
- Improved: The hotkey and tray assignment dialog now shows the notification area status hotkey and selected reading count, matching the spoken hotkey entries.
- Improved: Update downloads now use the same Sensor Readout user-agent label as update checks.
3.5.0
- Added: Performance/Overview can now show Windows GPU memory usage where available, including dedicated GPU memory total, used, free, and shared GPU memory used. These readings can be used in notification area status, spoken hotkeys, reports, and alarms.
- Improved: Refresh now lives in the View menu, and F5 refresh handling is more reliable from the main window.
- Improved: The refresh interval preference can now be set as low as 1 second for users who want faster live readouts.
3.4.0
- Improved: SMART and disk Details now include more Windows physical-drive information where available, including bus type, sector sizes, firmware/software version, serial and unique IDs, physical location, slot/enclosure fields, storage usage, pool eligibility, and spindle speed for drives that report it.
- Improved: Asus laptop support can now fall back to ASUS WMI sensor readings and ASUS thermal-mode fan control on models that reject direct fan-curve writes.
- Improved:
Ctrl+Shift+H can now add or remove the selected reading from notification area status as well as spoken hotkey profiles, and it can create a new spoken hotkey profile without opening Preferences first.
3.3.1
- Fixed: Run at Windows startup now uses a Windows logon task with highest privileges instead of a Startup folder shortcut, so installed copies can start reliably even though Sensor Readout needs administrator rights for hardware access.
3.3.0
- Improved: Performance/Overview now uses clearer group names for CPU and memory readings and printer summary rows, avoiding duplicate-looking System and Printers branches in the tree.
- Improved: CPU and baseboard Details now include deeper Windows/SMBIOS fields such as cache associativity and write policy, chassis type, memory slot counts, expansion slots, and raw Windows fields where available.
- Improved: Windows and firmware Details now include additional OS, registry, licensing, system product, BIOS, Secure Boot, and TPM fields where Windows exposes them. Product keys are shown only as masked endings so shared reports do not leak full keys.
- Improved: Disk Details now include physical disk, partition, hidden/no-letter partition, and logical volume information where Windows exposes it.
- Improved: Network Details now include gateway, DNS, DHCP, IP, MTU, adapter statistics, and raw Windows adapter/configuration fields where available.
- Improved: Details now open as a grouped tree instead of a two-column list, so screen readers read each field and value as one item, raw WMI or registry fields can be skipped by group, and F3/F4 work inside Details for search and text review.
- Added:
Ctrl+Shift+C copies the selected reading value only, without the reading name, making model numbers, device strings, UUIDs, and similar fields easier to reuse.
- Improved: Screen-reader users now hear "Has Details" after tree items that support the Details command, without adding that hint to copied text or reports.
3.2.1
- Fixed: The Windows startup option now refreshes Sensor Readout's Startup Apps approval state as well as the startup-folder shortcut, so Run at startup is more reliable on systems where Windows has kept a stale approval entry.
3.2.0
- Improved: Performance/Overview is now split into clearer subgroups for System, Windows, firmware and board, graphics, printer summary, printers, and storage instead of one long flat overview.
- Improved: Printer rows now appear under a Printers subtree with one branch per printer, so screen readers no longer hear the full printer name before every field.
- Added: Printers with offline, paused, error, stopped, or queued-job states are also shown in a Printer issues group when Windows reports a problem.
- Added: Printer supply percentages, offline state, and queued job counts can be used in notification area readings, spoken hotkeys, and alarms when Windows exposes those values.
- Added: The new Hotkeys menu shows the configured key for speaking tray status, show/hide, spoken hotkey profiles, and fan profile hotkeys, and it provides the quick command for adding the current reading to a spoken hotkey.
3.1.1
- Fixed: SMART lifetime
Data read and Data written totals are shown again when LibreHardwareMonitor exposes them.
- Improved: Sensor Readout now tries additional Windows NVMe SMART paths for storage devices, including standard NVMe health-log data and ASMedia-style USB NVMe bridge data where Windows permits access.
- Added: Performance/Overview now includes Windows printer status, configuration, and ink or toner level percentages when the printer driver exposes them.
- Added: Devices now places problem devices in a clear Non-working devices group, making Device Manager-style driver or hardware failures easier to find with a screen reader.
- Fixed:
Alt+F4 now closes Sensor Readout from the reading tree even when the selected row also supports Details.
3.1.0
- Added:
Edit > Add/remove from spoken hotkey... (Ctrl+Shift+H) lets you add the selected reading to a spoken hotkey profile, or remove it again, without opening the full Preferences workflow.
- Added:
Edit > Expand all (Ctrl+Shift+Right) and Edit > Collapse all (Ctrl+Shift+Left) make large categories easier to browse or reset.
- Improved: Notification area tooltips can now use Windows' longer native tooltip text where available, so more selected readings can be shown directly before falling back to
.... This closes GitHub issue #3.
- Improved: Preferences includes an option to show as many readings as possible in the notification area tooltip, or keep long notification tooltips to the simple
Sensor Readout label.
- Fixed: Showing and hiding the main window no longer collapses the reading tree unexpectedly.
- Fixed: Installing to this PC now applies the selected Windows startup option during the install flow.
3.0.1
- Fixed: Updating Sensor Readout no longer copies bundled
Config, Logs, or Reports folders over an existing installation, preserving hotkeys, notification area readings, spoken hotkey profiles, fan profiles, alarms, reports, and logs during updates.
3.0.0
- Added:
Devices gives a Device Manager-style Windows hardware inventory with grouped sections, a compact tree, and detailed PnP, PCI, driver, registry, and resource fields available through Details and reports.
- Improved: Details for CPU and memory rows now include deeper Windows hardware fields such as processor identifiers, WMI CPU properties, cache records, memory array limits, module manufacturer/part/serial information, speeds, widths, voltages, and memory type where Windows exposes them.
- Improved:
Download and install can now remember when you do not want to see the close/install/reopen confirmation again, and Preferences > Hidden items can turn that confirmation back on.
- Improved:
Uninstall from this PC now offers an explicit option to also delete Config, Logs, and Reports for a complete cleanup.
- Added:
File > Export portable copy... (Ctrl+Shift+E) creates a ZIP of the customized app for use on another PC, including settings and custom app files with optional Reports and Logs.
- Improved: TXT reports now keep exact reopen data in a labelled, wrapped block after the readable report content, avoiding one very long screen-reader-hostile line.
- Added: Performance/Overview now shows CPU cache sizes, including L1, L2, and L3 where Windows reports them.
- Improved: The title bar for an opened report now shows the report computer directly, such as
Report: Example-PC, instead of repeating the full report title.
- Fixed: Notification area tooltips now use the same configured labels as spoken tray status when they fit, and show a clear summary instead of a clipped partial list when Windows' tooltip limit is reached. This closes GitHub issue #2.
2.3.0
- Added: Optional quiet update installs can download, install, close, and reopen without showing release notes first.
Help > Version history... opens the latest release notes on demand.
- Improved: Startup and Install now shows Uninstall from this PC when Sensor Readout is already running from the installed location, and can create a desktop shortcut directly from the same tab.
- Improved: Install to this PC now offers desktop and Windows startup shortcut choices in one dialog before copying and reopening the installed copy.
- Improved: The title bar shows the current computer name after the Sensor Readout version, matching the extra context shown while viewing a saved report.
- Improved: Automatic updates only preserve changed or custom language files instead of backing up the whole language folder on every update.
- Improved:
File > Open report... can open a ZIP file that contains a Sensor Readout TXT or HTML report, so users do not have to extract a report manually before viewing it.
2.2.1
- Fixed: System uptime now refreshes continuously with the normal sensor update cycle instead of staying on an older cached Overview value.
2.2.0
- Added:
Edit > Find reading... (F3) searches readings across all categories. The same F3 search dialog is available in Preferences reading lists when choosing notification area readings, spoken hotkey readings, or fan-profile controls.
- Added:
Edit > Review text... (F4) opens the selected reading or tree branch in a read-only edit box, making it easier to inspect exact spelling or punctuation after screen-reader speech. The Copy command confirms through the active screen reader after copying.
- Added:
File > Export settings and profiles... (Ctrl+E) and File > Import settings and profiles... (Ctrl+I) create selective transfer packages for general preferences, notification area readings, spoken hotkey profiles, fan profiles, fan curves, alarms, hidden items, and plug-in choices. Hardware-specific items are imported unassigned, disabled, or ready for review so they can be bound safely on the current computer.
- Added: Wi-Fi adapters can show connection state, SSID, access point, signal strength percentage, RSSI in dBm, channel, frequency, radio type, receive/transmit link speeds, and security details when Windows exposes them. Wi-Fi connection state, signal, RSSI, channel, frequency, and link speeds can also be used for notification area status, spoken hotkeys, and alarms where numeric thresholds make sense. This closes GitHub issue #1.
- Improved: Notification area status can include up to eight selected readings, making room for Wi-Fi signal, System uptime, and other key readings alongside CPU, GPU, fan, or network values.
- Improved: Startup and Install warns when minimized startup is enabled without a show/hide hotkey, and the manual explains how to reveal the tray icon if Windows hides it.
- Improved: Context menus hide unavailable Details or Rename commands for the selected reading.
2.1.0
- Added: Startup and Install adds an
Alt+I Install to this PC command that can move a portable or synced-folder copy into the normal Windows programs folder for this user. It can also create a desktop shortcut, keep Windows startup pointing at the installed copy, close the old copy, and reopen Sensor Readout from the installed location.
- Added:
File > Open Reports folder (Ctrl+Shift+O) and File > Open Logs folder (Ctrl+Shift+L) make saved reports and logs easier to find.
- Added: Enabled plug-ins can add related support pages to the Help menu, such as vendor utility pages for Dell, Asus, HP, OMEN, Victus, and Framework laptops.
- Improved: Automatic updates handle unusual Windows temporary-folder settings more reliably.
- Improved: Saved report file names include the computer name, making reports from several machines easier to sort.
- Improved: Desktop PCs with vague Windows model names now show clearer motherboard information when Windows provides it.
- Improved: Performance/Overview shows more Windows and firmware details, including Windows edition, version, build, architecture, install date with age, boot time, BIOS mode, Secure Boot, SMBIOS version, and embedded controller version when Windows provides them.
2.0.0
- Added: Audio category for sound devices and endpoints, grouped by device/interface with playback and recording entries, vendor/status details, and default format details such as channels, sample rate, and bit depth where Windows exposes them.
- Added: Display category for graphics adapters and monitors, including adapter memory, resolution, refresh rate, driver details, monitor vendor, product code, serial, and manufacture date where Windows exposes them.
- Added: USB details now include connected devices, hubs, controllers, connection speed, capable speed, requested power, drive letters, safe-to-unplug status, copyable detail fields, USB network adapter MAC/OUI details, and USB storage hardware ID/OUI details where Windows exposes them.
- Added: Saved TXT and HTML reports can be opened from
File > Open report... or Ctrl+O as static snapshots in the normal Sensor Readout tree, so another user's report can be inspected without reading the raw file manually. Use File > Return to live readings or Ctrl+R to return to the current computer.
- Improved: Performance/Overview now gives CPU details beyond usage, including CPU model, vendor, cores, threads, clocks, socket, architecture, instruction sets such as SSE and AVX, and clearer virtualization labels where Windows exposes them.
- Improved: The Preferences manual section is now organized by tab, with shortcut keys and clearer explanations of what each pane controls.
- Added:
Help > Run diagnostics..., Alt+F1, and --diagnostics [path] create a support ZIP containing TXT and HTML reports, a debug log, timing data, a diagnostic summary, and a short fan-control test that restores the previous fan state afterward. Diagnostic ZIP names include the computer name, and temporary staging files are removed after the ZIP is created.
- Added: Diagnostics can speak progress, say "Complete." when finished, and play configurable start/completion sounds from Preferences. Command-line diagnostics can be silenced with
--diagnostics-quiet, --no-diagnostics-speech, or --no-diagnostics-sounds.
- Added: Experimental Asus ROG Support plug-in for opt-in tester feedback. It can read Asus ATKACPI temperature and fan data where available, and attempts fan control on supported models. Initial plug-in work by Jason Fayre and Claude Code; ACPI behavior is based in part on G-Helper research.
- Fixed: Tray icon rendering now falls back safely if Windows/GDI+ refuses to create a dynamic icon, preventing a repeated crash/restart loop.
1.6.2
- Added: If Sensor Readout crashes during normal use, it writes the crash log and tries to restart automatically, stopping after three crash restarts in a short window to avoid a loop.
- Added: Fan profiles can now disable spoken confirmation or use a custom spoken message. Use
{0} in the message to include the profile name.
- Added: Fan profile and fan curve setup screens can show stopped or hidden fan controls, matching the Fan Controls dialog.
- Added: Experimental Dell Latitude Support plug-in for opt-in tester diagnostics on Dell systems with Dell Command | Monitor WMI data. It is disabled by default and read-only.
- Fixed: Fan profile hotkeys now refresh only live sensor rows after changing fan state, avoiding unnecessary SMART/USB refresh work before other spoken hotkeys respond.
- Fixed: Fan curves that are temporarily taken over by manual fan controls or fan profile hotkeys now resume automatically when those fans are returned to automatic/default control.
- Fixed:
Show stopped in the Fan Controls dialog is now saved immediately even if no manual fan setting is changed.
- Added: Crash diagnostics are now written to the Logs folder even when normal logging is turned off.
- Improved: Spanish language text has been polished with help from Dreamburguer, including accents and more natural wording for keyboard shortcuts and spoken feedback.
1.6.1
- New: Fan profiles can now be used as toggles. Press a fan profile hotkey once to apply it, then press the same hotkey again to return those fans to automatic/default control.
- New: Spoken hotkey profiles can be imported from another Sensor Readout machine config. Readings that match the current machine are kept, while missing machine-specific readings are skipped.
- New: Update dialogs now show every release note between the installed version and the newest version, headed by the current version, new version, and version range.
- Added: Fan profile hotkey actions can play a chosen sound when the profile is applied.
- Added: The update-available dialog can play a chosen sound from Preferences.
- Added: Startup speech can now be disabled with a checkbox instead of using a blank or placeholder startup message.
- Added: Experimental HP Hardware Support plug-in for opt-in tester diagnostics on HP/OMEN/Victus systems. It is disabled by default and read-only.
- Added:
Help > Install Core Temp support... explains the optional CPU fallback and can open the Core Temp website or launch a winget/Chocolatey install with user confirmation.
- Fixed: Closing a running Sensor Readout instance with
--close now hides the notification area icon first, reducing orphaned tray icons during updates and test runs.
- Fixed: Framework Laptop setup notes now state that the bundled Framework plug-in must be enabled in Preferences before Framework Control readings can appear.
- Improved: The update dialog keeps Download and install as the first button when a ZIP package is available.
1.6.0
- New: Opt-in hardware plug-in system. Plug-ins live in the
Plug-Ins folder, appear in Preferences, and are disabled until the user enables them.
- New: Plug-in ZIP import from Preferences > Plug-Ins. Imported plug-ins are validated, copied into the right folder, and left disabled for safety.
- Added: Framework Laptop support is now shipped as an optional Framework plug-in instead of being built into the main app.
- Added:
Docs\Plug-In-development.md for developers who want to build hardware plug-ins for Sensor Readout.
- Added: Memory total now appears in Performance/Overview alongside memory used and memory available.
- Added: Reports now default to a
Reports folder instead of the main program folder.
- Improved: GitHub self-updates back up the existing
Langs folder before replacing shipped language files, protecting user language edits.
- Changed: OEM-specific hardware support can now be added through plug-ins, keeping the main app smaller and safer to maintain.
1.5.2
- Fixed: Framework Laptop systems without Framework Control installed or running no longer wait through repeated local API timeouts before normal readings appear.
- Fixed: Normal LibreHardwareMonitor, Windows, and Core Temp readings remain available on Framework systems even when the optional Framework Control API is unavailable.
1.5.1
- Added: Optional read-only Framework Control API support. When Framework Control is installed and running, Sensor Readout can show Framework Laptop temperature and fan RPM readings.
- Added: Battery section for laptop charge, status, capacity, health, cycle count, voltage, and power rate when Windows exposes those values.
- Added: Framework Laptop setup notes in the manual, including BIOS update guidance and the Framework Control project link.
- Fixed: On a new machine with no machine-specific config yet, copied portable/shared settings no longer silently enable Windows startup registration from another computer.
1.5.0
- New: USB category for connected devices, hubs, and controllers, with concise tree rows, copyable detail fields, bundled
Data\usb.ids vendor/product lookup, and extra information such as connection speed, capable speed, requested power in mA, port, drive letters, safe-to-unplug status, USB network adapter MAC address/OUI vendor and storage hardware ID/OUI vendor where available, VID/PID, driver key, service, and Windows device IDs where Windows exposes them.
- New: Fan curves can link a writable fan control to a temperature reading with low, high, and emergency points.
- New: Fan profiles can apply several fan controls at once, including automatic/default control, and can be triggered from optional global hotkeys. New setups include empty starter profiles that users can fill with their own fans.
- Added:
Ctrl+U opens Fan Curves directly from anywhere in the main app.
- Fixed: Fan Curves now uses friendly fan names and follows the same hidden or stopped fan filtering as Fan Controls.
- Improved: Visible reading lists defer refresh redraws briefly while menus or tree navigation are active, reducing focus stalls during background updates.
- Improved: Preferences now has a General > Updates section where automatic GitHub update checks can be set to startup, hourly, 6-hourly, 12-hourly, daily, weekly, or never.
- New: Network adapters show MAC address and OUI vendor when the bundled OUI database contains the adapter prefix.
- Added:
Data\oui.csv is bundled as a separate MIT-licensed data file for MAC vendor lookup.
- Changed: Spoken output uses the Tolk screen-reader library, opening speech support beyond one screen reader and allowing SAPI fallback where available.
- Fixed: Launching Sensor Readout while it is already running closes the existing instance and starts the new one cleanly, while command-line report generation can still run beside the active app.
- Improved: TXT and HTML reports include USB details and other row details, making reports more useful when diagnosing hardware support.
- Changed: SMART now focuses on health, status, temperature, wear, errors, and hours, while live disk read/write rates and activity use Windows performance counters.
1.4.3
- Changed: Portable preferences such as language, refresh settings, temperature unit, startup/shutdown sounds, startup speech, update checks, and global hotkeys now live in
Config\Shared.json so they can follow the app between machines.
- Changed: Hardware-specific setup such as selected tray readings, spoken hotkey reading lists, alarms, hidden readings, fan labels, fan controls, custom spoken reading labels, logging level, and Windows startup registration stays in
Config\.json. Shared preferences are no longer duplicated into the machine-specific file. Unsafe navigation keys such as Shift+Tab are rejected when assigning global hotkeys.
1.4.2
- Fixed: Automatic update installs now merge folder contents into existing folders instead of creating nested folders such as
Langs\Langs, Docs\Docs, or Sounds\Sounds.
- Fixed: Sensor Readout repairs installs already affected by nested update folders on startup, moving the newer files back into the correct locations.
- Improved: The prerequisite installer now falls back from winget to Chocolatey, then to the official PawnIO.Setup GitHub download when winget is unavailable.
1.4.1
- Fixed: Ctrl+Alt combinations can now be captured correctly when assigning global hotkeys in Preferences.
- Added: Double-press copy actions now speak "Copied to Clipboard." through the active screen reader after the text is copied.
1.4.0
- New: Reading alarms can monitor numeric sensor values and notify with screen reader speech, optional WAV sounds, per-alarm cooldowns, and a flashing notification-area icon.
- New: Alarm thresholds are unit-aware. Temperature alarms can use C or F, fan alarms use RPM, rate alarms can use B/s, KB/s, MB/s, or GB/s, and size-style readings can use byte units where applicable.
- New: Startup and shutdown sounds can be chosen from the Sounds folder, with preview while choosing a sound.
- New: Speech hotkeys can copy their spoken output to the clipboard with an optional double-press gesture.
- New: Preferences now supports Delete for removing selected items, Ctrl+1 through Ctrl+6 for jumping between tabs, F2 for name/edit fields, and Enter for the main value field where applicable.
- Changed: Source code has been split into focused files for startup, models, preferences, the main form, and native/screen reader interop, making future maintenance safer.
- Added: Command-line options for starting minimized, closing a running instance, setting the logging level, and saving TXT or HTML reports.
- Fixed: Update-available release notes now display GitHub changelog lines clearly instead of running Markdown items together.
1.3.1
- Added: Optional Core Temp shared-memory fallback for CPU temperatures and CPU load when Core Temp is already running.
- Fixed: Systems where LibreHardwareMonitor exposes no CPU temperature can now still show CPU readings if Core Temp supports the processor.
- Added: Guidance for users with missing CPU readings: install and run Core Temp from https://www.alcpu.com/CoreTemp/ so Sensor Readout can use its shared-memory data. Fan control still depends on LibreHardwareMonitor, PawnIO, and the hardware exposing writable fan controls.
1.3.0
- New: Create multiple spoken hotkey profiles, each with its own key combination and ordered set of readings.
- New: Selected tray and spoken-hotkey readings show a speech preview, and spoken-hotkey readings can be renamed for shorter speech.
- New: Spoken feedback can omit device names for shorter screen reader output such as
Rx 688.4 KB/s; Tx 14.4 MB/s.
- Improved: Repeated spoken labels are grouped for concise output, for example
CPU: 15.0%; 45.1 C.
- Improved: Hotkey and speech controls now live together on a dedicated Hotkeys tab.
- Improved: Preferences reopens on the tab you used last during the current session.
- Improved: Startup options now live together on a dedicated Startup tab.
- New: Startup update checks can be turned off in Preferences.
- Improved: Preferences now protects plain text entry so typing profile names does not trigger unrelated UI accelerators.
- Improved: Reading selection lists in Preferences support buffered multi-character search, so typing more than one letter can find entries such as Ethernet Rx.
- New: Fan readings can show the matching control percentage next to RPM, and those percentages feed the selected-reading progress meter for screen reader feedback.
- Improved: Saved manual fan settings are restored in the background on startup, while saved automatic/default fan settings no longer slow launch.
- Fixed: Update-available dialog buttons now include keyboard accelerators.
- Changed: Shipped folders now use consistent casing:
Config, Logs, Langs, and Docs, while folder lookup remains case-insensitive for existing installs.
1.2.1
- Fixed: Storage free/used-space readings now come from Windows logical drives, avoiding mismatched LibreHardwareMonitor space values on some SSDs.
- Improved: The selected-reading progress meter now works for any valid percentage reading, including memory available, memory used, drive free space, drive used space, CPU usage, activity percentages, and localized comma-decimal percentages.
1.2.0
- New: Multilingual interface support with English, German, Spanish, French, and Italian language files.
- New: Language editor in Preferences for editing translated text, creating new language files from English, and changing the NVDA startup message.
- New: HTML manuals in the
docs folder, with F1 opening the manual for the selected language.
- New: Temperature-unit control for Celsius or Fahrenheit.
- New: Decimal-separator control with language default, period, and comma choices.
- New: Optional global hotkeys for show/hide and speaking the current notification-area status.
- New: Configurable NVDA startup speech for minimized startup.
- New: Performance/Overview page with uptime, BIOS, system, storage, and GPU overview details.
- Added: 64-bit NVDA Controller Client files for optional NVDA speech from the portable folder.
- Added:
Options > Speak tray status now.
- Added: Help > Contact and Help > Donate links. Sensor Readout remains free.
- Added: Help > Check for updates displays GitHub release notes, checks silently at startup, and can install a downloadable portable ZIP.
- Fixed: Preferences has a Close button on every tab, and Escape closes the dialog.
- Fixed: Language switching refreshes Preferences, the main window, reading labels, common screen-reader labels, and combo-box values without requiring a restart.
- Fixed: GitHub update checks use TLS 1.2 for compatibility with GitHub's current HTTPS requirements.
- Fixed: Missing notification-area selections are preserved during startup and upgrades.
- Fixed: Samsung SMART data counters are converted correctly so read/write totals display as readable GB/TB values.
- Fixed: GPU fan controls exposed by LibreHardwareMonitor stay visible even when the GPU is in fan-stop mode.
- Fixed: Fan Controls refreshes the selected fan state after manual, automatic, and all-fan actions without closing the dialog.
- Improved: Startup displays the main window while sensor refresh continues in the background.
- Improved: GPU adapter memory reporting uses Windows' 64-bit display registry value.
- Improved: Selected percentage readings expose progress value-change events for screen readers.
- Improved: Minimized or hidden operation keeps tray status fresh while reducing visible UI rebuild work.
- Improved: The main window toolbar is cleaner, with duplicate Refresh and Save report buttons removed in favour of the menu and keyboard shortcuts.
- Changed: Preferences saves edits immediately for hotkeys, tray selections, hidden items, startup options, and language choices.
- Changed: Per-computer settings live in
Config, logs live in Logs, and old top-level JSON/log files are migrated automatically.
- Changed: Logging includes diagnostics for hotkeys and NVDA speech.
1.1.0
- Removed the combined Overview section to reduce duplicate tree navigation.
- Added Network as a first-class section.
- Moved Performance to the top of the section list and to
Ctrl+0.
- Grouped Performance into System and Storage.
- Reworded the section list accessibility description so it is clearer that the list changes views only.
- Added Windows startup and start-minimized preferences.
- Added selected-reading progress feedback for percentage readings.
- Added ordered notification area reading selection and shorter notification tooltip labels.
- Added keyboard movement for notification area readings in Preferences.
- Added project page links to the README, Help menu, and About dialog.
- Added Help > Check for updates, backed by GitHub Releases.
- Changed About into a keyboard-friendly dialog with a Project page button.
- Pruned unused DLLs from the portable package.
- Expanded bundled component attribution in README and About.
1.0.0
- Initial portable release with sensor reading, report export, tray readouts, per-computer settings, hidden readings, fan labels, and direct LibreHardwareMonitor/PawnIO fan control.
Credits
Created by Codex. Ideas by Andre Louis.
A huge thanks to everyone who has submitted a GitHub issue or pull request. You have helped make Sensor Readout better.
Questions and feedback can be sent through Help > Contact in the app or .
Sensor Readout is free software. If you want to support Andre's work, use Help > Donate in the app or visit .
Portuguese translation and manual by Vitor Ferreira.
Polish translation and extended manual by Paweł Podolski.
Sensor Readout uses or bundles components from these projects:
- LibreHardwareMonitor and LibreHardwareMonitor on GitHub, for hardware sensor access.
- PawnIO and PawnIO.Setup, for low-level motherboard sensor access where supported.
- Newtonsoft.Json, for configuration file handling.
- HidSharp, used by LibreHardwareMonitor for HID device access.
- DiskInfoToolkit, used by LibreHardwareMonitor for storage data.
- RAMSPDToolkit, used by LibreHardwareMonitor for memory SPD data.
- BlackSharp.Core, used by LibreHardwareMonitor dependencies.
- Prism screen reader library, used as the preferred optional speech output backend on supported systems.
- Tolk screen reader library, used for optional screen-reader speech output.
- Microsoft TraceEvent, used only during an explicitly started Audio Latency diagnostic to read Windows ETW timing events.
- Framework Control, used through its optional local API when present on Framework Laptop systems.
- G-Helper, whose GPL-licensed Asus ACPI research is used in the optional experimental Asus ROG plug-in.
- usb.ids, used under its BSD license option for USB vendor and product names.
- MAC Address Vendor Database, used under the MIT License for MAC/OUI vendor lookup.
- Microsoft .NET Framework and support libraries.
License
The main Sensor Readout application is licensed under the MIT License. See LICENSE.txt.
Some optional bundled plug-ins or data files have their own licenses and notices. In particular, Plug-Ins\AsusRog contains G-Helper-derived ACPI work and ships with its own GPL notice and GPL text in that folder. Plug-Ins\Corsair contains an original implementation based on cross-checked public Corsair protocol research and ships with its own notice and GPL-3.0-or-later license text.