Roadmap
Architecture
Section titled “Architecture”- clusterclaw — RPi5 (8GB) — Portal, ThreadWeaver, OpenClaw, Blinkt! LEDs (Docker)
- clustercrush — Orin Nano Super (8GB) — Ollama with 9 LLM models, GPU-accelerated
- Shared case, shared power, shared network, 50W PSU
Phase 1: Benchmarking (COMPLETE ✅)
Section titled “Phase 1: Benchmarking (COMPLETE ✅)”- Orin Nano power draw characterization across 15W / 25W / MAXN
- LLM inference benchmarks (TinyLlama 1.1B, Phi-3 3.8B, Llama 3.2 3B)
- Thermal analysis — no throttling detected
- I/O stress testing (NVMe + network) — true headless max: 20.4W at MAXN
- PDU validation — all 3 ports tested at 12V, held 1.81A sustained
- In-case thermal testing — case fan reduces temps 5-10°C vs open air
- Cluster power draw: 14W idle, 20W typical, 35W peak
Phase 2: Tooling & Infrastructure (COMPLETE ✅)
Section titled “Phase 2: Tooling & Infrastructure (COMPLETE ✅)”- Orin Nano imaging: jetson-shrink.sh (dd capture → shrink → gzip)
- Orin Nano resize: resize_ubuntu.sh (expand rootfs after flash)
- RPi5 resize: resize_raspbian.sh (expand rootfs after flash)
- Orin Nano NVMe boot: sd-to-nvme.sh (migrate SD → NVMe)
- Node configuration: configure-pair.sh (IPs, hostnames, config files)
- Ansible playbook structure (site.yml, validate.yml, roles)
- Storage recommendations documented (128GB microSD + 256GB NVMe)
Phase 3: Golden Image Creation (COMPLETE ✅)
Section titled “Phase 3: Golden Image Creation (COMPLETE ✅)”- RPi5: build-rpi5-image.sh — strip Raspbian Desktop to headless
- Orin Nano: build-orin-image.sh — strip JetPack Desktop, preserve CUDA
- SSH hardening, UFW firewall, fail2ban on both nodes
- Golden images captured, shrunk, archived
- L4T packages held to prevent apt upgrade breakage
Phase 4: PicoCluster Claw Software Install (COMPLETE ✅)
Section titled “Phase 4: PicoCluster Claw Software Install (COMPLETE ✅)”- install-clustercrush.sh — Ollama with CUDA, 10 default models, MAXN power mode
- install-clusterclaw.sh — Docker containers (ThreadWeaver, OpenClaw, Portal, Caddy)
- Blinkt! LED status daemon with scanner, blink, look-around behaviors
- ThreadWeaver chat UI with Ollama model discovery
- OpenClaw agent with all channel SDK dependencies
- Caddy HTTPS reverse proxy for OpenClaw dashboard
- PicoCluster Claw portal landing page (port 80) with live status
- validate-pair.sh — end-to-end health checks
- update-threadweaver.sh — version check + rebuild
- update-clusterclaw.sh / update-clustercrush.sh — update scripts
- Auto-resize filesystem at install time
Phase 5: Community Installer (PLANNED)
Section titled “Phase 5: Community Installer (PLANNED)”- clusterclaw-setup.sh — all-in-one for BYO hardware
- Auto-detect hardware (RPi5 vs Jetson)
- Interactive prompts for IP, models, options
- Harden + install + configure in one script
Phase 6: Enhancements (PLANNED)
Section titled “Phase 6: Enhancements (PLANNED)”- Telegram/Discord channel integration for mobile access
- Ollama model auto-discovery in OpenClaw (upstream feature request)
- Blinkt! firework effects for specific actions
- Blinkt! on clustercrush (requires Jetson GPIO pinmux device tree overlay)
- Pre-built Docker images on Docker Hub (skip build on RPi5)
- Production HTTPS with Let’s Encrypt (for public-facing deployments)
Power Budget (Measured)
Section titled “Power Budget (Measured)”| Scenario | Power | Annual Cost |
|---|---|---|
| Idle (both nodes) | 14W | $19.62 |
| Typical (inference + orchestration) | 20W | $28.03 |
| Realistic blend (90% idle) | 15W | $21.02 |
| Peak (all subsystems maxed) | 35W | $49.06 |
PSU: 50W (15W headroom at peak)
Installed Models (9 default)
Section titled “Installed Models (9 default)”| Model | Size | Type | T1–T4 |
|---|---|---|---|
| granite4.1:8b | 5.1 GB | General / agent (default) | 10/10 |
| qwen2.5:7b | 4.4 GB | General / natural language | 9/10 |
| nemotron-3-nano:4b | 2.8 GB | Reasoning / fast | 9/10 |
| qwen3.5:4b | 2.6 GB | General / web | 8/10 |
| llama3.1:8b | 4.9 GB | General baseline | 6/10 |
| llama3.2:3b | 2.0 GB | Fast / one-shot | 5/10 |
| deepseek-r1:7b | 4.7 GB | Reasoning (chain-of-thought) | — |
| phi4-mini:3.8b | 2.5 GB | General / compact | — |
| llava:7b | 4.7 GB | Vision | — |
| moondream:1.8b | 1.7 GB | Vision (tiny) | — |
- OpenClaw has had significant security issues in early 2026 — runs in Docker container with hardening
- Ollama replaced llama-server for native multi-model management and auto-discovery
- ThreadWeaver requires patches for LAN access (API_BASE, Vite proxy, model discovery) — baked into Docker build
- Orin Nano GPIO pinmux does not support Blinkt! on physical pins 16/18 — RPi5 only
- 128GB+ microSD required for clusterclaw (Docker + OpenClaw + ThreadWeaver)