OpenClawSkills
GitHub
Platforms β€’ TutorialHeader.readTime

Raspberry Pi

OpenClaw on Raspberry Pi (budget self-hosted setup)

Tutorial.step

Goal

Run a persistent, always-on OpenClaw Gateway on a Raspberry Pi for ~$35-80 one-time cost (no monthly fees).

Perfect for:

- 24/7 personal AI assistant

- Home automation hub

- Low-power, always-available Telegram/WhatsApp bot

Tutorial.step

Hardware Requirements

| Pi Model | RAM | Works? | Notes |

| - |

| Pi 5 | 4GB/8GB | βœ… Best | Fastest, recommended |

| Pi 4 | 4GB | βœ… Good | Sweet spot for most users |

| Pi 4 | 2GB | βœ… OK | Works, add swap |

| Pi 4 | 1GB | ⚠️ Tight | Possible with swap, minimal config |

| Pi 3B+ | 1GB | ⚠️ Slow | Works but sluggish |

| Pi Zero 2 W | 512MB | ❌ | Not recommended |

Minimum specs: 1GB RAM, 1 core, 500MB disk

Recommended: 2GB+ RAM, 64-bit OS, 16GB+ SD card (or USB SSD)

Tutorial.step

What You'll Need

- Raspberry Pi 4 or 5 (2GB+ recommended)

- MicroSD card (16GB+) or USB SSD (better performance)

- Power supply (official Pi PSU recommended)

- Network connection (Ethernet or WiFi)

- ~30 minutes

Tutorial.step

1) Flash the OS

Use Raspberry Pi OS Lite (64-bit) β€” no desktop needed for a headless server.

1. Download ''Raspberry Pi Imager''

2. Choose OS: Raspberry Pi OS Lite (64-bit)

3. Click the gear icon (βš™οΈ) to pre-configure:

- Set hostname: ''gateway-host''

- Enable SSH

- Set username/password

- Configure WiFi (if not using Ethernet)

4. Flash to your SD card / USB drive

5. Insert and boot the Pi

Tutorial.step

2) Connect via SSH

Bash
ssh user@gateway-host

ssh [email protected]
Tutorial.step

3) System Setup

Bash
sudo apt update && sudo apt upgrade -y


sudo apt install -y git curl build-essential


sudo timedatectl set-timezone America/Chicago  # Change to your timezone
Tutorial.step

4) Install Node.js 22 (ARM64)

Bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs


node --version  # Should show v22.x.x
npm --version
Tutorial.step

5) Add Swap (Important for 2GB or less)

Swap prevents out-of-memory crashes:

Bash
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile


echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab


echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Tutorial.step

6) Install OpenClaw

Tutorial.step

Option A: Standard Install (Recommended)

Bash
curl -fsSL https://openclaw.ai/install.sh | bash
Tutorial.step

Option B: Hackable Install (For tinkering)

Bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm install
npm run build
npm link

The hackable install gives you direct access to logs and code β€” useful for debugging ARM-specific issues.

Tutorial.step

7) Run Onboarding

Bash
openclaw onboard --install-daemon

Follow the wizard:

1. Gateway mode: Local

2. Auth: API keys recommended (OAuth can be finicky on headless Pi)

3. Channels: Telegram is easiest to start with

4. Daemon: Yes (systemd)

Tutorial.step

8) Verify Installation

Bash
openclaw status


sudo systemctl status openclaw


journalctl -u openclaw -f
Tutorial.step

9) Access the Dashboard

Since the Pi is headless, use an SSH tunnel:

Bash
ssh -L 18789:localhost:18789 user@gateway-host


open http://localhost:18789

Or use Tailscale for always-on access:

Bash
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up


openclaw config set gateway.bind tailnet
sudo systemctl restart openclaw
Tutorial.step

ARM-Specific Notes

Tutorial.step

Binary Compatibility

Most OpenClaw features work on ARM64, but some external binaries may need ARM builds:

| Tool | ARM64 Status | Notes |

| | |

Tutorial.step

Recommended Model Setup

Since the Pi is just the Gateway (models run in the cloud), use API-based models:

Json
{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-20250514",
        "fallbacks": ["openai/gpt-4o-mini"]
      }
    }
  }
}

Don't try to run local LLMs on a Pi β€” even small models are too slow. Let Claude/GPT do the heavy lifting.

Tutorial.step

Troubleshooting

Tutorial.step

Out of Memory (OOM)

Bash
free -h
Tutorial.step

Slow Performance

- Use USB SSD instead of SD card

- Disable unused services: ''sudo systemctl disable cups bluetooth avahi-daemon''

- Check CPU throttling: ''vcgencmd get_throttled'' (should return ''0x0'')

Tutorial.step

Service Won't Start

Bash
journalctl -u openclaw --no-pager -n 100


cd ~/openclaw  # if using hackable install
npm run build
sudo systemctl restart openclaw
Tutorial.step

ARM Binary Issues

If a skill fails with "exec format error":

1. Check if the binary has an ARM64 build

2. Try building from source

3. Or use a Docker container with ARM support

Tutorial.step

WiFi Drops

For headless Pis on WiFi:

Bash
sudo iwconfig wlan0 power off


echo 'wireless-power off' | sudo tee -a /etc/network/interfaces
Tutorial.step

See Also

- ''Linux guide'' β€” general Linux setup

- ''DigitalOcean guide'' β€” cloud alternative

- ''Hetzner guide'' β€” Docker setup

- ''Tailscale'' β€” remote access

- ''Nodes'' β€” pair your laptop/phone with the Pi gateway