DIY board controller

The on-board controller monitors and controls the energy system of a yacht

Development goals

  • Increase in operational safety
  • Increase in the battery life
  • Fast charging of the batteries

Increase in operational safety

The operator is informed about the availability of the battery system at all times by displaying the battery status. An age-related defect in the battery can be diagnosed by a steady decrease in capacity, so a battery change must be planned in good time. A warning is given in plain text against impermissible operating states of the energy system. In this way, measures can be taken before the failure of the electrical power supply and the associated safety risks on board a yacht occur.

Increase in the battery life

The accumulator is charged with a special, temperature-dependent characteristic, which increases the service life. Cost savings are associated with increasing the service life. Yacht accumulators are produced in comparatively small series and are equipped with complex housing designs (leak-proof), which means that their price level is significantly higher than that of automotive accumulators. The capacities used are between 100-1000Ah. Larger battery banks cause considerable installation costs when changing. Disposal less often helps to reduce the burden on the environment.

Fast charge

During charging, the accumulator always receives the optimum current that it can withstand due to its state (state of charge, temperature). If the prime mover is started for the purpose of charging the battery, the charging process should proceed as quickly as possible, since the operation of the prime mover on board a yacht is a considerable noise nuisance. A short charging time reduces the environmental impact.


  • Control of the automotive alternator according to the special requirements of the electrical energy supply on board yachts
  • Monitoring of the energy system and protection against impermissible operating conditions
  • Display of important system states (charging current, voltage, current and remaining capacity, warning messages)
  • Free selection of 3 measured values in the display
  • Compact built-in device, 12V / 3W

Control of the three-phase generator with optimized characteristic

  • Charge with maximum current up to the temperature-dependent gassing voltage UGAS of approx. 14.4V.
  • Continue charging with this voltage until the current no longer changes for a period of time (tik).
  • The accumulator now receives a temperature-dependent float charge voltage UERH of approx. 13.5 V.
  • When the battery temperature reaches 50 ° C, charging is interrupted.

Single line diagram

  • G1 board battery
  • G2 starter battery
  • RSI measurement shunt
  • SI main switch on-board battery
  • S2 main switch starter battery
  • S3 ignition switch
  • S4 cooling water sensor
  • S5 oil pressure sender
  • D1 isolating diodes
  • H1 charge indicator light
  • H2 alarm detector
  • E1 consumer
  • E2 battery or engine compartment fan



Oliver Bast

oliver (at)

DIY remote control for Seatalk autopilot

First of all, a few important notes that you should definitely pay attention to.

  • OpenSource Seatalk radio remote control for Raymarine autopilots
  • Basis: Arduino ProMicro and 433MHz radio module
  • Simple 433MHz 4-channel radio transmitter can be used
  • Plus / minus 1 and plus / minus 10 degree steps
  • Can also be combined with an OLED display (e.g. for wind display)
  • Simple solderability through the use of conventional components in through-hole technology
  • Programming with Arduino IDE
  • Costs (circuit board and components): approx. 50 EUR
  • Boards can be ordered from (

Full documentation and program available on GitHub:

Many successful replicas / extensions in the sailing forum:


Examples of replicas / modifications:

Test setup with display.


Integration in older autopilots.


Integration in NMEA2000 bus via Seatalk adapter.



DIY engine diagnostics

First of all, a few important notes that you should definitely pay attention to.

  • Retrofitting for all motor types, as independent sensors are used
  • Use of cheap sensors
  • Measurements of various engine parameters
  • Flow rate cooling water (impulse, YF-S201B)
  • Temperature cooling circuits (1Wire, DS18B20)
  • Engine compartment temperature (1Wire, DS18B20)
  • Motor speed (pulse, GB2A26 Sharp)
  • Output shaft speed (pulse, GB2A26 Sharp)
  • Engine operating hours (via speed detection)
  • Power supply via 12V on-board network
  • Data processing with ESP8266
  • Data transfer via WLAN
  • Data protocol NMEA0183, partly with customer-specific telegrams
  • Data display via OpenPlotter
  • Simple web front end for operation and display via mobile phone
  • Waterproof case
  • Installation location in the engine compartment for short cables
  • All sensors connected by cable
  • Price less than 120 euros for material
  • Current Circuit diagram
  • Board is with Aisler orderable
  • Current software: Source code, Binary file


Electronics box

Electronics box prototype

Speed sensor with light barrier

Flow sensor

Measured values in OpenPlotter

Engine speed sensor on pulley

Flow sensor sea water circuit with Gardena couplings for quick bridging

Speed measurement shaft exit

Board layout by Hans-Jürgen

Assembled board


10 inch plotter (1000 nits)

First of all, a few important notes that you should definitely pay attention to.

Fig. 10 ″ plotter with Raspberry Pi and OpenCPN

Christian presented his 10 ″ plotter based on Raspberry Pi at Boot 2020 in Düsseldorf. An attempt was made to create a marine-grade device that could be used to navigate a boat.


Fig. Components of the 10 ″ plotter

The CM3 light compute module was used as the central processing unit and a number of other necessary hardware components were placed on a basic board.

The large base board contains the following components:

  • Raspberry Pi Compute Module CM3 lite (BCM2837, Quad Core, 1.2GHz, 1GB RAM)
  • SD card connector for 32GB SD card
  • HDMI decoder
  • HDMI switch
  • Display control
  • 5-way UBS hub
  • Keyboard control
  • Power supply

In addition to the base board, there are three other boards:

  • Keyboard board with IR receiver for remote control and loudspeaker
  • Touch controller for TFT display
  • Expansion board for NMEA0182, NMEA2000


  • 10 ″ TFT
  • 1000 nits (suitable for daylight)
  • 1280 x 1024 pixels
  • 10 finger touchpad optically glued to the TFT

Front panel:

  • Cast 2mm plexiglass plate
  • anti-reflective
  • hard-coated, scratch-resistant
  • Anti finger print finishing
  • Cover printed on the back
  • glued watertight in the housing

Expansion options via internal USB ports:

  • GPS mouse
  • AIS receiver via DVBT stick
  • BT dongle
  • USB flash memory for cards
  • License dongle for O-Charts maps
  • Mouse / keyboard dongle for external operation

Fig: Device structure

The housing is made of micro-foamed plastic, which was elaborately machined on a CNC milling machine. In order to get the surface smooth and waterproof, the case was painted. Threaded inserts made of brass were provided in the housing for the circuit boards and the housing cover. The back consists of a coated aluminum plate and contains the necessary connectors to the outside world. Operation is via a waterproof membrane keyboard, which consists of a 0.2mm thick plastic film with a keyboard board underneath. Alternatively, the plotter can also be operated with a Bluetooth or IR remote control.


Fig. Above AVnav, below OpenCPN

The operating system image Raspberry Pi OS Buster with Toutchpad extensions is located in a 32GB SD card on the base board. Christian created two image versions. Once for AVnav and once for OpenCPN as navigation software. The software versions differ in terms of usability and support the special features of the navigation software. While AVnav is fully browser-based on touch operation, OpenCPN, on the other hand, is a desktop application that is operated with a mouse and keyboard. So that OpenCPN can be operated without a mouse and keyboard, a wide range of adapted remote controls with a mouse emulation was built. In addition, the most important key functions of OpenCPN such as zooming and various views have been assigned to keys. Raspberry Pi OS Buster has received some software extensions for this purpose.

Further information

In 2020 Christian launched a small series for the plotter as a kit and sold it to interested sailors. The project is currently not being pursued any further because the production of the parts for the plotter has proven to be too time-consuming and costly. In addition, hardly anyone interested was able to implement the project themselves and was dependent on Christian's preliminary work. At the end of 2021 Christian made a new attempt to develop cheaper and easier to build plotters. He was able to take into account the many experiences of this project. The discontinuation of the Raspberri Pi Compute Module CM3 shortly after the completion of the board set was particularly painful. That would have made it necessary to develop a completely new base board. It also turned out that the concept of the HDMI video controller with source switch for use as a plotter was oversized and the functionality could not be used properly. Overall, the use of the CM3 module required a complex and expensive base board to provide the missing functionality. In comparison, a standard Raspberry Pi would have had many things on board that could have been used. His new concept for a 7 ″ plotter This time it is based on a standard Raspberry Pi with a few additional components and a standard housing that can be obtained commercially. This significantly reduces the effort and even less experienced makers can implement the project themselves. (german) (english)



Fig. Component set

Fig.Plexiglas rear side (trade fair version)

Fig.AVnav and OpenCPN

Fig. Above remote control for AVnav, below for OpenCPN


DIY plotter Android radio

First of all, a few important notes that you should definitely pay attention to.

  • Basis 2 DIN Android car radio
  • Touchable 7 "- 10" display, 1024 x 600 pixels, approx. 400 nits
  • Touch function keys
  • Cortex A7 QuadCore ARM processor, 1.2 GHz
  • Depending on the model, Android 8, 9 or 10
  • Depending on the model, 1… 4 GB RAM
  • 16/32 GB ROM depending on the model
  • Powerful wired GPS included
  • Bluetooth, WiFi 802.11b / g / n, 2.4 GHz
  • Integrated CAN bus (steering wheel remote control)
  • 12V supply
  • 10… 15 W in active operation
  • 0.5 W in standby
  • 3 s wake-up time from standby
  • 2x USB 2.0 (ext. GPS, NMEA0183, NMEA2000, NAVTEX, DVBT stick for AIS, etc)
  • 4 channel audio amplifier, 4 x 50W
  • FM radio, DSR on some more expensive models
  • Optional rear view camera can be used as a mast camera
  • Google Play Store integrated
  • Expandable with any apps
  • Not waterproof
  • Cost: 60-200 EUR


7 ″ Android car radio with AvNav, suitable for indoor use, too dark for outdoor use

10 ″ Android car radio with AvNav, good display size, bright enough for outdoor use

Conventional, economical tablet technology inside

Can be used as a second display for commercial plotters (e.g. Raymarine)

Watertightness possible with additional display frames

With AvNav, it can also be used as a WLAN display server for external tablets

New plotter firmware as a web application

AvNav as navigation software

Canvas instruments for the visualization of measurement data

Integration of Grafana, requires a Raspi4 with OpenPlotter 2.0, InfluxDB and Grafana

Integration of Sonoff modules for boat automation

Weather data from

DIY foredeck camera

  • Project started in 06/2019
  • Project start as an ultrasonic distance sensor with two front sensors
  • ESP8266 as an evaluation unit with WLAN
  • 12V / 80mA

After some discussions in the forum, the idea came up to use a camera that is installed at the height of the spreader and looks out onto the foredeck. There are already commercial products such as the Raymarine CAM100, which costs around 700 EUR and can only be integrated into their plotter. The idea with the camera was further refined and the use of an ESP32Cam module in a foredeck lamp housing was favored. The original project with the ultrasonic distance sensors was discontinued in favor of the camera project.

  • ESP32CAM module and LED deck lighting combined
  • White 3W Cree-LED as foredeck lighting
  • 1W IR LED for night picture
  • PIR and brightness sensor for automatic light and alarm system function
  • Weather data with BME280 (temperature, air pressure, humidity)
  • Power supply via foredeck lighting (approx. 1.5W, without lighting)
  • WLAN image transmission
  • Operation and display in the web browser of a mobile phone or tablet
  • Integration in commercial products is basically possible (e.g. plotter)
  • Possible adjustable image resolutions:
    • 1024 x 786 5 fps @ 350 kB / s
    • 800 x 600 8 fps @ 350 kB / s
    • 640 x 480 11 fps @ 350 kB / s (optimum)
    • 400 x 295 20 fps @ 350 kB / s
    • 320 x 240 22 fps @ 350 kB / s
    • 240 x 176 25 fps @ 350 kB / s
    • 160 x 120 25 fps @ 350 kB / s
  • Camera angle of view approx. 50 °, fixed focus lens
  • Front deck light can be activated via app or PIR sensor
  • Adjustable follow-up time for motion detection (automatic staircase lighting)
  • The camera can also be used for remote monitoring of the boat

In principle, even more functions could be implemented with the intelligent camera:

  • Image forwarding possible when motion is detected on the foredeck
  • Optical distance measurement via image evaluation
  • Visual foredeck monitoring of a selected zone
  • Visual motion detection
  • Optical travel direction display in connection with the rudder deflection (similar to a reversing camera on a car)

Distance sensor with ultrasonic sensors

Camera integrated in foredeck lighting

Concept studies

First prototype

circuit board

Fully equipped prototype

Integration in Plotter software

DIY wind sensor WiFi 1000

First of all, a few important notes that you should definitely pay attention to.

Windsensor 3D Modell

  • Measurement of wind direction and wind speed
  • Robust mechanics
  • Weight <= 250g
  • Small enough to be grown on a 6.60m sailboat
  • Replacement for a Windex
  • Weatherproof and UV-stable
  • Visibility at night thanks to reflectors on the bottom
  • No cable laying for sensor signals
  • Pure digital transmission and signal processing
  • 12V power supply via toplight (50mA, 0.5W)
  • Transfer of data via WLAN (ESP8266)
  • Update rate: 1-2 measurements per second
  • No installation instrument required
  • Display in OpenPlotter via laptop, mobile phone or tablet
  • No software installation required (displayed on the website in the browser)
  • Android app available
  • Support of common protocols such as NMEA 0183 (serial, TCP / IP)
  • More than 30 systems have already been built and in use

Fig: Wind sensor concept with Raspi and M5Stack

Fig: Mechanical functional principle


Android app (boat mode and weather station mode)

Fig: Individual parts of the wind sensor



First of all, a few important notes that you should definitely pay attention to.

Fig .: PyPilot components

Video: PyPilot in action

pyPilot is an open-source autopilot (hard- and software) written by Sean D'Epagnier.

  • automatic sensor calibration
  • steering modes
    • compass
    • GPS
    • apparent wind
    • true wind
  • signalK und nmea0183 communication protocol
  • OpenCPN integration
  • low power consumption

user experience:
IBT-2 based motor controller:

Andreas (german sailing-forum) set up an easy-build, made of these 3 modules:

  • compass and gyroscope
    • MPU9260 / 6500
  • main PCB
    • Raspi Zero W.
    • Arduino Uno (motor controller)
    • double BTS7960B H-bridge IBT-2 (motor-driver)
  • keyboard and display
    • 8 touch-buttons TTP223
    • LCD display JLX12864

All parts (except pcb) are widely available standard components.
Extensive manual (EN and DE)

German sailing-forum thread:

A comprehensive workbook in English can be found here:

Fig .: Test setup

Fig .: Test setup

Fig .: Main board unequipped

Fig .: Main board fitted

Fig .: 9-axis AHRS

Fig .: Control unit with waterproof touch buttons

Fig .: LCD display in the control unit (the sprue nozzle still disturbs a little)

Fig .: Ready-to-install controller unit with power driver, Arduino Uno and Raspberry Zero

Fig .: Controller unit, operating unit, gyro and actuator from pcnautic

Fig .: Built-in PyPilot

If you don't want to set up the PyPilot yourself, you can also go to pcnautic buy a fully assembled and programmed system. The Raspberry Pi and the 9-axis motion sensor are located in the control housing. This therefore requires a fixed installation of the control unit in order to ensure a fixed alignment of the motion sensor to the boat. On the back of the control unit there is a USB socket via which a NMEA0183 bus can be connected via an RS485 / USB adapter. Course data from a plotter, GPS or wind data can then be fed in, which can then be incorporated into the course calculation. SeaTalk and NMEA2000 can also be connected via corresponding USB gateway modules, which can also be obtained from pcnautic.

Fig .: PyPilot components from pcnautic


Fig .: Actuator, operating and controller unit and power driver from pcnautic

Fig .: Rear of the operating and controller unit with USB port and connection for the control cable to the power unit

If you only bought the linear actuator from pcnautic to use it on the PyPilot and have problems with the rudder position sensor, you will find repair instructions from Michael here: Repair instructions rudder position sensor

The rudder angle is internally 10kOhm 10-turn potentiometer used. If it is connected incorrectly, the potentiometer can burn out in the end positions, because then the resistance becomes too small and the high current thermally destroys the potentiometer. You can prevent the whole thing by installing a 1kOhm resistor in series at the center connection, which limits the current. Here's another one  Data sheet for the linear actuator.

Marine Control Server


GeDaD MCS // Marine Control Server


The MCS is an interface module for marine applications. With its six serial interfaces (NMEA0183 compatible), its CAN interface (NMEA2000 compatible), its 1-wire interface and its I2C interface, it offers ideal integration options in all systems. A Raspberry Pi is used as the brain of the system, via which all data can be processed. Ready-made programs for “Openplotter” and “Signal K” are available for the system, so that integration and data processing becomes child's play.

  • Easy to use adapter board for marine applications
  • Combines different interfaces
  • Suitable for the Raspberry Pi4
  • High input voltage tolerance (8-28V)
  • Integrated 5V switching regulator
  • Automatic mode for shutting down the Raspberry Pi and for switching off the MCS
  • 6x NMEA0183® compatible interface (configurable as input or output)
  • 1x NMEA2000® compatible interface
  • 1x 1-Wire® interface with real 1-Wire
  • 1x 5V tolerant I²C® interface
  • Ready-made open source app for open plotters
  • pre-assembled without housing
  • open development
  • Cost: approx. 75 EUR (fully assembled circuit board including mounting material for Raspberry Pi4 including invoice), extra housing



Additional information:

Manufacturer homepage:

Github project for OpenPlotter: thread:

open boat projects LIVE:


NMEA2000 and ESP32

First of all, a few important notes that you should definitely pay attention to.

NMEA2000 is increasingly replacing NMEA0183 as the standard. Unfortunately, NMEA2000 is a very complex protocol and for a long time it was hardly possible to realize your own projects. That has changed with the NMEA2000 library by Timo Lappalainen (

The library supports different microcontrollers, including the ESP32. The ESP32 from Espressiv is very powerful and, thanks to WLAN and CAN bus interface, ideal for your own projects.

The projects described here use the NMEA2000 library and the ESP32 (ESP32 NODE MCU). Programming is very easy in the Arduino development environment.

The projects are documented in detail on GitHub (including hardware and software):

The following projects have been implemented so far and can easily be copied or modified / expanded:

  • NMEA2000 to NMEA0183 WiFi Gateway
  • NMEA2000 M5Stack Data Display
  • NMEA2000 Data Transmitter
  • NMEA2000 Data Recorder

The essential components for the trade fair were put together on a demo board. This allows the interaction of the components to be clearly illustrated:

The Seatalk autopilot remote control is also included on the demo board, but is explained on a separate page (

The simulator board is only for the trade fair and is used for demonstration purposes. It receives simulated data from a PC via USB-serial, converts them into NMEA2000 PGNs and sends them to the CAN bus. The simulator was built with the ActisenseListenerSender realized by Timo Lappalainen. The WiFi gateway receives the NMEA2000 data from the CAN bus and thus supplies other exhibits on the exhibition stand with simulated data.

NMEA2000 to NMEA0183 WiFi Gateway

  • The WiFi gateway receives the data from the NMEA2000 CAN bus and converts it to NMEA0183.
  • The NMEA0183 data are provided via WLAN (NMEA0183 via TCP, port 2222).
  • The data can be displayed / used by many components. For example: OpenCPN, AVnav, tablet with NMEA software, ...).
  • The gateway also delivers the data in JSON format. The data can then be viewed wirelessly with the M5Stack data display.
  • The project on GitHub also contains a NMEA0183 multiplexer (serial input for AIS data) and voltage / temperature monitoring. However, these functions are optional.

WiFi gateway prototype:

M5Stack and AVnav on 7 ”car radio with data from the WiFi gateway:


NMEA2000 M5Stack Data Display

  • The M5Stack is a finished product with an ESP32 and housing. The integrated display, the built-in rechargeable battery and the buttons make it particularly suitable for displaying NMEA data.
  • The version of the Data displays (top left) receives the data wirelessly from the WiFi gateway in JSON format.
  • The data types can easily be expanded. So far, the following data is displayed: LAT / LON, COG, SOG, heading, STW, rudder angle, water depth, triplog, sumlog and the data from the NMEA2000 data transmitter: temperature, diesel tank and engine speed.
  • On GitHub A version of the display is also available that reads and displays the data directly from the NMEA2000 bus. Optionally, the M5Stack module also functions as a WiFi gateway. This means that an NMEA2000 to NMEA0183 WLAN gateway can be implemented without soldering.

NMEA2000 Data Transmitter

  • The NMEA2000 Data Transmitter measures different values in the boat (here temperature, tank level, engine speed) and sends them as NMEA2000 data.
  • This NMEA2000 data can be received and displayed by almost all modern multifunctional displays.
  • The temperature is measured by a DS18B20 sensor (can be easily expanded with additional sensors).
  • The circuit on GitHub is designed for a TGT 200 tank sensor from Philippi (resistance 5-180 Ohm).
  • The engine speed is measured on the alternator (terminal W).
  • The circuit and the program can easily be expanded for further measurement data.
  • For the demo board, the tank level and the engine speed are simulated using potentiometers.

NMEA2000 Data Recorder

  • The NMEA2000 Data Recorder reads all data from the NMEA2000 bus and saves it on an SD card.
  • The data can be saved in different formats: NMEA0183, Seasmart, Actisense).
  • In addition to the ESP32 (here Node MCU), only an SD card and a CAN bus transceiver are required.
  • An M5Stack module can also be used as an option. This already contains an SD card reader.
  • The data recorder is not included on the demo board.