OpenClaw on Raspberry Pi 5: Build a $100 24/7 Home AI Server with NVMe SSD (2026)
What This Guide Covers: A complete, step-by-step tutorial for installing OpenClaw on a Raspberry Pi 5 with NVMe SSD storage. You will end up with a silent, always-on AI agent that draws only 5–8 watts of power, costs under $100 in hardware, and is accessible from anywhere in the world via Telegram or WhatsApp. Estimated setup time: 45–60 minutes.
Why Raspberry Pi 5 Is Perfect for OpenClaw
The Raspberry Pi 5 is the most significant hardware upgrade in the Raspberry Pi Foundation's history. Released in 2024, it packs a quad-core Cortex-A76 processor running at 2.4GHz, up to 8GB of LPDDR4X RAM, and — crucially — the first native PCIe 2.0 interface ever included on a Raspberry Pi board. That PCIe slot changes everything for an OpenClaw home server build.
Previous Raspberry Pi models relied on microSD cards for storage, which were notoriously slow (15–30 MB/s read speeds) and prone to corruption under constant read/write workloads. OpenClaw generates significant I/O activity — it maintains persistent memory, writes conversation logs, caches skill data, and processes background cron jobs around the clock. On a microSD-based Pi 4, this would wear out the card within months. On a Pi 5 with an NVMe SSD attached via the PCIe slot, you get 400–600 MB/s read speeds and enterprise-grade reliability.
Consider the economics: running OpenClaw on a cloud VPS costs $5–25 per month, which adds up to $60–300 per year. A Raspberry Pi 5 with NVMe SSD runs on about 6W of electricity, costing roughly $4–6 per year in electricity (at average US rates). The hardware pays for itself in two to three months compared to cloud hosting. And unlike cloud VPS instances, your Pi 5 is physically in your home — your OpenClaw's memory, skills, and all conversation history stays entirely on your hardware, never uploaded to a third-party server.
Pi 5 vs Pi 4 for OpenClaw: A Real Comparison
| Feature | Pi 4 (microSD) | Pi 5 (NVMe) |
|---|---|---|
| Storage Speed | 25 MB/s | 500 MB/s |
| CPU Performance | Cortex-A72 1.8GHz | Cortex-A76 2.4GHz |
| Storage Lifespan | 6–18 months | 5–10 years |
| Power Usage | 5W | 6–8W |
Hardware Shopping List
You need five components. Every one of them is readily available from Amazon, Adafruit, PiShop, or local electronics retailers. The prices below reflect 2026 market rates.
Raspberry Pi 5 (8GB) — $80
The 8GB model is recommended for OpenClaw. It handles large context windows and multiple concurrent skills without memory pressure. The 4GB model works too but can feel constrained when running several background cron tasks simultaneously. Avoid the 2GB model entirely for server use.
NVMe HAT + 256GB NVMe SSD — $25–35
You need an M.2 HAT (Hardware Attached on Top) board to connect an NVMe SSD to the Pi 5's PCIe slot. The official Raspberry Pi M.2 HAT+ is the safest choice ($12). For the SSD, a 256GB M.2 2242 PCIe Gen 2 drive (such as Pimoroni, WD SN520, or Kingston NV3) costs $15–25 and provides ample space for OpenClaw's memory files and skill storage.
27W USB-C Power Supply — $12
The Pi 5 requires a 5V/5A (27W) USB-C power supply. Using an underpowered adapter causes throttling and random reboots under load. The official Raspberry Pi 27W USB-C Power Supply is purpose-built for this board and worth the extra few dollars over generic alternatives.
Case with Active Cooling — $12
The Pi 5 includes a built-in power management chip that throttles CPU speed when it overheats. For a 24/7 server workload, you need active cooling. The official Raspberry Pi Active Cooler (a small heatsink with fan) is $5 and keeps the CPU under 55°C even during sustained loads. Alternatively, the Argon NEO 5 BRED case ($20) includes a fan and passive heatsink in an attractive enclosure.
One Important Note on NVMe Compatibility
The Pi 5's PCIe slot is Gen 2 (not Gen 3 or Gen 4). High-end Gen 4 NVMe drives like the Samsung 990 Pro work but operate at reduced Gen 2 speeds. Save your money — a mid-range Gen 2 or Gen 3 M.2 SSD in the 2242 or 2280 form factor is the ideal choice. The Pimoroni NVMe Base HAT supports 2230, 2242, and 2280 drives.
Step 1 — Install Raspberry Pi OS (Bookworm 64-bit)
OpenClaw requires Node.js 22, which depends on a modern 64-bit OS. Raspberry Pi OS "Bookworm" (Debian 12-based, released 2024) is the official and best-supported choice. The 64-bit version is required for Node.js 22 compatibility.
Download and install the Raspberry Pi Imager on your main computer (Windows/macOS/Linux) from raspberrypi.com/software. You will use a microSD card as a temporary boot medium to flash the NVMe SSD, or you can use the USB-to-NVMe adapter method to write directly to the SSD.
In Raspberry Pi Imager, select Raspberry Pi 5 as the device, then choose Raspberry Pi OS (64-bit) — the Lite (no desktop) version is recommended for a headless server. Before writing, click the gear icon to configure: set a hostname, username, password, and enable SSH. This allows you to connect wirelessly without ever needing a keyboard and monitor attached to your Pi.
Once booted, your Pi 5 should appear on your home network. SSH in from your main computer:
ssh [email protected]
# or use the IP address if hostname doesn't resolve:
ssh [email protected]
Run the full system update before proceeding — this ensures you have the latest firmware and security patches:
sudo apt update && sudo apt full-upgrade -y
sudo rpi-update
sudo reboot
Step 2 — Set Up NVMe SSD Boot
After assembling your M.2 HAT and NVMe SSD, the Pi 5 should detect the drive automatically. Verify it is recognized:
lsblk
# You should see nvme0n1 listed alongside mmcblk0 (the microSD)
To boot from NVMe (recommended for performance), use the SD Card Copier tool in raspi-config or copy your OS to the NVMe using rpi-clone. Once copied, change the boot order in raspi-config to prioritize NVMe over SD:
sudo raspi-config
# Navigate to: Advanced Options → Boot Order → NVMe/USB Boot
# Save and reboot. Remove the microSD card.
Verify you are now booted from NVMe by confirming the root filesystem is on nvme0n1p2:
df -h /
# Should show /dev/nvme0n1p2 as the root filesystem
sudo hdparm -tT /dev/nvme0n1
# Should show ~400-600 MB/s read speed
Step 3 — Install Node.js 22 via NVM
OpenClaw requires Node.js 22 (LTS). The package in the default Raspberry Pi OS repositories is outdated. Use nvm (Node Version Manager) to install the correct version:
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Reload shell
source ~/.bashrc
# Install Node.js 22
nvm install 22
nvm use 22
nvm alias default 22
# Verify
node --version # Should show v22.x.x
npm --version # Should show 10.x.x
Since nvm is user-specific, you also need to make Node.js accessible system-wide for the systemd service that will run OpenClaw at startup:
# Get the path to the current node binary
which node
# Example output: /home/pi/.nvm/versions/node/v22.14.0/bin/node
# Create a symlink in /usr/local/bin for system-wide access
sudo ln -sf $(which node) /usr/local/bin/node
sudo ln -sf $(which npm) /usr/local/bin/npm
Step 4 — Install and Configure OpenClaw
Install OpenClaw globally using npm:
npm install -g openclaw
# Verify installation
openclaw --version
Run the onboarding wizard. This is an interactive setup process that configures your AI agent's name, connects it to your Claude API key, and sets up your preferred messaging channel (Telegram is most popular):
openclaw onboard
During the onboarding process you will be prompted for:
Claude API Key — Obtain this from console.anthropic.com. The API key allows OpenClaw to make AI requests. A Claude Pro subscription gives you higher rate limits, while a pay-as-you-go API key works for lighter use.
Agent Name and Persona — Give your agent a memorable name. This becomes the "personality" your agent uses in conversations. You can always change this later by editing the agent's system prompt.
Telegram Bot Token — Create a Telegram bot via BotFather (@BotFather on Telegram) and paste the token here. This is how you communicate with your agent from any device worldwide.
Test that OpenClaw runs correctly by starting it manually:
openclaw start
# Open Telegram and send a message to your bot
# You should receive a reply within a few seconds
# Press Ctrl+C to stop for now
Step 5 — Create a Systemd Service for 24/7 Autostart
The key to a true 24/7 home server is making OpenClaw start automatically when the Pi boots and restart automatically if it ever crashes. On Raspberry Pi OS (Debian-based), the systemd init system handles this perfectly.
Create a new systemd service file:
sudo nano /etc/systemd/system/openclaw.service
Paste the following content (replace pi with your actual username if different):
[Unit]
Description=OpenClaw AI Agent
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi
ExecStart=/usr/local/bin/node /usr/local/lib/node_modules/openclaw/bin/openclaw.js start
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
# Check the status
sudo systemctl status openclaw
# View live logs
journalctl -u openclaw -f
Reboot your Pi and verify OpenClaw starts automatically — send a message to your Telegram bot and confirm it responds. The Restart=always directive ensures that if OpenClaw ever crashes or encounters an unhandled error, systemd will automatically restart it within 10 seconds.
Step 6 — Remote Access and Port Configuration
Your OpenClaw agent on Pi 5 communicates with the outside world through Telegram's servers — you do not need to open any ports on your home router for basic Telegram-based access. The agent reaches out to Telegram's API (long-polling), so inbound connections from the internet are not required.
However, if you want to access the OpenClaw web interface or SSH into your Pi from outside your home network, you have several options:
Tailscale (Recommended)
Free mesh VPN. Creates a private network between your Pi and all your devices. No port forwarding needed. Install with one command on each device.
Router Port Forward
Forward external port 22 to your Pi's internal IP for SSH. Requires a static IP or DDNS service. Simpler but exposes SSH to the internet.
Cloudflare Tunnel
Free Cloudflare service creates a secure tunnel from your Pi to Cloudflare's edge. No public IP needed. Best for exposing a web interface.
For Tailscale setup (the simplest option), install it on your Pi:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# Follow the authentication link shown in the terminal
# Your Pi will now be accessible via its Tailscale IP from any device
Step 7 — Thermal Management and Performance Tuning
The Pi 5 runs warmer than its predecessors due to the more powerful CPU. Without proper cooling, it will throttle CPU speed when the temperature exceeds 80°C. Monitor your Pi's temperature regularly:
vcgencmd measure_temp
# Target: below 70°C at idle, below 80°C under load
# Check CPU speed (throttling reduces this below 2400000)
vcgencmd get_config arm_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
If you see temperatures consistently above 70°C, consider upgrading to a better cooled case. The Argon NEO 5 BRED with its integrated heatsink and fan keeps temperatures 15–20°C lower than passive cooling alone.
For power savings during off-peak hours, you can optionally configure the Pi to underclock slightly when idle. This reduces heat and power consumption without affecting OpenClaw's responsiveness — the agent spends most of its time waiting for incoming Telegram messages anyway. Edit /boot/firmware/config.txt to add arm_freq=1800 for a slight underclock, or leave it at the default 2400MHz for maximum performance.
Why Your Pi 5 OpenClaw Needs a VPN — and Why VPN07 Is the Right Choice
Here is a challenge that surprises many Pi 5 OpenClaw builders: your beautiful new home server is on a residential internet connection. Residential ISPs are notorious for several behaviors that directly harm OpenClaw's performance — including traffic shaping, rate-limiting connections to AI API providers, and IP reputation issues that cause Claude API requests to fail unpredictably.
Additionally, if you are running your Pi in a region where direct connections to Anthropic's Claude API are slow or unreliable, the experience degrades significantly. OpenClaw's cron jobs run on schedules — if an API call fails due to network issues, the job silently fails and your agent stops working as expected. This is frustrating when you have built an entire home server around the expectation of reliable 24/7 operation.
Raspberry Pi 5 OpenClaw Performance: With vs Without VPN07
VPN07 solves residential ISP limitations by routing your Pi's API traffic through a dedicated 1000Mbps commercial network. This gives your little home server the same network quality as a data-center VPS, without the monthly cloud hosting fees. You keep your data on your Pi while benefiting from enterprise-grade connectivity.
Installing VPN07 on Raspberry Pi OS takes under two minutes. VPN07 supports Linux ARM64 (which is exactly what Pi 5 runs) with a lightweight command-line client that consumes minimal system resources:
# Install VPN07 on Raspberry Pi OS (ARM64)
curl -fsSL https://vpn07.com/install.sh | sudo bash
# Connect to the nearest VPN07 server
sudo vpn07 connect --auto
# Verify connection
curl ifconfig.me # Should show VPN07's IP, not your home IP
VPN07's Linux client also supports split tunneling, allowing you to route only OpenClaw's API traffic through the VPN while keeping local network communication (Tailscale, SSH from within your home) on the direct connection. This prevents any performance overhead for non-AI traffic while ensuring rock-solid AI API connectivity.
Power Your Pi 5 OpenClaw with VPN07
1000Mbps dedicated bandwidth — your home server deserves enterprise-grade networking
VPN07 is the leading VPN trusted by thousands of home server and AI agent enthusiasts worldwide. With 1000Mbps bandwidth across 70+ countries, 10 years of proven reliability, and a native Linux ARM64 client, VPN07 gives your Raspberry Pi 5 the network performance that OpenClaw demands. No ISP throttling, no geo-restrictions on AI APIs, zero cron job failures. At just $1.5/month with a 30-day money-back guarantee, VPN07 is the most cost-effective upgrade you can make to your home AI server build.
Related Articles
OpenClaw Linux Headless Raspberry Pi Server Guide
Run OpenClaw on any Raspberry Pi in headless mode. Covers all Pi models with a generic Linux setup for beginners.
Read More →OpenClaw on NAS: Synology & QNAP Home Server Setup
Deploy OpenClaw on your existing Synology or QNAP NAS using Docker containers for another low-power home server option.
Read More →