irons

ESP32-based sailing instruments and marine-network utilities.

irons runs on inexpensive, low-power ESP32 hardware. It reads NMEA 2000/SeaTalkNG and Nexus data, holds stable sensor sources, and serves local instruments, race analysis, vessel monitoring, gateways and diagnostics over Wi-Fi or Ethernet. Chartplotter functions remain outside the current scope.

Local operation does not require a cloud connection

Current irons sailing instrument display in its dark theme
irons sailing instruments · current interface
NMEA 2000 / SeaTalkNGPrimary · Same CAN data, different connector
NexusSupported · Direct RS485
Signal KSupported · REST + WebSocket
NMEA 0183Supported · TCP/UDP gateway; physical port planned
SeaTalk1Planned · Direct single-wire hardware
J1939Planned · Engines + generator sets

Local instruments, recording, monitoring and network services.

The device handles marine-network data and serves the complete interface itself. Recorded data remains on the vessel unless it is deliberately downloaded or requested through an enabled local service.

Sailing instruments

Sailing, race start, engine, GPS, heading and motion, wind, speed/depth/water, polar, course-map and anchor information is available in a browser on existing phones, tablets and computers.

Race recording and analytics

Configurable prestart and racing samples are grouped into complete sessions with titles, race type and an inline journal. Closed races can be downloaded as one ZIP or replayed locally with a synchronized track map, multi-channel plots and race-only summary statistics.

Vessel systems

An alarm-first overview links to electrical, tank and bilge, environmental, and AIS traffic pages. Battery-bank capacity, reserve and current direction support reported or calculated endurance; AIS range and closest approach appear only when the required inputs are fresh.

Local network services

NMEA 2000 traffic is available through RAW TCP/UDP and a paired UDP bridge. A defined navigation subset converts between NMEA 2000 and NMEA 0183 over TCP/UDP, while Signal K supplies read-only REST and WebSocket data.

Source-aware data

Position, heading, attitude, depth, speed, temperature and wind can use a selected provider. Automatic selection holds one healthy source until it becomes stale, while the interface exposes provenance, age and unavailable states instead of mixing competing sensors.

Storage, updates and recovery

Onboard storage holds maps, polar targets, race sessions and incident records. The Ethernet/PoE board adds a managed MicroSD card. Independent recovery firmware can diagnose failed starts and install board-checked updates without erasing settings or boat data.

Performance and concurrency

NMEA 2000/SeaTalkNG and Nexus reception run independently of browser rendering and slower application work. The web interface reads published copies of state rather than holding bus processing locks while it formats a response.

NMEA 2000 receive path

512-frame PSRAM ring

A dedicated CAN receive task drains the 64-frame controller queue into a single-producer, single-consumer ring. Backlog and drop counters remain visible in diagnostics.

Nexus receive path

Dedicated bus task

One high-priority task owns the RS485 protocol and transceiver. Browser requests cannot delay the poll response path.

Concurrent access

Snapshots and bounded queues

Single-owner state, short critical sections and immutable snapshots separate network clients from time-sensitive bus work.

Operating information

Health counters

Queue depth, dropped frames, bus errors, stale data, response pressure, heap use and task timing can be inspected from the diagnostic pages.

Local access by Wi-Fi or Ethernet.

The same browser pages and local data services are available on each active interface. Internet access is not required for normal use.

Access point + Wi-Fi client

irons can provide its own access point while joining an existing 2.4 GHz network. Both share the ESP32 radio and therefore use the same channel.

Cellular service retained

The irons access point does not advertise itself as the default route. A tablet can remain connected to irons over Wi-Fi while retaining an LTE or 5G data path, subject to the tablet's network policy.

Ethernet and PoE

Compatible boards add wired Ethernet or PoE. The local web and data services bind to Wi-Fi and Ethernet rather than requiring separate configurations.

Client capacity

The current unencrypted local interface provides slots for up to 12 simultaneous client devices. The encrypted deployment target is five; native TLS support remains under evaluation.

VPN support

An upstream vessel router can provide VPN access through WireGuard or Tailscale, as well as standard routed access. TCP/IP DNAT is also possible, but the unencrypted local interface should not be exposed directly to the public Internet.

Network sensor access

Browser instruments, Signal K REST and WebSocket data, NMEA 2000 RAW transport, and NMEA 0183 TCP/UDP translation make selected sensor data available across the vessel network.

Browser-based instruments and themes

Three supplied themes apply across the page-specific instrument skins. A display can be set manually, follow the tablet or computer setting, or change between day and night themes using position and time.

DarkReduced glare at night
LightGeneral daytime use
SunlightHigh contrast in full glare
Current irons Race Start display with countdown, line tools and recorder status

Race start display

Countdown, line ends, distance-to-line, burn time, line bias and recorder status stay together in a helm-readable layout.

Engine display

RPM, gear, oil pressure, coolant temperature, electrical values, fuel and operating hours are shown together.

Current irons engine instrument display in its dark theme

Sailing and onboard tools

These functions use the same selected position, heading, wind and speed sources as the instrument pages.

Race start and live display

Shared countdown, line marking, distance-to-line, time-to-burn, line bias and a race display with up to eight selected values.

Race recording and library

Automatic timer-following or manual recording, configurable channels and rates, continuation-safe sessions, storage warnings, titles, race type, protection, journal entries, one-file ZIP download and explicit deletion.

Race Analytics

Recorded tracks replay over a course map with synchronized time controls, up to six colored data overlays, units, legends, and minimum, average and maximum values for recorded racing data.

Course maps

Built-in or uploaded GeoJSON shorelines and landmarks can be panned, zoomed and fitted behind courses and recorded tracks. Map coverage is checked before it is used for race replay.

Polar performance

Uploaded target polars, measured performance curves, live percent-of-polar and separate tables for user-defined sail plans.

Anchor Watch

Shoreline context, position history, swing plot, watch radius and a latched drag alarm with distinct idle, armed, degraded and dragging states.

Man overboard

Records the best available position, time, speed, course, heading and preceding GPS track.

Sensor pages

GPS, compass, thru-hull transducer and wind analysis, including supported configuration and calibration functions.

Stereo control

Playback, mute, track, power and zone-volume control over NMEA 2000. The current device-specific provider supports compatible Fusion Apollo stereos.

Current application views

Representative states from the current interface. Values shown are demonstration data; available values and controls depend on connected equipment and configuration.

Race Analytics replay with a Stockton Lake track map and synchronized data overlays
Race AnalyticsReplay controls, mapped track, recorded overlays, units, legend and race statistics.
Race Logs library with race details, protection and inline journal editor
Race library and journalManage complete race sessions, notes, protection, downloads and deletion.
Stockton Lake course map showing shorelines, marina docks, landmarks and zoom controls
Course mappingUploaded or built-in GeoJSON with pan, zoom, fit, landmarks and course marks.
Anchor Watch swing plot with watch radius and nearby Stockton Lake shoreline
Anchor WatchSwing history, watch radius, shoreline context and explicit alarm states.
Vessel Systems overview for electrical, tanks and bilge, environment and AIS traffic
Vessel systemsAn alarm-first overview with dedicated electrical, tank, environmental and AIS pages.
NMEA 2000 diagnostic page showing bus health, gateways and connected devices
NMEA 2000 diagnosticsBus health, loss counters, gateway state, endpoints, traffic and connected-device identity.

Standards-based sensor support

irons accepts standard data from compatible network equipment. The following sensors also have device-specific configuration, calibration or analysis pages.

Airmar DST810 / DST820

Thru-hull multisensors. Via NMEA 2000: speed through water, depth, water temperature and attitude, with offsets, telemetry and guided speed calibration.

Garmin gWind

Wired masthead sensor. NMEA 2000 through a GND 10, or direct Nexus RS485 input without a GND 10.

Garmin GPS 24xd

GPS and heading sensor. Via NMEA 2000: position, COG, SOG, heading, variation and attitude, with compass calibration, heading alignment and fine offset.

Other supported equipment

Fixed-mount marine VHF

Standard Horizon GX1850GPS

NMEA 2000 · Internal GPS · Class D DSC

Vessel systems monitor

Blue Sea Systems 1850 M2

AC/DC voltage and current · Batteries · Tanks · Bilge

Instrument displays

Garmin GMI 20 / GNX 20

NMEA 2000 · Data display

Open-source navigation software

OpenCPN

Charts · Routes · AIS · Signal K

Marine entertainment systems

Fusion Apollo MS-RA670 / MS-RA770

NMEA 2000 · Audio control · Multi-zone

Supported hardware and build targets

Loading hardware support status…

Isolated marine and industrial interfaces

Purpose-built irons hardware is intended to consolidate the common vessel interfaces while keeping the processor replaceable.

  • Isolated CANNMEA 2000, SeaTalkNG and planned J1939
  • Isolated RS485Nexus and compatible industrial sensors
  • RS422NMEA 0183 equipment
  • RS232Service and device-specific connections
  • Ethernet + Wi-FiLocal displays, gateways and network sensor access

Loading hardware inventory…

Onboard interfaces and hardware

A dash means the manufacturer does not list the component as fitted. Display information refers to an onboard display, not an external screen supported by irons.

DO means solid-state digital output; RO means electromechanical relay output. On the Waveshare relay boards, the -C suffix identifies the CAN-equipped variant rather than the otherwise similar RS485 variant. The T-Panel S3 uses a replaceable RS485/CAN field-bus module; this list describes its CAN-equipped configuration.

38,000+lines of firmware source
—board-specific firmware build profiles
—supported field targets
ESP32low-power processing with browser-based displays

The current commercial boards are sold through manufacturer stores, including Waveshare and LILYGO, and through marketplaces such as Amazon and AliExpress. Availability varies by model and region.

Other boards, sensors and equipment can be analyzed.

Owners, manufacturers and hardware developers can provide a working sample for evaluation. Suitable boards can receive an irons hardware definition; particular sensors or devices can be analyzed for configuration, decoding and network integration.

Planned development and support

These items are planned and are not presented as current capabilities.

Multi-language support

A shared language catalog, locale selection and locale-aware number, date and time formatting are planned for the full interface.

ESP32-S31 processor support

Support is planned for the newly shipping dual-core RISC-V platform as suitable boards and software tooling become available.

Custom engine board

A custom engine-monitoring carrier is planned around a socketed ESP32 development module for serviceable processing and purpose-built marine connections.

Custom NMEA / Nexus board

A socketed ESP32 carrier is planned for integrated NMEA 2000, SeaTalkNG and Nexus connections without separate interface modules.

J1939 for engines and generator sets

Planned J1939 support covers compatible propulsion engines and generator sets: operating data, alarms and diagnostics, with defined values bridged into NMEA 2000 and Signal K.

Monthly releases

A regular monthly schedule is planned for feature and maintenance releases, with urgent corrections issued separately when required.

Long-term support for engineered irons boards

Purpose-built irons hardware is planned to receive a longer, documented support window than changing commercial development-board revisions.

ESPHome and Home Assistant

Future integration is planned for selected vessel sensor data and appropriate non-navigation controls, without placing home-automation traffic in the time-sensitive bus path.

WireGuard and Tailscale VPN support

Documented VPN deployments are planned through a vessel router running WireGuard or Tailscale. The unencrypted local interface will not be presented as a public-Internet service.

Submitted sensors and equipment

A supplied working sample can be analyzed for protocol behavior, sensor data, configuration support and an appropriate irons integration.

Bug reports and feature requests

A product-facing tracker is planned for reproducible bug reports and structured feature requests without exposing the private source repository.

Browser installation preview is live.

Select a supported board, connect it with a USB-C data cable, and install a release-pinned system from current Chrome or Edge. First provisioning erases the board; routine firmware updates preserve settings and boat data.

Open installer