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

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 discouraged.

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, the solar forecast — do require an internet connection, commonly via the ship's network or a cell-phone hotspot.

Is it safe?

Yes, as safe as possible for something charging a battery. If the ESP32 or its firmware fails completely, a pure-hardware overvoltage stage still prevents runaway alternator output. Before that, six software protection groups watch currents, voltages, temperatures, and fault on missing or out-of-range values.

A watchdog supervises the control loop. Every meaningful function is profiled and has visible timing. If the loop stalls, the processor reboots itself, and the cause is reported.

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.

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.

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 a battery shunt? I saw that you don't include one and recommend using an existing installation or purchasing from a 3rd party.

Technically no — the regulator runs fine without one, but a battery shunt is highly recommended. What it adds is the fastest layer of system protection: it measures 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.

The shunt is recommended 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.

Protection and the fast control loop stay on the regulator's own wired sensors, always. Bus data arrives about once per second and lags reality by a second or two — fine for display and for the slow charge-limit coordination described below, far too slow to catch a load dump, a sudden RPM change, or a BMS disconnect. Fast events need millisecond response, and that comes only from directly wired sensors.

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

Which CAN protocols are supported?
ProtocolSpeedWho speaks it X Regulator can receiveX Regulator can transmit
NMEA 2000 250 kbps Most everything marine — chartplotters, MFDs, and GX devices
  • Battery voltage, current, temperature, and state of charge from any instance, including a virtual shunt bridged on by a GX or other device
  • Any other parameter available — position, heading, attitude, speed through water, speed over ground, wind, depth, the usual list
  • Battery voltage, current, temperature, state of charge, charge stage, and status
  • Alternator voltage, current, and temperature
  • Engine RPM from the alternator W-terminal (stator tap)
  • Standard engine warning bits MFDs alarm on natively
  • Battery configuration — chemistry, capacity, and nominal voltage
Victron VREG
(proprietary)
250 kbps a GX device
  • Voltage set-point
  • Coming soon: current target from GX
N/A
RV-C 250 kbps Lithionics-class BMS
  • Voltage and current set-points
  • A “do not charge” command. A charge-current limit of zero is obeyed the same way, as stop-charging
  • Charger status and configuration
  • The alternator and battery as DC sources, including AC ripple in millivolts
  • Fault codes and firmware revision
BMS-Can 500 kbps Pylontech, BYD, JK, and REC Not supported yet. Available by request. So is any other open BMS protocol. Note that there is only one CAN port, so you must choose a 500 kbps OR a 250 kbps system, not both. N/A

The first three can live on one wire at 250 kbps simultaneously. BMS-Can is the odd one out: different speed, different ID format, physically separate segment, cannot coexist, and is not common on boats, which favor NMEA 2000.

All CAN parameters are used for display and slow decision making. CAN is not fast or reliable enough for critical control loops.

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 in the table 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.

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

Three paths work right now:

  • A charge limit on the CAN bus — the protocol table above. A published charge-current limit of zero is obeyed as stop-charging.
  • A hardwired contact: the regulator has a dedicated enable/disable digital input, opto-coupled, accepting any signal from 5 to 28 V. Managed BMSes generally have an allow-to-charge output meant for exactly this — REC and Lithionics units ship programmable outputs whose stated purpose is switching off chargers that don't speak their protocol. A Cerbo GX relay can drive the same input, though relay 1 ships programmed for generator start/stop, so using a GX for charge control means the second relay or Node-RED.
  • Over the network: the regulator joins the boat's WiFi network, and every control in its web interface is a plain HTTP call, 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.

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.

With cloud features off, does anything still leave the boat?

One thing, and only if you switch it on: Defer to Solar, which rests the alternator when the solar forecast says your panels will cover the next few days. It fetches from Open-Meteo, a public weather service, and that request carries your latitude and longitude. It doesn't go through xengineering servers, so the cloud switch doesn't govern it — it's a separate switch, and it ships off. With both off, nothing leaves the boat.

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.

A bulkhead or wall is the preferred location. The enclosure is solid wood, so do not mount it directly to the engine — look at where other wood is already living happily on the boat, and it will be fine in the same sort of place.

Above the waterline, and the higher the better, as with any electronics. The board is conformally coated and will resist splash, and with dielectric grease in the connectors it is about as robust as an electrical product gets short of full sealing.

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.)

What is the enclosure made of? Do I have to buy it?

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.

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, kept simple where possible.

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.

Ordering

When will it ship?

Within 2 business days of ordering unless otherwise noted.

International shipping?

No — United States addresses only for now. and you'll get an email when shipping opens 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.