First, a few important notes that you should definitely observe.
„"Homemade means knowing what's in it – and it's affordable."“
BoatOS started as an experiment in AI-powered software development. The original goal was to digitize the engine monitoring system on a steel motorboat built in 1989 – and then it suddenly became a complete marine operating system. The system is now running productively on the boat and is continuously being further developed.
BoatOpenIO arose from the specific need to integrate analog VDO instruments and other 12V sensors into the system cheaply and flexibly – without expensive proprietary gateways.

Table of contents
BoatOS – Introduction
BoatOS is a complete marine operating system for the Raspberry Pi. It combines offline navigation, engine monitoring, weather information, water levels, and automatic logbook management in a locally operated system – without cloud dependency and without a subscription.
The system consists of two frontends that use a common backend:
- helmet – Flutter app, runs natively on the Raspberry Pi. Designed for permanent touchscreen installations in the dashboard or cockpit.
- deck – Browser-based interface, no installation required. Accessible from any device on the boot network – mobile phone, tablet, laptop.
- Backend – FastAPI + WebSocket + MQTT (Mosquitto) as the communication and data layer.
- SignalK – as an open data interface for GPS and sensor data.
BoatOS is not a certified navigation product. It's a DIY system designed for use on your own boat and is openly documented. The goal is plug-and-play: put the finished image on the card, boot the Raspberry Pi, and you're done. Linux knowledge isn't required – if you get stuck, you can usually find a solution using the instructions in the repository or a quick Google search. Of course, such knowledge is still advantageous, especially if you want to extend or customize the system.
Functionality
- Offline maps with OpenSeaMap (MapLibre + vector tiles, stored locally on SSD)
- AIS display via AISStream.io (Internet) or own USB AIS receiver (offline)
- Waterway routing via OSRM (local on the Pi, no internet connection required)
- GPS track recording
- Route simulation (factor ×1 to ×1000) for route planning and travel time preparation


On-board system monitoring
- Live engine monitoring: battery voltage, oil pressure, coolant temperature, engine speed
- Impact detection via MPU6050
- SOS/MOB button

Automatic logbook
The logbook is a core feature of BoatOS. It is started and stopped manually – at the beginning and end of each trip. During active recording, it logs GPS track, engine data, sensor data, and events with timestamps and location. The logbook can be viewed and exported via the deck interface and serves as the basis for analyzing trips, engine run times, and recorded events.

Additional functions
- Weather data via OpenWeatherMap
- Water levels via PEGELONLINE (relevant for inland waters)
- Dashboard with widget system and visual editor
- Horizon widget
- Crew Management
- Integrated OTA updater
hardware
Hardware recommendation
BoatOS runs on various Raspberry Pi models. The best combination of performance, power consumption, and suitability for marine use is the... Raspberry Pi 4 with 4 GB RAM. The Pi 5 is faster, but draws significantly more power under load – which is relevant on boats with limited onboard power supply.
| hardware | Supports | comment |
|---|---|---|
| Raspberry Pi 4B (4 GB) | ✓ Recommended | Good power-to-current ratio for marine operation |
| Raspberry Pi 5 | ✓ | Faster, but higher power consumption under load |
| Raspberry Pi 3B+ | ✓ | Sufficient for basic functions, slower navigation |
| Raspberry Pi Zero 2W | ✓ (limited) | For compact installations, not all features are usable. |
Storage medium
For continuous operation, an SSD is recommended. SD cards are suitable for testing and getting started, but are prone to failure due to frequent write cycles during continuous use. Anyone using an SD card should use a Class 10 card from a reputable manufacturer (SanDisk, Samsung) and perform regular backups.
For offline navigation with full OpenSeaMap vector tiles, at least 32 GB Recommended; for larger map regions, correspondingly more is needed. A 128 GB SSD offers sufficient reserves.
GPS
It is recommended that GlobalSat BU-353N5 (MediaTek AG3335MN, Multi-GNSS). It connects via USB and is integrated into BoatOS via gpsd and SignalK. By default, it outputs NMEA 0183 at 4800 bps – this value is important for the gpsd configuration. Other USB GPS mice with NMEA-0183 output also work, but have not been systematically tested.
Touchscreen (optional)
The helmet app requires a 10.1″ touchscreen with an HDMI input. There is no specific model recommendation, as availability changes. Ensure sufficient brightness (at least 400 cd/m²) for outdoor use in the cockpit.
Overview of material costs
| component | Estimated costs | comment |
|---|---|---|
| Raspberry Pi 4B (4 GB) | approximately €100 | |
| 128 GB SSD | approx. €20–30 | M.2 or external via USB |
| GPS mouse BU-353N5 | approx. €50 | |
| 10.1″ touchscreen | from approx. €60 (entry level) | Optional, for helmet app; for outdoor use, models with >400 cd/m² are recommended. |
| Housing, cables, small parts | approx. €20–30 | |
| Total (estimated) | approx. €250 | Depending on the available hardware and display choice |
installation
BoatOS is provided as a complete image. The image includes the operating system, the backend, both frontends, SignalK, gpsd, OSRM, and all necessary configurations.
Current version: v1.6.0
The image is transferred to the SD card or SSD using the Raspberry Pi Imager:
- Download Raspberry Pi Imager: raspberrypi.com/software
- Download image: archive.org – boatos_v1.5.21.img.gz
- In the imager: "Own Image" → select downloaded file → write to storage medium
- Before the first launch: the file on the boot partition of the storage medium
wlan.txtEnter your own Wi-Fi access data (SSID and password). On first startup, it will read...firstrun.shThis file will be automatically installed and the Wi-Fi connection will be set up. If you forgot to do this: connect via LAN cable and enter the Wi-Fi access data later via the settings. - Insert the storage medium into the Pi and start it up.
- Change your Wi-Fi password immediately (Default password documented on GitHub)
Detailed installation instructions can be found in the GitHub repository.
safety instructions
BoatOS is designed for operation on local boat networks. The following points must be observed before operation:
- Not a certified navigation device. BoatOS does not replace official nautical charts or approved navigation software. It is intended as a supplement to existing navigation devices, not as the sole means of navigation.
- Sensor data is not calibrated. All displayed engine values, battery voltages and temperatures are for guidance only, not for safety-critical monitoring.
- Change your Wi-Fi password. The default Wi-Fi password must be changed after initial setup. It is publicly documented in the repository.
- No liability. BoatOS is a private, open-source project. It is provided without any warranty. No liability is assumed for damage to persons, boats, equipment, or other consequential damages resulting from the use of BoatOS. Use is at your own risk.
BoatOpenIO – Introduction
BoatOpenIO is a modular marine IO system for connecting analog boat sensors to BoatOS – or to any other system that can process MQTT or serial data.
The starting point was a specific problem: Older boats have analog instruments (VDO and similar) that provide 12V voltage signals. Connecting these directly to a microcontroller requires voltage division, sometimes galvanic isolation, and different signal conditioning depending on the sensor. Ready-made solutions for this are either expensive or inflexible. BoatOpenIO solves this with a plug-in system: the appropriate mini-circuit board is inserted for each channel, and the rest is handled by software.
architecture
The system consists of a mainboard with the following structure:
- ESP32 socket (replaceable, flashable via USB)
- CD74HC4067 Multiplexer – 16 analog input channels on one chip
- Up to 4× ADS1115 Socket-based ADC (I²C addresses 0x48–0x4B = 16 independent analog destinations with 16-bit resolution)
- MPU6050 on base (position sensor, vibration detection)
- 16 sensor terminals each with a pluggable mini circuit board
- JST 2-pin connector per channel (signal IN/OUT)
- Separate VCC strips for 5V and 3.3 V
The assignment of terminal to ADC channel and signal type is done via a JSON configuration file (kanale.json). No firmware change is necessary for new sensors or modified wiring.
Mini circuit board library
Each of the 16 terminals receives a pluggable mini-circuit board that conditions the signal for the ADC. Currently available types:
| abbreviation | function | Typical use |
|---|---|---|
| VT | Voltage divider | 12V VDO sensors (oil pressure, temperature) → 3.3V |
| PD / PU | Pull-down / Pull-up | Digital inputs, switches, transmitters without their own circuitry |
| ST | Schmitt trigger | Pickup sensors, generator pulses, bounced signals |
| ISP | Impulse board (Arduino/ESP01) | Speed measurement, flow measurement |
| OPT | Optocouplers | Galvanic isolation in sensitive on-board electrical systems |
| YOU | Jumper / Direct | Signal pass-through without processing |
The mini-circuit boards are small enough to be built on a breadboard. The system is fully suitable for breadboard-based prototyping; a JLCPCB PCB order is planned for later versions.
Material costs
The material costs for the mainboard are approximately... 30 €, Depending on the purchase quantity and supplier, the mini-circuit boards cost between a few cents and approximately €2 each, depending on the type. This allows for the implementation of 16 channels with complete signal processing for under €40 – without proprietary gateways or expensive, ready-made sensor interfaces.
| component | Estimated costs |
|---|---|
| ESP32 (Breakout) | approx. €7–10 |
| CD74HC4067 MUX | approximately €3 |
| ADS1115 × 4 (Breakouts) | approx. €8–12 |
| MPU6050 (Breakout) | approx. €4 |
| JST connectors, terminals, passives | approx. €5 |
| Mini circuit boards (each) | 0.10–2.00 € |
| Overall Mainboard | approximately €30 |
Other planned projects
The following projects are in development and will be released at a later date:
- Valve heating – 3D-printed heating rings for frost protection on seawater valves, ESP32-controlled
- AutoSat – automatic alignment of a satellite dish via GPS data from BoatOS
- Chinese heating control – Integration of a Webasto/diesel auxiliary heater into BoatOS with remote control via deck
- Echo sounder / Depth measurement – planned integration of a depth gauge into BoatOS, presumably with support from the open-source project OpenEcho
Documentation – Logbook without posing
The entire project development – hardware, software, failures and successful solutions – is covered in the book series. „"Logbook without a pose"“ documented. The books are not glossy documentation, but honest records from the ongoing DIY project: what was built the way it was and why, what didn't work, and how it was solved.
Buying a book directly supports the further development of BoatOS and its associated projects. The proceeds go towards new hardware, further experimentation, and the time invested in documentation and development. It's the easiest way to support the project – and you get a book in return.
Volumes 1–5 are available (German and English). Volumes 6–8 are in preparation and will document the development of BoatOpenIO as well as other projects.
The book series is available on Amazon
Community & Links
- GitHub BoatOS: github.com/bigbrainlabs/BoatOS
- GitHub BoatOpenIO: github.com/bigbrainlabs/BoatOpenIO (in preparation)
- Finished image: archive.org – boatos_v1.5.21.img.gz
- Forum: Sailing Forum – Open Boat Projects
- Facebook: BoatOS & BoatOpenIO
- Book series: amazon.de – Logbook without Posing