Brendan in Tech / Boordcomputer

The onboard computer

My big project. The hardware: a computer with a touchscreen and expansion modules to switch and monitor everything on board. The software is called BKOS.

The project

One screen for everything on board

The onboard computer consists of the computer with the touchscreen and expansion modules you attach as needed. Together they switch and monitor what is on board: lighting, pumps, cooling, sensors.

This page is about the hardware: what it can do and what it must do. The software that runs on it is described under BKOS.

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

Purpose

What it has to do

Switching

Switch lights, pumps and devices on and off, from the screen or automatically.

Monitoring

See what is on, and report events or faults.

Growing

Start small and add modules when you want to control more.

Staying simple

As few parts as possible that can break or that you have to program.

The principle

Dumb modules, smart computer

The modules are daisy-chained with a UTP cable. They contain no programmable parts: only simple components, such as shift registers, fully driven by the onboard computer.

Module 1LogicExecutingModule 2LogicExecutingModule 3LogicExecutingOnboard computerESP32-S3 / 7"UTPUTPUTP...lightspumpssensors
Why it is built this way

All logic lives in one place, in the software. If something goes wrong, it is either the software, which I can investigate in that one place, or broken hardware. There is nothing in between living a life of its own.

Modules

Modular, also inside the module

Each module itself consists of a logic part and an executing part. That way you combine what you need.

Logic part

The part that reads or passes on signals: the shift registers that extend the computer's inputs and outputs.

Executing part

The part that actually switches or measures something: the step from a low-voltage signal to a lamp, pump or sensor.

Identification

Each module identifies itself with an ID, so the computer knows what is on the cable.

Kinds

There are, among others, switching modules, sensor modules, bypass modules, hubs (analogue and UART) and logic modules, besides the main module itself.

8 / 16channels per module
30modules at most
240channels in total
UTP

The cable and its layout

The UTP cable was chosen as the connection early in the project, with a fixed assignment of the wires. I still use that assignment. Anyone who wants to build their own hardware for BKOS has to follow this layout, and it then works with every other module.

Pinout to follow

The exact assignment per RJ45 pin and wire colour is not on the site yet. I will add it once the schematic and photos are ready.

SignalWhat it doesRJ45
Serial clockShifts the data bit by bit through the shift registers.to follow
Parallel clockApplies the shifted-in values to the outputs at once and captures the inputs (latch).to follow
Data outFrom the computer to the modules: the outputs (74HC595).to follow
Data inFrom the modules to the computer: the inputs (74HC165).to follow
Module IDModules use this to report what they are.to follow
Supply voltage12 volts, or at least the supply voltage of the system.to follow
Logic voltage3.3 or 5 volts, for the chips on the modules.to follow
Origins

From breadboard to 7 inches

A project that grows slowly, with two big improvement rounds a year.

2022

The beginning: an alarm for a steel boat that might take on water.

2023

A breadboard with a Raspberry Pi Pico (the first one): sending messages, a small screen, shift registers to switch a lot with few pins.

2023-24

The first circuit boards of my own, designed purely for function (version 0.2 in December 2023, 0.3 in May 2024, 0.4 in November 2024). The UTP cable with the layout I still use arrived early.

2024-25

The discovery of the ESP32 and of display modules, up to the 7-inch screen that is now the basis. A nicer design with an enclosure and a two-part circuit board.

2025

Versions 1.5 and 1.6 (May to July 2025): switching modules in a budget and a premium version, a sensor module, a bypass module, a serial module and a motherboard for the 4-inch screen.

2025-26

More functions and more modules, driven by BKOS on the ESP32-S3.

Version numbers

How to read a circuit board version

I number my hardware as release.iteration.id-code.dateHW. That way a lot can be read from the number itself. The example is the serial module (BPC 0.5.0.250511D1616).

0.5.0.250511D1616
release

0

Counted per project. A first version is always 0: not tested well enough to share yet.

iteration

5

Goes up every time I make a set of circuit boards. New hardware starts at the then-current iteration, not at 0.

id code

0

The code that goes with the kind of circuit board.

date

250511

The design date, as year, month and day (here 11 May 2025).

HW

D1616

A letter for the package type of the parts, sometimes followed by the main chip: the mosfet type on a switching module, here the ATtiny number of the serial module.

Hardware that proves good

If a piece of hardware turns out to be good without changes, I only raise the release number. Nothing technical changed, so the iteration stays the same.

Files

Circuit boards and enclosures

The files for the hardware are on my second GitHub account. See above for how the version numbers are built.

Boordcomputer_printplaten

All circuit boards as gerber files, per version, with bills of materials (BOM and CPL) and test results.

Behuizing

3D-printable enclosures: profile enclosure, switching module, sensor module, bypass module and the 2.8-inch computer.

Boordcomputer_project

The original project: the first code, the first circuit boards and the first enclosures.

Testing and adjustments

I test the circuit boards myself and report in the videos and in the repository readme whether they work and which manual change is needed. So read that before you order.

Build your own

The build guide is in the making

A parts list, schematics and photos will come to the site. Until then everything is on GitHub. If you get stuck, just ask.