Skip to content

luftaquila/pointify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pointify

DIY retro analog gauge meters that display system metrics in real time, including Claude usage stats!

point.mp4

Usage

Pointify Desktop runs on macOS, Windows, and Linux, driving up to 8 gauges with customizable metrics.

Its software gauges work without the device, but watching real needles twitch is way better. So go build one!

  1. Install Pointify Desktop and open it.
    • macOS / Linux (Homebrew)
      brew tap luftaquila/pointify https://github.com/luftaquila/pointify
      brew install --cask pointify # macOS
      brew install pointify        # Linux
    • Windows (Manual): Download from the latest release.
  2. Connect your Pointify to the computer and set up gauges to your preference.
Full list of supported metrics
  • 🕹️ Hardware
    • CPU
      • Utilization
      • Temperature
      • Clock Frequency
      • Power Consumption
    • GPU
      • Utilization
      • Temperature
      • Clock Frequency
      • Power Consumption
      • VRAM Usage
    • Memory
      • RAM and Swap Usage
    • Network
      • RX, TX and RX/TX Speed
    • Disk
      • Usage
      • Read, Write and R/W Speed
  • 🤖 Claude Usage Stats
    • Usage Limits
      • 5h session limit and reset time
      • Weekly limit and reset time
    • Claude Code stats
      • Today's total tokens
      • Today's input, output and I/O tokens
      • Today's cache read and write tokens
      • Today's cost ($)

Note

Some metrics have platform/hardware limitations.

  • CPU Temperature and Power: Not available on Windows.
  • GPU metrics: Not supported on AMD graphics cards.
  • GPU VRAM Usage: Not available on Apple Silicon.

Optional setup

To fetch Claude usage limits (5h session and weekly), Pointify needs your browser credentials.

Claude Code stats are collected from local logs and do not require credentials.

Note

Credentials are stored locally and only used to fetch usage data directly from Claude. No information is sent to any third-party server. See the get_claude_usage function in lib.rs for details.

Firefox
  1. Open Firefox and visit https://claude.ai. Log in if you haven't already.
  2. Open Developer Tools (F12).
  3. Go to the Storage tab.
  4. On the left sidebar, click Cookies - https://claude.ai.
  5. Locate the cf_clearance, lastActiveOrg, and sessionKey values.
  6. Click the Open .claude.env button on the desktop app and paste the corresponding values.
Chrome
  1. Open Chrome and visit https://claude.ai. Log in if you haven't already.
  2. Open Developer Tools (F12).
  3. Go to the Application tab.
  4. On the left sidebar, click Storage - Cookies - https://claude.ai.
  5. Locate the cf_clearance, lastActiveOrg, and sessionKey values.
  6. Click the Open .claude.env button on the desktop app and paste the corresponding values.

Do It Yourself!

Pointify is fully open-source and open-hardware. Build your own device at home!

1. Build PCB

  1. Download pointify-hardware.zip from the latest release and unzip.
  2. Gerber, BOM, and CPL files are in the pcb/ directory. Use them to place a PCB assembly order from manufacturers such as JLCPCB.

2. Upload Firmware

If your board is fresh and the MCU has never been flashed, it will always boot into USB bootloader mode.

  1. Connect your board to the computer.
  2. Open Pointify Desktop and click the chip icon at the bottom of the sidebar.

CURRENT version will show as Bootloader. Click the Update Firmware button to flash it.

Note

If your computer is running Windows and CURRENT shows as N/A, it means the CH372 driver is missing. Press the Shift key and the button will change to Update Firmware (force). The force install process will automatically detect and install the missing driver. Alternatively, you can install the driver manually from here.

3. 3D-Print Housing and Assembly

Prerequisites

  • 6x M2*8mm bolts
  • 91C4 3V DC analog voltmeters, as many as you need
  • Some wires and soldering skills
  • 4x anti-slip pads with radius < 10mm

  1. Download pointify-hardware.zip from the latest release and unzip.
  2. 3D-print the STL files you need from the 3d/ directory.
  3. Install the gauges into the housing.
  4. Connect all negative terminals (near the 0V scale) of the gauge to the GND header on the PCB.
    • Daisy-chain them, since there's only one GND pad (marked ⏚).
  5. Connect each positive terminal (near the 3V scale) to PWM port #1~8 on the PCB.
    • The pad right next to the GND is PWM1.
    • Solder directly to the washer that comes with the gauge, or crimp a ring terminal onto the wire. Crimping is easier to work with but you'll need a crimp tool and ring terminals.
  6. Mount the PCB upside down onto the housing. The USB port faces downward.
  7. Attach the back cover.

4. Customize Gauge Panel

Use the Gauge Panel Generator to design and print your own gauge panel graphics.

Examples from the device/gauge/example/ directory:

Development

Open

Desktop App

Requires Node.js and Rust.

cd gui
npm install
npm run tauri dev       # development
npm run tauri build     # production

Firmware

Requires nightly Rust.

cargo install wchisp --git https://github.com/ch32-rs/wchisp

cd device/firmware
cargo build --release   # build only
cargo run --release     # build + flash


Star History Chart

About

DIY retro analog gauges for real-time system and Claude usage monitoring

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project