Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⛵ Yey Boats

Open marine instrumentation for the rest of us

A source-available stack that turns cheap ESP32 touch panels into a SignalK glass cockpit — authored once, validated against the hardware, and rendered everywhere.

License: PolyForm-NC-1.0.0 SignalK Made for ESP32-S3 Org repos


The story

Marine multi-function displays are expensive, closed, and frozen: the screens are hardcoded in firmware, so changing a layout means a new build and a trip to the chandlery. Meanwhile a $30 ESP32-S3 touch panel has a brighter screen than a lot of dedicated chartplotters.

Yey Boats started as a single firmware that rendered live SignalK data on a Sunton ESP32-4848S040, and grew into a small ecosystem around one idea:

Describe a boat dashboard once, know it will work on the target before you send it, and render it on the instrument, in the browser, and (soon) on phones and watches.

That idea is now four cooperating projects — a language for dashboards, the firmware that draws them, a manager plugin that flashes and configures every display on the boat from the SignalK console, and a physics simulator that feeds the whole thing realistic Adriatic sailing data so none of it needs a wet boat to develop against.


The fleet

Project What it is Stack Activity
🧭 instruments The MFD firmware. LVGL 9 glass-cockpit UI, SignalK WebSocket client, WiFi/BLE provisioning, ArduinoOTA. C++ / Arduino / PlatformIO last
📐 midl Marine Instrument Definition Language — declarative JSON/YAML dashboards, validated against each device's capability manifest. TypeScript last
🛠️ Instruments-manager SignalK server plugin + webapp to discover, register, configure, and OTA-update every display on the boat. Node.js / JavaScript last
🌊 simulator Physics-accurate Adriatic sailing simulator (Beneteau Oceanis 45) with pluggable SignalK / stdout / NMEA sinks. Python last

navigator-tg-bot (private, a Telegram demo bot) and .github (this repo, org infra) are two more repos in scope for org automation — see the triage playbook — but are excluded from the public roster above.


By the numbers

Firmware MIDL Manager Simulator
Top language
Languages
Repo size
Commits / month
Open issues

All badges above are live — they query the GitHub API through shields.io on every page load, so the counts, languages, and "last commit" stamps update on their own as the repos move.

Roughly 75k lines of code across ~190 commits, in four languages, all speaking one protocol (SignalK) and one dashboard format (MIDL).


How the pieces fit

        author a dashboard                  develop without a boat
        ┌──────────────┐                    ┌──────────────┐
        │     MIDL     │                    │  simulator   │  Oceanis 45 physics
        │  (the lang)  │                    │ (fake telem) │  → SignalK frames
        └──────┬───────┘                    └──────┬───────┘
               │ validate vs device                │
               │ capability manifest               ▼
               ▼                            ┌──────────────┐
        ┌──────────────┐   register / OTA   │   SignalK    │
        │   manager    │◀──────────────────▶│    server    │
        │ (SK plugin)  │   push layout      └──────┬───────┘
        └──────┬───────┘                           │ WebSocket
               │ config + firmware                 ▼
               ▼                            ┌──────────────┐
        ┌────────────────────────────────────────────────┐
        │            instruments  (ESP32-S3 firmware)     │
        │   LVGL glass-cockpit  ◀── live boat state       │
        └────────────────────────────────────────────────┘

Getting started

  • Just want to see it? Spin up the simulator against a local SignalK server — no hardware required.
  • Have a panel? Flash instruments (make build && make flash) and provision it over WiFi/BLE.
  • Running a boat network? Install the manager plugin in SignalK to manage every display from one console.
  • Designing screens? Read the MIDL spec.

License

Every project is source-available under PolyForm Noncommercial 1.0.0 — free for personal, research, and educational use. Commercial use requires a separate license; contact rights@yey.boats.

Built by the Yey Boats Project · Fair winds ⛵

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors