X Engineering alternator regulator — cherry hardwood enclosure installed in a boat cabin beside a chartplotter

Open-source alternator regulator for lithium battery systems

01

Basics

12 / 24 / 36 / 48 V universal. P-type and N-type alternators. Three-stage charging with tail-current detection and re-bulk logic. Third-party BMS integration.

02

Control architecture

Three cascaded PID loops with position-form PI, anti-windup, and bumpless transfer on every mode change. Smooth charging that won't spike, oscillate, or hunt.

03

Safety

Multi-layer thermal, voltage, and current protections, with redundant hardware safety that stops output even if firmware fails. Conformal-coated, EMI-hardened, reverse-polarity-protected — built for the marine environment.

04

Health Monitoring

Learns the alternator's output for a given RPM, field, voltage, and temperature — then flags deterioration. A physics-based life model predicts time-to-failure.

05

Performance & Comfort

Compare live speed to your best polars against wind and sea state — tune sail trim, spot a fouled bottom. The 6-axis IMU computes a Motion Sickness Index plus anchorage and passage comfort scores.

06

Strava-style fleet community

Global leaderboards for distance, days at sea, alternator and solar output, speed by boat type, and much more. Public fleet stats page.

07

History

80 hours of high-resolution data stored locally; unlimited cloud history on top. Long-trend plots across years of cruising.

08

Battery Monitor

Built in 20-bit voltage and current resolution (TI INA228). Benchmarked against BMV-712. No second device required — use any existing shunt.

09

Sensors

Digital alternator temperature sensor, Hall-effect alternator current sensor, 6-axis accelerometer + gyro, precision barometer.

10

Connectivity

NMEA 2000 (CAN), Victron VE.Direct, WiFi, cloud sync, secure OTA updates. Pulls wind, GPS, and heading from your boat network.

11

Easy installation

Splices into your existing wiring — no proprietary harnesses. Standard ethernet cables available anywhere. WiFi access-point mode for first-time setup.

12

Open everything

Schematics, source code, design documentation — all published. No black boxes, no secrets.

Connector panel — terminal blocks, RJ45 jacks, M12 NMEA 2000, USB-C
A Strava, for boats

Cruising Network

Each regulator can opt in to a shared, anonymous fleet dataset. Leaderboards, records, and fleet-wide statistics, built from what the regulator already measures — speed, position, energy, weather, and more.

Leaderboard categories — speed, sailing, distance, exploration, energy, engine, weather, anchoring
Sustained speed vs. length, every boat plotted, your boat marked Solar leaderboard, best day — your boat ranked third
Your standings — every rank you hold, on one card A leaderboard row expanded to the boat behind it — type, length, make, home port Fleet energy generated, lifetime — alternator vs. solar

Tech

KiCad PCB layout (source design) X Engineering regulator PCB — solder side X Engineering regulator PCB — component side

FAQ

Getting started

Where can I get help with installation, setup, or troubleshooting?

The documentation covers installation and setup step by step. For everything else there is the support forum, or email joe@xengineering.net.

Will this work with my alternator?

The regulator works with any alternator in a 12, 24, 36, or 48 V nominal system, P-type or N-type field excitation — in other words, 99% of them. An internally regulated alternator will first need to be converted to external regulation; that is a separate project, and there are many tutorials for it already.

Does it support lithium batteries? What voltages?

Yes — lithium and every other chemistry, in 12, 24, 36, and 48 V systems.

Do I need internet access?

Not for basic regulator operation. Extra features — over-the-air firmware updates, remote support and diagnostics, extended memory, configuration sharing, leaderboards, weather mode — do require an internet connection, commonly via the ship's network or a cell-phone hotspot.

What happens if the regulator fails?

If the ESP32 (CPU) or its software fails completely, a pure-hardware overvoltage protection stage in the regulator still prevents runaway alternator output.

Can I retain the factory regulator? How does this work with a DC/DC charger such as an Orion?

This product replaces the factory regulator and does not require a DC/DC charger. It allows any alternator to charge lithium (or any other chemistry) batteries directly, at programmable rates safe for the whole system.

How is this different from Wakespeed, Zeus, Balmar, etc.?

The hardware and software are open source — transparent and freely modifiable. This regulator also has more functionality and costs less, with no office, no dealer chain, and no engineering team to pay for. X Engineering is possibly the first case of an AI-enabled company for a hardware product, at least in the marine industry, and it has greatly benefitted from Claude Code and free support / idea generation / peer review on internet forums.

Can I modify the firmware for my own boat?

That is the point of the product. The firmware and hardware design are open source, the technical documentation is public down to the schematic level, and the platform is built for owners who want to tweak and extend — especially now that AI coding tools make firmware customization realistic for a motivated owner. One recommendation from experience: keep the customizations that are genuinely justified, and stay on the standard firmware branch for everything else — divergence carries a maintenance cost as features evolve.

Sensors and measurement

Do I need the battery shunt?

No — the regulator runs fine without one. What the shunt adds is the fastest layer of battery protection: it measures battery current thousands of times per second, so the regulator sees a sudden load disconnection (load dump) as a current step — often a much easier signal to detect than the resulting voltage rise, especially on larger banks.

Example: a 100 Ah bank, alternator delivering 100 A because the microwave and a water heater are running, and both switch off at once. Without a battery shunt, the first evidence is the voltage rising — and by then the full alternator output has already been diverted into a bank that may not want anywhere near that charge rate. With the shunt, the current step itself triggers the response, earlier and smoother. The shunt also enables battery-current-limited charging (holding a set charge current into the bank regardless of what the loads are doing), and gives you a highly accurate 20-bit battery monitor (state of charge) at no extra cost.

We recommend the shunt in all cases, but it is most essential with smaller banks and more delicate alternators.

My batteries provide a "virtual shunt" over NMEA 2000 (via a Cerbo GX or similar). Can the regulator use it?

Yes, for monitoring: the regulator listens for the bank's voltage, current, temperature, and state of charge on the NMEA 2000 network (Battery Status and DC Detailed Status PGNs, 127508/127506, on a user-selectable battery instance) and shows and logs them alongside its own measurements.

What it deliberately does not do is run charge control or protection from network data. Bus data arrives about once per second and lags reality by a second or two — fine for a display, far too slow for protection or fast control. Fast events (load dumps, sudden RPM changes, a BMS disconnect) need millisecond response, and that comes only from the regulator's own directly wired sensors. Regulators that control from bus data are, in effect, tolerating short over-voltage events and hoping the BMS doesn't disconnect first — not ideal, especially since most BMSs are poorly documented.

How accurate is the state-of-charge tracking?

The battery shunt is read by a 20-bit precision measurement chip (TI INA228) — the same class of part used in laboratory power analyzers. Its dynamic range resolves milliamps of trickle current while still measuring hundreds of amps, and it samples fast enough to feed the protection layers described above, not just slow state-of-charge accounting.

I already have a 500 A shunt on the alternator output. Can that be used instead of the Hall sensor?

The standard alternator-current sensor is a clamp-on Hall-effect sensor (±200 A / ±300 A / ±500 A ranges available; 300 A ships as the default). It installs in seconds — it clamps around the output cable, nothing is disconnected. In principle the regulator's precision shunt input can be repurposed to read an alternator-side shunt instead of a battery shunt, but that is a customization; the supported configuration is the Hall sensor on the alternator and the shunt (if fitted) on the battery. If your installation already has alternator-side shunts, get in touch for further discussion.

My engine has no tachometer. Can the regulator provide RPM?

Yes. The regulator reads the alternator's stator signal (W-terminal) and converts it to engine RPM using your pulley ratio. That RPM drives the regulator's own RPM-indexed charge tables (the belt-load management), and it can optionally be broadcast onto NMEA 2000 as engine speed (PGN 127488) for your displays. Treat the absolute number as advisory — it is pulley-ratio math on an electrical frequency, not a calibrated tach — but it is exactly what belt-load logic needs.

What about battery temperature?

The regulator supports daisy-chained digital temperature sensors (OneWire), and by default its own board temperature sensor doubles as a battery-temperature proxy when the regulator is mounted near the batteries — one reason near-the-bank mounting is recommended. Charging is blocked below freezing to protect lithium banks. More convenient wiring for additional temperature sensors is planned for a future version — a convenience improvement, not a functionality difference.

Integration: NMEA 2000, Signal K, Victron, BMS

What does the regulator transmit on NMEA 2000?

With transmit enabled (it ships off until you turn it on; all instances are user-settable):

  • Battery voltage, current, temperature, and state of charge (Battery Status 127508 + DC Detailed Status 127506)
  • The alternator as its own DC source — voltage, output current, and temperature (a second 127508/127506 pair)
  • Alternator temperature on its own instance (Temperature, 130312)
  • Charge stage (Charger Status, 127507)
  • Optional: engine RPM (127488) and engine dynamic parameters (127489), including the standard engine warning bits — over-temperature, low system voltage, not charging — that chartplotters pop alarms for natively, with no setup
Can my chartplotter alarm on alternator temperature or a failed sensor?

Yes — that is the intended pattern. Set a temperature alarm on the regulator's temperature instance in your MFD. If the regulator's temperature sensor fails or goes stale, the regulator stops transmitting that PGN entirely rather than sending a stale number, which trips the "data lost" alarm every major MFD offers. A silently failed temperature sensor is how alternators cook; this closes that hole with the alarm infrastructure you already own.

Does it work with Signal K?

Yes, today, with no extra configuration on the regulator: Signal K servers read the NMEA 2000 network, so everything listed above flows into Signal K automatically, where you can set threshold alarms, push notifications to your phone, and build dashboards. A direct WiFi connection to Signal K (for boats with a Signal K server but no NMEA 2000 backbone) is a possible addition if someone requests it.

Does it support Victron DVCC?

True DVCC (Distributed Voltage and Current Control) is a closed Victron feature — the GX device distributes charge commands only to Victron's own chargers, so no third-party regulator can literally "do DVCC," whatever a spec sheet may imply.

What is achievable — and planned for August 2026 — is the functional equivalent: the regulator listens for the charge voltage and current limits (CVL/CCL) that a managed battery or GX publishes — over NMEA 2000, or over the Victron VE.Direct serial connection it already reads — and self-limits to them. Incoming limits are always clamped by the regulator's own protection layers: an external system can lower the charge targets, never raise them past what the regulator itself considers safe.

Today, the NMEA 2000 and VE.Direct interfaces feed monitoring and logging; closed-loop following of published BMS limits is the next major control feature.

Can my BMS or a Victron system tell the regulator to stop charging today?

Two paths work right now:

  • Hardwired: the regulator's enable line — a BMS relay or GX relay in that circuit gives a positive, dumb-simple charge disable.
  • Over the network: every control in the regulator's web interface is a plain HTTP call on the boat's local network, so anything that can make an HTTP request — Node-RED on a Cerbo GX, Home Assistant, a shell script — can turn charging on or off or change settings. The interface is documented and open.
Why not take all sensor data from the NMEA 2000 network or the Victron system?

Because control quality lives or dies on sensor latency. Network data updates at roughly 1 Hz; the regulator's control loop reacts in milliseconds to RPM changes and load dumps. Slow data is welcome for display, logging, and (soon) charge-limit following — the slow outer decisions. The fast inner loop runs only on directly wired sensors. This split is a design principle, not a limitation of the bus interface.

Can it talk directly to a lithium battery's CAN BMS (Pylontech-style)?

Not on the same port as a marine network. The regulator has one CAN port, committed to NMEA 2000 (250 kbps). The common lithium "BMS-CAN" dialect is a different bus (500 kbps, different framing) — the two cannot share a port. In practice this rarely matters on boats: batteries that speak only BMS-CAN are usually bridged onto NMEA 2000 by a GX device, and the regulator listens there.

Installation

Where should the regulator be mounted?

Near the battery bank is preferred: the board's temperature sensor then serves as a battery-temperature proxy for the freezing lockout and temperature-aware control tuning. Distance from the engine is not a problem — see the next question.

The regulator will be several meters from the alternator. Do I need heavy field wiring?

No. At the recommended 14 AWG, a 6 m run drops about half a volt at worst-case field current, and the regulator simply compensates with a slightly higher field duty cycle. (Fields rarely run near 100% duty in any case — a field driven flat-out overheats the alternator long before wiring drop matters.)

Do I have to buy the wooden enclosure?

The enclosure's full CAD (STEP, DXF, drawings) is published in the documentation — print, machine, or build your own housing if you prefer. The box can be omitted from a shipment on request, but the price does not change: one product, one price.

Ordering

When will it ship?

Within 2 business days of ordering unless otherwise noted.

International shipping?

No — United States addresses only for now. and we'll email you when we ship to your country. Questions: joe@xengineering.net.

Returns?

Officially no, but I will work with you in special cases.

Warranty?

Officially no, but I will be reasonable in the event of failures. Reputation is essential for a new small business.