Maracaibo
A 1967 mahogany motor yacht with a modern nervous system.
A clinker-built mahogany motor yacht from 1967 — twin Mercedes diesels, continuously restored to preserve her original appearance — quietly fitted with modern electronics: NMEA 2000 instrumentation feeding a single SignalK bus on a Pi, a fleet of small services around it, and a custom-built dashboard as her face at the helm and on the phone.
Her systems keep spawning projects of their own — Sightglass and Virtual fuel consumption in the lab, and the dashboard and SignalK plugins on their own pages.
- Trip logging expands: fuel, tanks, weather
- MQTT broker dockerized with cloud bridge
- Boat history saved for trends and tracks
- Custom plugins: shore relay, heater, battery
- Repo becomes the whole-system umbrella
- Marine electronics suite: first commit
- Archive the inputs to a reduction, not its result
What I learned. Archive the inputs to a reduction, not its result. My depth pipeline kept only the shoalest sounding per grid cell. That is…
- Why I am not founding a Nordic depth database
Decision. My boat's depth soundings stay our own. The community depth database I was circling is paused, deliberately, and that pause is…
- The worst shape a bug can take
What I found. The worst shape a bug can take is a promise that never settles. My SignalK plugin for the boat fridge would wedge silently:…
- Diesel only goes down
Decision. The published fuel level on the boat can only fall. It rises for exactly one reason: I declare a refill through an explicit door…
- North-up was the degenerate case that hid the bug
Built an OpenCPN chart plugin for Maracaibo that renders the boat's own vector charts as map tiles. Looked perfect — buoys, lights,…
- I called it overengineering. Sixty lines was the floor.
Wanted an "exit kiosk" button on Maracaibo's helm dashboard — the touchscreen runs Chromium in kiosk mode. Claude built a 60-line Python…
- My GPS smoothing didn't work until I measured the noise it was smoothing
The boat's chart plotter (Maracaibo dashboard) danced at the berth — GPS multipath wander. I shipped a fix: below 0.3 kn for 30 s, smooth…
- One tank read 10% high for weeks. The detector was never wrong.
Sightglass watches the diesel sight tubes on the boat with a camera. Starboard read ~10% high for weeks. I kept tuning thresholds; the…
- A physical invariant is a free hallucination detector
Sightglass is a Raspberry Pi pointing two cameras (via go2rtc) at the diesel sight glasses on my 1967 boat; a vision model reads the fuel…
- Starlink adds a monthly kit fee — boat math changes
For a boat the calculation just shifted: the default new-customer path now carries a recurring hardware cost on top of the subscription,…
- TIL: SignalK tank levels are 0..1 ratios, not liters
What I learned. SignalK's tanks.fuel.{0,1}.currentLevel is a ratio (0..1), not a volume — and.capacity is in m³, so liters = currentLevel ×…