Cheapest Reliable Linux Autopilot Setup for Yamaha HARMO

Overview

This guide outlines the cheapest and reliable setup for integrating an open-source autopilot system with a Yamaha HARMO (NMEA 2000) on a Linux-based boat computer. Key goals: remote access via reverse SSH, open-source software (e.g., PyPilot/OpenCPN/Signal K), and NMEA 2000 compatibility.

Hardware Requirements

Software Stack

  1. NMEA 2000 Interface: Use Canboat to parse/convert NMEA 2000 messages.
  2. Signal K Server (Recommended): Use Signal K Server to translate NMEA 2000 to NMEA 0183 or network formats for autopilot software.
  3. Autopilot Software:

Setup Steps

  1. Connect Hardware: Attach the NMEA 2000 adapter to the Yamaha HARMO network and the Linux computer.
  2. Install Canboat (For DIY Adapters):
    git clone https://github.com/canboat/canboat
    Use `actisense-serial` or `analyse-knot` to test data flow.
  3. Set Up Signal K Server:
    1. Install Node.js and the server:
      npm install -g @signalk/signalk-server
    2. Configure it to use the NMEA 2000 interface via Canboat (modify settings to read from `/dev/ttyUSB0` or equivalent).
  4. Integrate Autopilot Software:
  5. Test Bidirectional Communication (Critical!):

Challenges & Solutions

Cost Breakdown

ComponentCost (Est.)Notes
CanboatUSB DIY Kit$20–$50Requires soldering and configuration.
Actisense NGT-1$230Plug-and-play; higher reliability.
Linux Computer$0Already available.
Signal K + PyPilot/OpenCPN$0Free and open-source.

Recommendation

To minimize cost and maximize reliability:

  1. Build a DIY CanboatUSB adapter (low budget, technical expertise required). or use Actisense NGT-1.
  2. Deploy Signal K server to handle NMEA 2000/NMEA 0183 translation.
  3. Use PyPilot for lightweight autopilot control or OpenCPN for a UI + plugin approach.
  4. Validate reverse SSH for remote access and Starlink for connectivity.

Useful Resources