A tiny, native driver for the displays of DeepCool CPU coolers, for Windows and Linux. It shows the CPU temperature or usage on the cooler without the official DeepCool app.
The official app is an Electron application that, on a typical setup, keeps 16 processes and about 1 GB of RAM busy to send one 64-byte USB packet per second (see the analysis). CoolerCast does the same job with a single small service written in Rust, plus an optional tray icon and settings window on Windows.
| Official DeepCool app 1.2.14 | CoolerCast 0.3 | |
|---|---|---|
| Processes | 16 (plus 3 services and 4 drivers) | 1 service + optional tray icon |
| RAM | ~1 GB working set | 0.8 MB private (service), 2.1 MB (app with its window open) |
| CPU while idle | several Chromium processes awake | 0 % (wakes once per second) |
| Install size | ~1.2 GB | 1.1 MB |
| Platforms | Windows | Windows and Linux |
Measured on a Windows 11 test system. RAM for CoolerCast is the private working set shown by Task Manager.
Note
This is an independent community project. It is not affiliated with, endorsed by or supported by DeepCool. Use it at your own risk.
| System | Download |
|---|---|
| Windows 10 / 11 | coolercast-windows-x64.msi (installer, recommended) |
| Windows, portable | coolercast-windows-x64.zip |
| Linux (x86-64, systemd) | coolercast-linux-x86_64.tar.gz |
These links always point to the latest version. Older versions, release notes and
SHA256SUMS.txt are on the releases page.
- CPU temperature (°C or °F), CPU usage, both alternating, or a fixed number of your choice.
- Temperature alarm (the display blinks above a threshold, 90 °C by default).
- Runs as a service: starts with the PC, no window needed.
- Windows: optional tray icon that shows the temperature, and a settings window with a live preview of the cooler display and the last two minutes of temperature and usage (translucent Acrylic glass on Windows 11).
- Reconnects automatically after unplugging the cooler or resuming from sleep.
- No runtime and no telemetry. The only network access is the Check for updates button, which asks GitHub for the latest version when you click it. The Linux build is a single static binary.
| Cooler | USB ID | Status |
|---|---|---|
| AK400 DIGITAL / DIGITAL SE | 3633:0001 |
Tested (A400-DIGITAL) |
| AK620 DIGITAL / DIGITAL SE | 3633:0002 |
Same protocol, untested |
| AK500 DIGITAL | 3633:0003 |
Same protocol, untested |
| AK500S DIGITAL / DIGITAL SE | 3633:0004 |
Same protocol, untested |
Other DeepCool products use different protocols. Contributions are welcome; see docs/protocol-ak-series.md for how the AK series works.
| Platform | CPU temperature from | Status |
|---|---|---|
| Windows, Intel | PawnIO, package thermal MSR | Tested |
| Windows, AMD Ryzen | PawnIO, Tctl over SMN | Experimental |
| Linux | kernel hwmon (k10temp, coretemp) |
Installs in CI, untested on a cooler |
- Remove the official DeepCool app. Both apps write to the cooler and would fight over the display. Uninstall it from Settings → Apps → Installed apps → DeepCool, or at least close it from its tray icon and turn it off in Settings → Apps → Startup.
- Make sure the cooler's USB cable is connected to a USB 2.0 header on the motherboard. The display only shows what the PC sends through that cable.
Windows does not let programs read the CPU temperature without a driver. CoolerCast uses PawnIO, a small signed open-source driver that LibreHardwareMonitor and FanControl also use. If you had the official DeepCool app, PawnIO is probably installed already.
-
Right-click the Start button and open Terminal.
-
Run this command and accept the prompts:
winget install namazso.PawnIO
Without PawnIO, CoolerCast still works but shows the CPU usage instead of the temperature.
- Download coolercast-windows-x64.msi.
- Double-click the file. CoolerCast is not code-signed yet, so Windows may show "Windows protected your PC": click More info → Run anyway.
- Accept the license, click Install and answer Yes when Windows asks for permission.
That is all: the service starts right away and starts with Windows from now on. Within a few seconds the cooler shows the CPU temperature.
Open CoolerCast from the Start menu. From there you can choose what the display shows, the unit, the alarm, and turn on Start with Windows to keep the CoolerCast icon in the taskbar's notification area (click it to open the window again).
Click Check for updates in the CoolerCast window. If there is a new version, click
Download and run the new .msi: it replaces the old version and keeps your settings.
Settings → Apps → Installed apps → CoolerCast → Uninstall. Your settings stay in
C:\ProgramData\CoolerCast; delete that folder too if you want to remove everything.
| Problem | What to do |
|---|---|
| The window says No cooler connected | Check the USB cable to the motherboard header and that the official app is closed. |
| Temperature unavailable | Install PawnIO (step 2), then restart the PC. |
| Service not running | Reinstall the .msi, or run coolercast start in a terminal opened as administrator. |
| Something else | The service log is at C:\ProgramData\CoolerCast\coolercast.log. Open an issue and attach it. |
Portable version (zip) instead of the installer
- Extract the zip to a permanent folder, for example
C:\Program Files\CoolerCast. - Open a terminal as administrator in that folder and run
.\coolercast.exe install. - Start
coolercast-app.exefor the settings window.
To remove it, run .\coolercast.exe uninstall as administrator and delete the folder.
- You need a distribution with systemd (Ubuntu, Debian, Fedora, Arch, openSUSE, Mint…) on an
x86-64 PC, and
sudorights. - Make sure the cooler's USB cable is connected to a USB 2.0 header on the motherboard.
- There is no settings window on Linux: everything is done with the
coolercastcommand.
Open a terminal and run these commands one by one:
curl -LO https://github.com/moicd/coolercast/releases/latest/download/coolercast-linux-x86_64.tar.gztar xzf coolercast-linux-x86_64.tar.gzsudo coolercast/install.shThe script copies the program to /usr/local/bin/coolercast, adds a udev rule so your user can talk
to the cooler, and installs and starts a systemd service that also starts at boot. You can delete the
downloaded files afterwards.
coolercast statusIt should list your cooler and the CPU temperature. Change what the display shows with, for
example, coolercast set mode=auto or coolercast set unit=fahrenheit (see Settings).
Repeat the three commands of step 2: the script replaces the old version and keeps your settings.
sudo /usr/local/share/coolercast/install.sh --uninstallYour settings stay in /etc/coolercast; delete that folder too if you want to remove everything.
| Problem | What to do |
|---|---|
coolercast status lists no cooler |
Check the USB cable, then run coolercast list to see whether the cooler is detected. |
| Temperature unavailable | Your CPU's temperature driver is not loaded. Run sudo modprobe k10temp (AMD) or sudo modprobe coretemp (Intel). |
| Something else | Read the log with journalctl -u coolercast and open an issue. |
coolercast list Show detected coolers and sensor readings
coolercast test Play a test pattern on the connected coolers
coolercast probe <what> Step through undocumented display values (see below)
coolercast run Drive the coolers in the foreground (Ctrl+C to stop)
coolercast status Show what the running service is doing
coolercast set key=value Change a setting, e.g. `set mode=auto unit=fahrenheit`
On Windows, coolercast install, uninstall, start and stop manage the service (as
administrator; the .msi installer already does this for you). On Linux, use systemctl (sudo systemctl restart coolercast) and
journalctl -u coolercast for the log.
Settings live in C:\ProgramData\CoolerCast\config.toml on Windows and
/etc/coolercast/config.toml on Linux. Change them with coolercast set, from the Windows app, or
by editing the file (as administrator or root); the service picks up changes immediately.
| Key | Values | Default |
|---|---|---|
mode |
temperature, usage, auto (alternates), custom |
temperature |
unit |
celsius, fahrenheit |
celsius |
alarm |
true, false |
true |
alarm_threshold |
40–110 (°C) | 90 |
interval_ms |
250–10000 | 1000 |
auto_interval_s |
1–3600 | 5 |
custom_value |
0–999, shown in custom mode |
0 |
custom_symbol |
celsius, fahrenheit, percent |
celsius |
custom_bar |
1–10 | 1 |
In custom mode the temperature alarm still blinks the display when the CPU gets hot.
The AK series display has fixed segments: three digits, the °C/°F/% symbols and a 10-step bar.
Only digits 0–9 and the values in the protocol notes are known.
coolercast probe sends other values one at a time so you can see whether the firmware hides
letters or other symbols. Stop the service first, then run, for example:
coolercast probe digit # digit values 10-31 in every position
coolercast probe mode 0 255 # every mode byte, with "123" on the digits
coolercast probe bar # bar values 0-20
coolercast probe raw 19 5 1 2 3 0Press Enter for the next value and type what you see to note it; the notes are printed as a table at the end. If the display stops responding, unplug the cooler's USB cable. Findings are welcome as issues.
The Windows service log is at C:\ProgramData\CoolerCast\coolercast.log.
coolercast (service)
├─ CPU usage ........ GetSystemTimes (Windows), /proc/stat (Linux)
├─ CPU temperature .. PawnIO + IntelMSR / AMDFamily17 module (Windows), hwmon (Linux)
├─ Cooler display ... HID output report once per second (WriteFile / /dev/hidraw)
└─ control channel .. \\.\pipe\coolercast (Windows), /run/coolercast/coolercast.sock (Linux)
◄── coolercast-app.exe / coolercast status|set
On Windows the service runs as LocalSystem only because reading the CPU temperature needs it; the app runs as a normal user and talks to the service over the control channel.
Requires the Rust toolchain and, on Windows, the Visual Studio Build Tools (MSVC). CoolerCast targets x86-64 only: DeepCool's digital coolers are made for desktop CPU sockets.
cargo build --release
cargo testThe binaries end up in target/release. On Windows, copy the third_party/pawnio-modules/*.bin
files to a modules folder next to them. The release files, including the MSI installer (WiX,
packaging/windows) and the Linux tarball (packaging/linux), are produced by
the CI workflow.
- PawnIO and its
modules by namazso (LGPL-2.1), shipped unmodified in
third_party/pawnio-modules. - The AK series protocol is also documented by the community in deepcool-digital-linux.
MIT. The PawnIO modules keep their own license (LGPL-2.1).