💻 Software Setup Guide

Configure your ClawBox software for maximum performance, personality, and capability. Everything from model selection to voice setup to plugin integration.

Overview

This guide assumes you've completed the hardware build from our ClawBox Build Guide and have a running Raspberry Pi 5 (or compatible board) with the operating system installed on NVMe storage. We'll cover the complete openclaw hardware software configuration — from baseline setup to advanced tuning.

Step-by-Step Configuration

1

System Prerequisites

Update your system and install essential dependencies. These packages provide the foundation for the entire desktop AI openclaw stack:

sudo apt update && sudo apt upgrade -y sudo apt install -y curl git build-essential python3 python3-pip \ ffmpeg alsa-utils portaudio19-dev libffi-dev libssl-dev
ARM64 Note: The Pi 5 uses 64-bit ARM. Ensure you're running a 64-bit OS — check with uname -m which should return aarch64.
2

Install Node.js and OpenClaw

OpenClaw is a Node.js application. Node.js 22 LTS provides the best balance of performance and stability on ARM64:

# Install Node.js 22 via NodeSource curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs # Verify installation node --version # Should show v22.x.x npm --version # Clone and install OpenClaw cd ~ git clone https://github.com/openclaw/openclaw.git cd openclaw npm ci --production

Using npm ci instead of npm install ensures a reproducible installation based on the lockfile. This is the recommended approach for your DIY ClawBox build.

3

Set Up Ollama — Local LLM Runtime

Ollama is the easiest way to run language models locally. It handles model downloading, quantization, and GPU offloading automatically:

# Install Ollama curl -fsSL https://ollama.com/install.sh | sh # Verify it's running ollama list # Pull recommended models for Pi 5 16GB ollama pull llama3.2:3b # Fast, general-purpose (~2.2 GB) ollama pull phi3:mini # Efficient, good reasoning (~2.3 GB) ollama pull mistral:7b # Larger, more capable (~4.1 GB, needs 16GB) # Test inference ollama run llama3.2:3b "Hello! What's the weather today?"

The openclaw AI assistant connects to Ollama's API automatically. You can switch models at any time through the web interface or configuration file.

4

Configure OpenClaw

Create and customize your configuration file. This is where you define your assistant's personality, capabilities, and integrations:

# Generate default config cd ~/openclaw cp config.example.yml config.yml # Edit configuration nano config.yml

Key configuration sections for your ClawBox openclaw setup:

  • Model: Set defaultModel: "llama3.2:3b" (or your preferred Ollama model). You can define different models for different tasks — a fast model for quick replies, a larger model for complex reasoning.
  • Memory: Enable the memory system to let your assistant remember conversations and learn preferences over time. Configure file-based or vector-database-backed persistence.
  • Channels: Enable interfaces — web UI on port 3000, Telegram bot, Discord integration, or a local API. Each channel has its own configuration block.
  • Plugins: Load skills and plugins for home automation, file management, web browsing, code generation, and more.
  • Voice: Configure Piper TTS and Whisper STT for voice interaction. Set preferred voice model and audio devices.
5

Voice Pipeline Setup

Voice interaction transforms your ClawBox from a text-based tool into a conversational companion. The entire voice pipeline runs locally — no cloud speech services needed:

# Install Piper TTS cd ~ git clone https://github.com/rhasspy/piper.git cd piper make # Download a voice model wget https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/en_US-lessac-medium.onnx # Install whisper.cpp for STT cd ~ git clone https://github.com/ggerganov/whisper.cpp.git cd whisper.cpp make # Download the small English model (fast, good accuracy) bash ./models/download-ggml-model.sh small.en

Configure audio devices in OpenClaw's config file. Most USB audio devices are detected automatically — check with arecord -l for input devices and aplay -l for output.

6

Set Up Systemd Service

Make your openclaw private AI start automatically on boot and restart if it crashes:

sudo nano /etc/systemd/system/openclaw.service

Paste this service definition:

[Unit] Description=OpenClaw AI Assistant After=network.target ollama.service Wants=ollama.service [Service] Type=simple User=clawbox WorkingDirectory=/home/clawbox/openclaw ExecStart=/usr/bin/npm run gateway start Restart=always RestartSec=10 Environment=NODE_ENV=production [Install] WantedBy=multi-user.target

Enable and start:

sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw sudo systemctl status openclaw
7

Performance Tuning

Optimize your system for the best openclaw edge compute performance:

  • CPU Governor: Set to "performance" during AI workloads: echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
  • Swap: Disable or minimize swap — swapping kills inference performance. With 16 GB RAM, you likely won't need swap at all.
  • GPU Memory: On Pi 5, allocate minimal GPU memory (gpu_mem=16 in /boot/firmware/config.txt) since AI inference runs on CPU.
  • Kernel Parameters: Add vm.swappiness=1 and vm.vfs_cache_pressure=50 to /etc/sysctl.d/99-clawbox.conf for better memory management.
  • Ollama Tuning: Set OLLAMA_NUM_PARALLEL=1 and OLLAMA_KEEP_ALIVE=5m to avoid memory pressure from concurrent requests.

These optimizations can improve inference speed by 15-30% on the Raspberry Pi 5. For Jetson and x86 systems, additional GPU-specific tuning is available in our Edge Deployment Guide.

Plugin Installation

Extend your assistant's capabilities with plugins. Here are the most popular ones for a DIY AI box:

Home Assistant
npm install openclaw-plugin-homeassistant # Configure in config.yml: # homeAssistant: # url: "http://homeassistant.local:8123" # token: "your-long-lived-token"
File Manager
npm install openclaw-plugin-files # Enable in config.yml under plugins
Web Browser Automation
npm install openclaw-plugin-browser # Requires Chromium: sudo apt install -y chromium-browser

Browse the full plugin catalog on the OpenClaw setup guides site. Each plugin includes its own documentation and configuration examples.

Configuration Checklist

  • ☐ System updated & dependencies
  • ☐ Node.js 22 installed
  • ☐ OpenClaw cloned & installed
  • ☐ Ollama installed & running
  • ☐ AI models downloaded
  • ☐ Config file customized
  • ☐ Voice pipeline configured
  • ☐ Systemd service created
  • ☐ Performance tuned
  • ☐ Plugins installed
  • ☐ Web UI accessible

Recommended Models for Pi 5

llama3.2:3b~2.2 GBFast, reliable
phi3:mini~2.3 GBGood reasoning
mistral:7b~4.1 GBBest quality (16GB)
gemma2:2b~1.6 GBVery fast
qwen2.5:3b~1.9 GBGreat code