Skip to content
HN On Hacker News ↗

GitHub - christensen143/claude-trofeo-hud: Live Claude usage HUD for a $38 Thermalright Trofeo Vision LCD — session/weekly limits, token burn, and hypothetical API cost streamed from macOS over USB.

▲ 14 points 6 comments by christensen143 1w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is AI.

99 %

AI likelihood · overall

AI
0% human-written 100% AI-generated
SEGMENTS · HUMAN 0 of 1
SEGMENTS · AI 1 of 1
WORD COUNT 364
PEAK AI % 99% · §1
Analyzed
Aug 15
backend: pangram/v3.3
Segments scanned
1 windows
avg 364 words each
Distribution
0 / 100%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 364 words · 1 segments analyzed

Human AI-generated
§1 AI · 99%

A desk HUD that shows live Claude usage on a Thermalright Trofeo Vision 6.86" LCD (1280×480, USB-C, ~$38), driven from macOS. Inspired by the r/ClaudeAI "$38 Claude LCD Table Display" post. What it shows: Pro/Max session + weekly limit bars with reset countdowns (from Anthropic's usage endpoint), today's tokens and hypothetical API cost (via ccusage), the live session (project, model, burn rate), a clock, and an hourly token sparkline. Requirements macOS, Python 3.12+, uv, Node (for npx ccusage) brew install hidapi (C library behind the hidapi Python package) Claude Code installed and logged in (the HUD reads its local logs and its OAuth token from the Keychain — read-only, nothing leaves your machine except the usage query to api.anthropic.com) Setup uv sync uv run python -m claude_trofeo_hud preview # render mock layout to out/preview.png uv run python -m claude_trofeo_hud run # live HUD on the LCD (Ctrl-C stops) uv run python -m claude_trofeo_hud install-agent # start at login via launchd On the first run, macOS asks for Keychain access to "Claude Code-credentials" — choose Always Allow so the daemon can run unattended. uninstall-agent stops and removes the launchd agent. Config lives in config.toml (fps, JPEG quality, night dim/off hours). Logs go to ~/Library/Logs/claude-trofeo-hud/. How it drives the display The panel is not a monitor — it's a USB HID device (VID:PID 0416:5302) that accepts JPEG frames over a reverse-engineered protocol. We use the device classes from thermalright-trcc-linux with its HidApiTransport (IOHIDManager), bypassing its CLI — trcc's default transport routes through libusb, which macOS blocks for HID devices. The firmware blanks when idle, so the HUD streams continuously (default 2 fps). See PLANNING.md for the full protocol notes. Troubleshooting "Access denied (insufficient permissions)" — something is opening the device via libusb instead of hidapi; make sure you're running our CLI, not trcc directly. Panel shows boot logo / blanks — no frames arriving; check ~/Library/Logs/claude-trofeo-hud/hud.log. Unplug/replug is handled automatically with backoff. Empty cost/tokens — npx ccusage must work in a terminal first; the launchd agent bakes the node path into its plist at install time, so re-run install-agent after Node upgrades. Limits stale — Keychain access not granted, or you're logged out of Claude Code.