OpenClaw now runs on a Raspberry Pi 5 alongside SignalK, letting boat owners text their vessel on Telegram and receive live telemetry in seconds. The combination works out of the box, but a handful of configuration quirks can stall the daemon and waste token credits.
Why a Pi-based LLM matters for sailors
Small craft often lack the bandwidth or budget for cloud-based AI services. A Raspberry Pi 5 provides enough compute to host OpenClaw, an open-source LLM-driven assistant, while SignalK supplies a standardised API for marine data. Together they give a low-cost, on-board chat interface that can answer “What’s my speed?” or “How deep is the water?” without leaving the boat.
The pieces that make it click
- OpenClaw runs directly on the Pi’s OS, using the local model stack.
- SignalK runs in a Docker container, exposing a REST (HTTP) API that publishes sensor readings in JSON.
- The two programs stay isolated: OpenClaw calls SignalK’s endpoints, and SignalK never sees the LLM’s internal processes.
Because the communication is pure HTTP, no special networking tricks are required. A single Ethernet or Wi-Fi link is enough to keep the loop alive.
Traps that trip up first-time builders
Gateway mode must stay defined – The OpenClaw config contains a
gateway.modekey that tells the daemon how to expose its API. Removing it silently prevents the service from starting. The safe fix is:openclaw config set gateway.mode localUnit conversion is not automatic – SignalK follows the International System of Units (SI). Speed arrives as metres per second, depth as metres. If the LLM is asked for “knots” or “feet” it will echo the raw numbers, leading to misleading answers. Add conversion logic to the agent’s prompt or post-process the JSON before feeding it back to the user.
Historical data is a separate plugin – By default OpenClaw sees only the latest snapshot. To ask about trends (“Did the wind increase over the last hour?”) you need SignalK’s InfluxDB history plugin. Install and enable it, then expose the historic endpoint to the agent.
jqis missing on Raspberry Pi OS – Many tutorials assume the command-line JSON processorjqis present. The Pi image does not ship it. Rather than installing extra packages, let OpenClaw parse the raw JSON itself; modern LLMs handle nested structures well enough for most telemetry queries.Don’t disable the Ollama plugin – Ollama provides the runtime for local language models. Turning it off cuts off the model backend and leaves the agent unable to generate replies. Keep the plugin enabled even if you are not using its extra tooling.
Cutting token bills without cutting usefulness
Running a language model locally still incurs token costs whenever the model processes a request. Two practical tweaks reduced my usage by roughly a quarter:
Trim the toolset – OpenClaw bundles a whole suite of developer tools (code execution, file browsing, etc.). Boat-related assistants rarely need anything beyond runtime and filesystem access. Switching to a minimal profile removes unnecessary token churn.
Extend cache retention – The configuration lets you keep the system prompt and recent context in memory longer. A longer cache means the model does not have to re-encode the same instructions on every telegram message, shaving tokens from each round-trip.
For owners who prefer quiet monitoring, the built-in cron feature can poll critical sensors (battery voltage, depth alarm) on a schedule. The agent only pushes a Telegram alert when a threshold is crossed, keeping the chat channel clean.
Who wins, who watches out
- Boat owners gain a cheap, on-board conversational interface. No subscription fees, no reliance on cellular data.
- Open-source maintainers see a real-world deployment that stresses both OpenClaw and SignalK in a constrained environment, exposing bugs that would otherwise stay hidden.
- Cloud LLM providers lose a niche market segment, but they still hold the advantage for heavy-weight reasoning or multi-modal inputs that a Pi cannot handle.
The main risk is reliability: a power glitch or Docker crash can silence the assistant. Redundancy (a second Pi, UPS backup) mitigates the problem but adds cost. Users should also guard the Telegram bot token; a compromised token lets anyone query the boat’s sensors.
What to watch next
- Aktualizacje modeli – W miarę pojawiania się nowszych, bardziej wydajnych modeli kwantyzowanych, będą one działać szybciej na rdzeniach ARM procesora Pi, co jeszcze bardziej zmniejszy opóźnienia.
- Rozszerzenia SignalK – Wtyczki stworzone przez społeczność dla AIS, radaru czy prognoz pogody mogłyby zostać udostępnione modelowi LLM, co rozszerzyłoby zakres konwersacji.
- Wzmocnienie bezpieczeństwa – Trwają już prace nad eksperymentalnym wdrażaniem szyfrowania end-to-end dla SignalK-OpenClaw API, co jest rozsądnym krokiem dla każdej jednostki pływającej po wodach publicznych.
Podsumowanie
Wdrożenie OpenClaw na Raspberry Pi 5 wraz z SignalK zmienia skromną łódź w platformę z obsługą czatu, jednak sukces zależy od zachowania trybu gateway, obsługi konwersji jednostek, włączenia przechowywania historii oraz utrzymania działania wtyczki Ollama. Należy ograniczyć zestaw narzędzi i wydłużyć retencję pamięci podręcznej, aby utrzymać niskie zużycie tokenów, oraz korzystać z alarmu cron, aby system pozostawał w uśpieniu, dopóki nie wydarzy się coś istotnego. Rezultatem jest niskokosztowy asystent telemetrii czasu rzeczywistego, który działa całkowicie na pokładzie, zapewniając żeglarzom wygodę czatbota bez kosztów związanych z usługami w chmurze.
