Show HN: Live Claude Usage HUD for a $38 Thermalright Trofeo Vision LCD
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. - macOS, Python 3.12+, uv, Node (for npx ccusage ) brew install hidapi (C library behind thehidapi 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) 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/ . 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. - "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-runinstall-agent after Node upgrades. - Limits stale - Keychain access not granted, or you're logged out of Claude Code.
Comments
No comments yet. Start the discussion.