BKOS

The software of the onboard computer. Formally it is firmware, but it is built to feel like an operating system.

What is BKOS

More than a program

BKOS runs on the onboard computer and handles everything: the screens, the modules, the network, updates and apps. Because the modules cannot do anything themselves, all the logic lives here.

The aim is that it feels as natural as the system on a phone. That is why you can also install programs of your own, without flashing the whole software again.

An impression, not a screenshot. Real photos of the 7-inch panel will follow.

Features

What it can do

Sailing modes

Harbour, sailing, motor and anchor. Each mode has its own set of lights and devices.

Lighting

Interior and exterior lights are separate. An automatic mode switches the exterior lights on when it gets dark.

IO channels

Up to 240 channels through the modules. Every channel has a name; the first characters decide how it is shown.

Tides and currents

Tide data and a current atlas of the Wadden Sea, made with a map generator of my own.

Network and updates

WiFi, time over NTP and over-the-air updates from GitHub. A recovery menu during start-up helps when things go wrong.

Remote control

A web app to operate the panel from your phone. In development.

Apps

Programs in Lua

The way an operating system should.

You write small programs in Lua and they run in a sandbox, so a bug in an app does not bring the onboard computer down. The apps live in an app store of their own.

  • You install an app without new firmware
  • New apps arrive through a pull request, with automatic checks and a review by me
  • Have an idea for an app? You are welcome to send one in
History

From breadboard to now

Software and hardware grew together.

Start

The first test, from a breadboard with a Raspberry Pi Pico.

1

Soon working from circuit boards of my own.

2

Far more possible than in the first version.

3

Worked out more neatly.

4

Effectively version 3, rebuilt to work well with an ESP32 from the start.

Now

A new BKOS, built with the help of AI. I had AI look at BKOS 4 and learn how I drive the screen and the modules, and make much nicer software from it.

Which AI?

I tried several AI tools, and not all did this to my satisfaction. In my opinion Claude has made something really good of it.

Parts

What belongs to BKOS

BKOS is more than the firmware alone. Everything around it belongs to this project.

Latest stable version

v0.2.3

Stable versions have been tested on my own boat. Test versions appear in between.

BKOS-NUI

The firmware itself

BKOSS

Add-on that gives an ESP32 screen (and perhaps others later) a UTP port, so it talks to the modules with my protocol. There is a variant for the small and the large screens.

BKOS-installer

Installs BKOS over USB or WiFi

BKOS-Brug

Web app to operate the IO panel and network remotely

bkos-wifi-brug

WiFi bridge with a Raspberry Pi Zero 2 W for the marina network

WaddenKaartGenerator

Generates the current maps of the Wadden Sea

Earlier

Earlier versions

My second GitHub account also holds the earlier versions.

BKOS3

Version 3.

BKOS4

Version 4, the onboard computer operating system for Pico and ESP32.

BaseKOS

A stripped-down base to build firmware of your own on.

Looking ahead

What is coming

These are plans, not promises.

  • Sub-controllers that send commands to the main computer over ESP-NOW
  • A phone app, and a web app with a public page and a protected control page
  • Support for screens other than the ESP32 screens