explaingit

mikeandrews90/bequiet-darkmount-mediadock-stats

Analysis updated 2026-05-18

3JavaScriptAudience · developerComplexity · 2/5Setup · moderate

TLDR

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
Click or tap to explore — scroll the page freely

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

What do people build with it?

USE CASE 1

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

USE CASE 2

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

What is it built with?

JavaScriptNode.jsPlaywrightChromiumPowerShell

How does it compare?

mikeandrews90/bequiet-darkmount-mediadock-statsamarjitjim/browserpilotkitakitaaura/webgraph
Stars333
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderatemoderateeasy
Complexity2/53/51/5
Audiencedeveloperdeveloperdeveloper

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

How do you get it running?

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.

In plain English

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!

Copy-paste 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

What 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.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub mikeandrews90 on gitmyhub

Verify against the repo before relying on details.