vanadinite is a full rewrite of the argonone-config shell script into a
self-contained TUI binary. It covers every one of the original tool's seven
menu items — fan configuration, IR, Argon Industria UPS, BLSTR DAC, unit
preferences, system information, and uninstall — but rendered as a live
dashboard instead of a numbered CLI prompt.
The argonone daemon (argononed) keeps running the fan in the
background as normal. Vanadinite only replaces the configuration
interface, not the daemon itself.
Everything in the "safe" paths (fan config, unit toggle, system info) is reimplemented directly in Go — no shelling out, no gopsutil, no Python. Hardware-specific paths that need TTY-driven i²c / LIRC / audio dialogs (IR, UPS, DAC, uninstall, dashboard) suspend the TUI cleanly and hand off to the original argon40 scripts.
- Live left panel — hostname, Pi model, uptime, CPU temp, computed fan speed, daemon status. Refreshes every 2 seconds.
- Menu-driven right panel — mirrors the argonone-config menu layout, with instant sub-screens for every option.
- Fan config — three modes: fixed always-on, preset 55°C/60°C/65°C
curve, or custom
TEMP=SPEEDpairs (up to 5). - Unit toggle — Celsius ↔ Fahrenheit, honored across every temp reading.
- System info — temperatures for every thermal zone, per-core CPU %, storage per real mount, RAM, IP per interface, current fan speed.
- Embedded logo — the 1024×1024 pixel-art vanadinite crystal renders as colored half-block Unicode art right in your terminal.
- Zero external Go deps beyond Bubble Tea + Lip Gloss.
The whole UI walks a single vanadinite-red gradient — the same colors that the mineral itself weathers through.
./install.shThe installer preflights the argononed daemon (offers to run
download.argon40.com/argon1.sh if it's missing), Go, and i2c-tools,
then builds and drops the binary at /usr/local/bin/vanadinite.
go build -o vanadinite .Requires Go 1.24+. Charm's Bubble Tea + Lip Gloss are the only runtime deps.
vanadinite # interactive TUI
vanadinite --fan-speed 70 # headless: set always-on 70% and exitSaving fan config writes /etc/argononed.conf via sudo tee and restarts
argononed.service via sudo systemctl. The user running vanadinite needs
passwordless sudo for those two commands, or expect a password prompt to
interleave with the TUI redraw.
1. Configure Fan
├─ Always on (fixed 30–100%)
├─ Preset curve (55°C / 60°C / 65°C)
└─ Custom curve (arbitrary TEMP/SPEED pairs)
2. Configure IR → /etc/argon/argonone-ir
3. Argon Industria UPS → /etc/argon/argonone-upsconfig.sh
4. Configure BLSTR DAC → /etc/argon/argon-blstrdac.sh
5. Configure Units → Celsius / Fahrenheit toggle
6. System Information
├─ Temperatures (all thermal zones)
├─ CPU Utilization (per-core % from /proc/stat)
├─ Storage Capacity (per real mount)
├─ RAM (from /proc/meminfo)
├─ IP Address (per interface)
├─ Fan Speed (computed from config + temp)
└─ Dashboard → /etc/argon/argondashboard.py
7. Uninstall → /etc/argon/argon-uninstall.sh
Options 2, 3, 4, 6 (Dashboard), and 7 suspend the TUI and drop into the original argon40 script — they need direct TTY control of hardware. When the script exits, vanadinite restores the alt-screen and picks back up.
| Key | Action |
|---|---|
↑ ↓ |
Navigate menu / prompt steps |
1–7 |
Jump to numbered option |
Enter |
Select · confirm · advance |
Esc b q |
Back one screen |
digits + Backspace |
Enter numeric values |
Ctrl+D or blank Enter |
Finish custom-curve entry |
Y / N |
Confirm / cancel a hand-off prompt |
Ctrl+C |
Force quit |
/etc/argononed.conf uses TEMP=SPEED lines:
- Always-On → one line:
1=SPEED(matches argonone-config's format) - Preset / Custom curve → one
TEMP=SPEEDper threshold, sorted ascending
/etc/argonunits.conf stores temperature=C or temperature=F.
The Argon ONE's fan-controller register at 0x1a on bus 1 is
write-only. The daemon writes the desired duty cycle there; i2cget
against it always returns 0x00. Vanadinite computes the current fan
speed the same way the daemon does — replaying the config against the
current CPU temp — so the readout is always live and accurate.
- Single static binary:
vanadinite - Installed at:
/usr/local/bin/vanadinite - Depends on:
argononedrunning (installed separately via argon40 script),i2c-toolsoptional for future use - Does not replace:
argononed— only the config interface
by ZTF666
