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

Connectivity

NMEA 2000 (CAN), Victron VE.Direct, Signal-K, WiFi, OTA updates.

03

Sensors

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

04

Open Source

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

05

Integrated Battery Monitor

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

06

History

80 hours of data stored locally; unlimited cloud history on top. Trend plots across years of cruising.

07

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.

08

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.

09

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.

10

Performance & Comfort

Compare live speed to your best polars for the wind and sea state — tune sail trim, spot a fouled bottom. An accelerometer computes a Motion Sickness Index plus anchorage and passage comfort scores.

11

Strava-style fleet community

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

12

Easy installation

Splices into your existing wiring / standard ethernet cables. Commissioning Wizard guides first setup, and full configurations can be imported/shared.

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.

I have two alternators. Do I need two regulators?

Yes — while there are ways around this and you're free to do what you want, running two from one is not a choice that we'll encourage.

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.

The two can coexist — a DC/DC charger goes on doing its job for whatever source feeds it. What the regulator removes is the need to push alternator output through a converter rated well below the alternator's capability (typical marine units are 30–50 A) and to convert that energy a second time. Charge rate is then set by what the engine, belt, alternator, and battery can actually take, not by the converter in the middle.

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

The X Engineering regulator is open source — transparent and freely modifiable. It also has more functionality and costs less (likely due to no office, no dealer chain, 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. The downside? New product, not as proven as the incumbents.

Can I modify the firmware for my own boat?

Please do. The platform is built for owners who want to tweak and extend — especially now that AI coding tools make firmware customization realistic for motivated but non-expert owners. One recommendation: it is preferable to submit feature / pull requests first, and only fork the code as a last resort, to try to keep the future manageable for the fleet.

Charging control and protection

Is there an equivalent to a belt manager — limiting output to protect the belt and keep the alternator cool?

Yes. An engine-speed limit table has ten editable breakpoints (100 to 4600 RPM by default), each one a ceiling in amps — or in kW if you would rather think in belt power. This can be used as a temperature limiter, but the regulator also separately includes closed-loop alternator temperature control. You set a limit and the regulator holds output just under it. It regulates against a 60-second projection of where temperature is heading rather than only where it is, so it eases off before the limit instead of overshooting and recovering. Above the limit sit two more tiers: a warning threshold that ramps the field to zero and starts a lockout, and a critical threshold that cuts the field immediately.

The gain over a fixed field percentage is that you keep full output while the alternator is still cold and give up output only when temperature actually demands it. If you prefer the conservative version, set the table low and let it be the only limit. The automatic temperature control works well where it has been tested, but every installation is a little different.

Can it alarm on current, voltage, and temperature thresholds?

Yes, there are comprehensive safeties which both warn you (external buzzer, notifications over CAN) and automatically reduce then cut the field to protect equipment.

Sensors and measurement

Do I need the battery shunt?

No — the regulator runs fine without one, but it is highly recommended. 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. It tracks closely with the popular BMV-712.

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. It works even at idle with the field off: all it needs is 25 mV on the low end, and it tolerates up to 100 V on the high end.

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.

Beyond charging

Why does a charge regulator have leaderboards, weather, and motion sensing? Can I run it as a regulator only?

You can. Cloud features are a single on/off switch in the interface. NMEA 2000 transmit ships off until you turn it on, message by message. Anything you don't enable does not run. With everything switched off it is a self-contained local device: web dashboard on the boat's network, no account, no internet.

The extra features exist because the marginal cost of adding them was negligible and the fleet data will allow interesting queries. Some examples: predicted passage and anchorage comfort based on data from similar boats in similar weather. Vessel performance comparisons (best <30-foot VMG upwind in 30 knots of wind with a motion sickness index under X). Alternator and battery lifetimes by manufacturer and use case. What should the temperature limit of an alternator actually be, and how does it affect life? The list goes on once the database is built.

None of the above is allowed near the critical control path: the field control loop runs on its own ~30 ms cadence, and the slow work — writing logs to flash, uploading to the cloud — is deliberately deferred until the alternator field is off.

Since the firmware is open source, deleting what you don't like is always possible, but by switching it off instead you stay on the maintainable path, which is better for most users.

What is anchorage comfort scoring?

A 0–100 score for how comfortable an anchorage was, computed from the on-board 6-axis motion sensor. It measures how badly the boat rolls and pitches — heel weighted 65%, pitch 35%, full penalty at 12° of heel or 8° of pitch. It activates below 1.3 kt and is grayed out underway. Metrics are subject to change as the fleet gets calibrated.

Underway, the same sensor produces a passage comfort score and a motion sickness index instead.

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, trying to keep this simple where we can.

Does it run hot? Does it need ventilation or a heatsink?

No. The board's own consumption, measured at the DC input with the field off, is 0.7 W on a 12 V system and 1.31 W on a 48 V system; in the common idle state it drops to 0.27 W. The field is driven by a MOSFET with 7.2 mΩ on-resistance, so a typical 4–5 A field adds well under a quarter of a watt, and even a 15 A field — far above marine norms, and something the wiring won't handle — adds about 1.6 W spread into the board's copper.

Nothing here is even close to needing a heatsink, a fan, or clearance for airflow.

What is the enclosure made of?

Solid cherry hardwood, in two pieces: a wall dock that mounts to the bulkhead, and a base holding the board that slides down onto it on a 45° sliding dovetail. It is finished with Milesi XGC065 — after trying a few other options, this one has the best moisture resistance.

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.