Making a boat system out of good individual components.
Services connected · rebuild in progressUpdated: 1 November 2026
Native instruments, sonar and audio controls in one view. Sonar echoes come from the real test setup; other boat values are labelled as simulated. Playback source is not connected.HELM 206 · 0.8.134-sonar-start-depth-controls · Lumina K706 · Android 10 · 2000 × 1200
01 / STARTING POINT
What we wanted to solve.
We started with BBN Marine OS: a Raspberry Pi with existing marine services, alongside AvNav and Signal K. The goal was a coherent helm. The individual applications existed; connecting their states, controls and interfaces became the real work.
WHAT THIS COMPONENT MAKES POSSIBLE
The practical difference.
Another control position does not have to provide GPS, music and sonar all over again. It can use the existing services.
We separate operating system, services and control devices. Our gateway describes state and capabilities; recovery recipes aim to make the installed setup reproducible. BBN and AvNav remain important starting points.
Marine OS and existing standards gave us a starting point. Rather than have every screen talk directly to every service, we built a shared gateway.
Boat data, music, charts and sonar have different timing and failure conditions. The services remain separate, while the apps share connection handling and understandable states.
A Mac-based lab makes part of the Pi software accessible away from the boat. Pinned sources and restore recipes record what is installed on the Pi and in the lab. A full clean rebuild is not yet proven for every component.
03 / RESULTS
What exists today.
A shared data interface for HELM, audio, sonar and chart routes is implemented.
Music playback runs as a separate Pi service. The display controls it; it does not generate the audio.
Network changes, device access and recovery are documented tasks rather than hidden assumptions.
Images show the development revisions identified in their captions. Today’s source may be newer than an existing image.
CURRENT PHYSICAL DEVICE CAPTURES
The controls today.
Direct captures of the installed apps. Captions identify device, version and data source; a displayed measurement is only as strong as the source described there.
Current Launcher 31 on the physical Lumina. HELM, MAP, system and maintenance share an entry point and common device controls.HOME 31 · 0.5.12-ui-parity-v8 · Lumina K706 · Android 10 · 2000 × 1200
The current native settings overview: appearance, units, shared connection and diagnostics. No credentials shown.HELM 206 · 0.8.134-sonar-start-depth-controls · Lumina K706 · Android 10 · 2000 × 1200
Current connection overview of the installed client. Access is set up through Lumina Control; individual data sources retain their own status.HELM 206 · 0.8.134-sonar-start-depth-controls · Lumina K706 · Android 10 · 2000 × 1200
Fresh device capture: live own-source echoes, confirmed displayed depth 1.07 m and A-scope. Test setup; no absolute calibration or boat acceptance.HELM 206 · 0.8.134-sonar-start-depth-controls · Lumina K706 · Android 10 · 2000 × 1200
Earlier development revisions and designs +
These images explain the development journey. Historical test views and designs are separate from current device captures.
HELM with simulated boat and engine values. Historical Android test rendering; not a real sensor run.
04 / REPRODUCE
What you will need.
Raspberry Pi and a local network
Signal K and adapters for the boat’s existing data
Basic Linux skills and separate configuration of personal credentials