In my previous post I built a garden CCTV system using Frigate NVR on the Pi 5. It worked well — but the AI object detection was running on the CPU, consuming about 35% of a core just sitting there waiting for motion. I installed a Hailo-8L AI HAT to move that workload to a dedicated NPU, and the results were exactly what I hoped for. This post documents the migration: what the Hailo AI HAT is, how to install the driver (with the version pitfalls that will catch you), and how to wire it into Frigate. ...
Building a Garden CCTV System with Raspberry Pi 5 and Frigate
In my previous post I connected a Raspberry Pi 5 to my AI assistant as a remote node. The natural next step: attach a camera and turn it into a proper garden security system — motion-activated, AI-powered, with notifications straight to Telegram. This post documents what I built: Frigate NVR running on the Pi 5, a Freenove 8MP camera module, automated clip retention, and a Python bot that sends snapshots to a private Telegram channel the moment something moves. ...
Turning a Raspberry Pi 5 into an OpenClaw Node
I recently got a Raspberry Pi 5 (8GB) and decided to connect it to my OpenClaw setup as a remote node. The idea: give my AI assistant direct access to a physical machine sitting on my home network, so it can run commands there, monitor things, and eventually interact with hardware. This post documents how I did it, the pitfalls I ran into, and what I plan to use it for. ...
Migrating OpenClaw to a New Server Without Losing a Message
I just moved my self-hosted OpenClaw from one cloud VM to another. The whole thing — from “let me have a look at what’s running” to “the bot replied to my Telegram message on the new box” — took about 90 minutes, and the bot was offline for less than two of them. The interesting part isn’t that it worked. The interesting part is what shape the plan had to take so that nothing ended up in a half-migrated state, and how OpenClaw itself helped me think through the migration before I touched a single file. ...
When Your AI Assistant Forgot Everything: A Week with the Wrong Model and Too Little Context
A few weeks ago I wrote about fixing OpenClaw after context bloat and bad model routing. Then I immediately made a related mistake in the opposite direction. I switched the default model to openai/gpt-5.4 and kept the context window at 32,000 tokens. I wanted to test the model on real daily workloads. What I got instead was a week of repeating myself, failing background jobs, and an assistant that felt like it had short-term amnesia. ...
How I Fixed OpenClaw After Context Bloat, Rate Limits, and Bad Model Routing
I hit a very predictable failure mode in AI automation: I left the defaults alone for too long. Background jobs accumulated too much context, some of them were still landing on expensive models, and a couple of nightly tasks started timing out. The fix was not dramatic. It was mostly configuration discipline. This was not an OpenClaw bug. It was a bad operating posture. What Broke Four things were interacting badly. ...
Why I Planned a Database Migration Before Writing a Single Line of Code
There’s a temptation, when you spot a problem in a personal project, to just fix it. Open the file, start editing, ship. It feels productive. It often isn’t. This week I migrated the state layer of my personal AI assistant from a collection of flat JSON files to SQLite. The migration itself took about 20 minutes of actual work, spread across four automated phases. The planning took two hours. And the planning was the most valuable part. ...
Never Fear the Update Button Again: Automating OpenClaw Updates Safely
I run OpenClaw as my personal AI assistant — it handles my daily GTD rituals, monitors my email, tracks calendar events, and responds to me on Telegram throughout the day. I depend on it for essential, everyday tasks. Which means when it breaks, I feel it immediately. For a long time, updating it felt like defusing a bomb. The Problem: Updates Are Terrifying When You Depend on the System Every time a new version of OpenClaw dropped, I’d put off installing it. Not because I didn’t want the new features, but because I’d been burned before. Here’s a sample of what had gone wrong across previous updates: ...
A Planned Night Under London's Sky: AI, Automation, and Four Deep-Sky Objects
Last night was one of those rare London evenings: clear skies, no moon, and a forecast that held. My automated sky alert fired at 5pm, so by 7:30 I had the Seestar S50 out and aligned. But this time I did something new — I planned the session in advance, with AI help. The Setup The telescope is the ZWO Seestar S50 — a compact smart scope with a 50mm aperture, built-in tracking, live stacking, and a phone app that handles everything. It’s not a serious instrument by amateur astronomy standards, but it punches well above its weight for a grab-and-go in a light-polluted city. ...
Talking to Your AI: Voice Messages with OpenClaw in Telegram
I’ve been running OpenClaw as my personal AI assistant for a few months now — mostly typing to it. Yesterday I added voice, and it changes the dynamic completely. The setup: 20 minutes, free tier The whole thing runs on ElevenLabs for text-to-speech. The free tier is genuinely enough — you get a generous monthly character allowance, plenty for daily conversational use. Setup steps: Create a free account at elevenlabs.io Grab your API key from the profile settings Add it to your OpenClaw config: "talk": { "provider": "elevenlabs", "providers": { "elevenlabs": { "apiKey": "YOUR_API_KEY_HERE" } } } That’s it. Restart the gateway and voice is live. ...