Hey r/esp32!
I built a tiny desk gadget that shows real-time Claude AI usage stats on an ESP32-S3 display, wrapped in a Star Trek LCARS-inspired UI. It's fully open-source and I'd love contributors.
What it does:
- Tracks API spending (today + monthly) in USD
- Shows token usage broken down by model (input, output, cached)
- Claude Code analytics: sessions, commits, PRs, lines modified
- Rate limit monitoring with live countdown timers
- System health: WiFi, memory, uptime, firmware version
- 7 dashboard screens you cycle through with a button press
Hardware supported:
- LILYGO T-Display-S3 — 1.9" parallel display, USB-C, dual buttons + touch
- Waveshare ESP32-S3-LCD-1.47 — 1.47" SPI display, USB-A, single button
Both boards are cheap ($25-40) and easily available.
Tech stack:
- PlatformIO + Arduino framework
- TFT_eSPI with full-screen PSRAM sprite for flicker-free rendering
- Captive portal for WiFi/API key setup (no hardcoded credentials)
- Vercel Edge Function proxy (ESP32 can't connect to claude.ai directly — Cloudflare blocks mbedTLS fingerprints)
- Chrome extension for session key auto-fill
- WYSIWYG layout editor for designing custom screens
Some ESP32 gotchas I ran into:
- If you're using TFT_eSPI in SPI mode on ESP32-S3, you MUST add
-DUSE_FSPI_PORTto your build flags or you'll get a crash inbegin_tft_write(). Took me a while to figure that one out. - Cloudflare Workers don't work as a proxy either — only Vercel (Fastly-based TLS) gets through to claude.ai.
Looking for contributors!
The project is MIT-licensed and there's plenty of room to help:
- Support for additional ESP32 display boards
- New dashboard screen layouts
- Improving the LCARS designer tool
- Adding support for other AI provider APIs (OpenAI, Gemini, etc.)
- General firmware improvements and bug fixes
Links:
- GitHub: https://github.com/dorofino/ClaudeGauge
- Website: https://claudegauge.com
If you've got one of these boards sitting around, give it a try and let me know what you think. PRs and issues welcome!










Comments