Portable disk health / SMART viewer for Windows, built with AutoIt + smartctl + a small Python helper.
It shows a quick overview, health summary (warnings), and a SMART items table, and can export TXT/HTML reports or copy a clean report to clipboard.
- List physical disks (WMI)
- Read SMART via
smartctl(supports SATA/SAS/NVMe) - Overview: model, serial, temp, power-on hours, protocol, SMART health
- Health summary: Overall (OK/WARNING/BAD/UNKNOWN) + warnings list
- SMART Items table with Severity column (auto-sorted)
- Export:
- TXT (raw helper output)
- HTML (client-friendly report)
- Copy Report button (clipboard)
Grab the latest compiled release from the GitHub Releases page.
If you build from source, see the “Build / Development” section below.
- Windows 10/11
- Run as Administrator (recommended) for best SMART access
- The app is portable: no installer
Put the EXE next to the tools folder like this:
DiskHealthViewer\
DiskHealthViewer.exe
DiskHealthViewer.ico
tools\
smartctl.exe
smartread.py (or smartread.exe)
python\python.exe (optional portable python)
smartctl.exe is required.
The helper can be either:
tools\smartread.exe(best: no Python required), ORtools\smartread.py(works with embedded python or system python)
- Right-click the app → Run as administrator
- Click Refresh to list disks
- Click a disk to select it
- Click Load SMART (or double-click the disk)
- Use:
- Copy Report → paste into notes/email/tickets
- Export TXT → saves raw helper output
- Export HTML → saves a nice report for clients
- Run as Administrator
- Make sure
tools\smartctl.exeexists - Some USB enclosures don’t expose SMART properly. Try:
- a different USB enclosure
- direct SATA/NVMe connection
- different smartctl device options (advanced users)
You have 3 options:
- Recommended: build/use
tools\smartread.exe - Include embedded python:
tools\python\python.exe - Use system python installed in PATH
Portable tools that bundle executables sometimes trigger false positives (especially with AutoIt-packed binaries).
Best practice:
- publish hashes (SHA-256) in Releases
- sign the EXE if you have a code signing cert
- keep sources public for transparency
DiskHealthViewer\
DiskHealthViewer_v1.2.3.au3
DiskHealthViewer.ico
tools\
smartctl.exe
smartread.py
Requirements:
- AutoIt v3.3.16.1 (or compatible)
- SciTE / AutoIt3Wrapper (comes with AutoIt)
Steps:
- Open
DiskHealthViewer_v1.2.3.au3 - Ensure the icon directive is set (optional but recommended):
#AutoIt3Wrapper_Icon=DiskHealthViewer.ico - Compile (SciTE → Tools → Compile or press F7)
Output:
DiskHealthViewer.exe
The GUI calls the helper like this:
smartread.exe --device "<DeviceID>" --smartctl "<path to smartctl.exe>"orpython smartread.py --device "<DeviceID>" --smartctl "<path to smartctl.exe>"
So the helper must output the expected sections:
OVERVIEWSUMMARYITEMS
Why: users won’t need Python installed.
Common approach:
- Use PyInstaller on a dev machine:
pyinstaller --onefile smartread.py --name smartread - Put the result as:
tools\smartread.exe
(Exact build flags may vary depending on your Python environment.)
smartctlis part of smartmontools- This GUI is a lightweight wrapper around smartctl output for practical tech use