gitwtfhub

wtf is bequiet-darkmount-mediadock-stats?

mikeandrews90/bequiet-darkmount-mediadock-stats — explained in plain English

Analysis updated 2026-05-18

3JavaScriptAudience · developerComplexity · 2/5Setup · moderate

TL;DR

A Node.js script that shows live CPU, RAM, and GPU stats on the be quiet! Dark Mount keyboard's media dock LCD, updated every 20 seconds via browser automation.

Mindmap

mindmap
  root((keyboard-stats))
    What it does
      Live system stats
      LCD display update
      20-second refresh
    Stats shown
      CPU percent
      RAM usage
      GPU and VRAM
      GPU temperature
    How it works
      Node.js script
      Playwright automation
      be quiet IOCenter
      WebHID push
    Requirements
      Windows only
      Node.js 18 plus
      Nvidia GPU optional

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Display live CPU, RAM, and GPU stats on a be quiet! Dark Mount keyboard's media dock screen.

REASON 2

Automate the be quiet! IOCenter web app to push custom images to the keyboard LCD from a Node.js script.

What's in the stack?

JavaScriptNode.jsPlaywrightChromiumPowerShell

How it stacks up

mikeandrews90/bequiet-darkmount-mediadock-statsamarjitjim/browserpilotboneskull/buggin
Stars333
LanguageJavaScriptJavaScriptJavaScript
Last pushed2022-12-30
MaintenanceDormant
Setup difficultymoderatemoderateeasy
Complexity2/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a be quiet! Dark Mount keyboard and a one-time manual WebHID approval in the browser on first run.

Wtf does this do

This small Node.js script displays live system statistics on the tiny LCD screen built into the media dock of the be quiet! Dark Mount keyboard. The stats update every 20 seconds and show the current time, CPU usage percentage, RAM usage, GPU usage percentage, VRAM usage, and GPU temperature. The be quiet! keyboard communicates through a web-based control app called IOCenter, which pushes images to the keyboard over the browser's WebHID interface. This script cannot talk to the keyboard directly, so instead it generates a PNG image of the stats panel, then uses browser automation (Playwright and Chromium) to upload that image to the official IOCenter web app, which relays it to the keyboard's display. On the first run, you need to approve the WebHID hardware connection manually in the browser's device picker. After that, the browser profile saves the permission and all subsequent runs are fully automatic. A Visual Basic script lets you launch the whole thing with a double-click. The browser window opens briefly, connects to the keyboard, then minimises to the taskbar. Stats refresh every 20 seconds from there. Logs go to a file so you can check activity without opening the browser window. GPU stats come from nvidia-smi and work best with an Nvidia card. If nvidia-smi is not found on the machine, the display falls back gracefully and still shows CPU and RAM. The update interval can be changed by editing one line near the top of the main script. The project is Windows-only because it reads GPU performance counters through PowerShell. It requires Node.js 18 or newer and Playwright's Chromium browser installed through npm. It is not affiliated with or endorsed by be quiet!

Yoink these prompts

Prompt 1
I have bequiet-darkmount-mediadock-stats running. How do I change it to show disk usage instead of GPU temperature?
Prompt 2
Walk me through how the Playwright browser automation in automate.js uploads the stats PNG to the be quiet! IOCenter web app.
Prompt 3
My nvidia-smi isn't working with bequiet-darkmount-mediadock-stats. How do I check if it's installed and what path the script looks for?

Frequently asked questions

wtf is bequiet-darkmount-mediadock-stats?

A Node.js script that shows live CPU, RAM, and GPU stats on the be quiet! Dark Mount keyboard's media dock LCD, updated every 20 seconds via browser automation.

What language is bequiet-darkmount-mediadock-stats written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, Playwright.

How hard is bequiet-darkmount-mediadock-stats to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is bequiet-darkmount-mediadock-stats for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.