Friday, May 8, 2020


--Protect your Battery --
-- Protect your Alternator --
-- Optimize your System --

These are the three guiding principals of the Alternator Regulator.  Today’s DC systems are more than a simple alternator & battery with a few lights.  In addition to recharging your battery, alternators need to also support ongoing loads and power equipment, even large dynamic swings from perhaps an inverter + washer/dryer which can interrupt a recharging session mid-cycle.  All makes for a complex environment to try to understand and adjust for.   The Alternator Regulator uses a series of sensors to fully understand these complex issues.  Now in its 3rd generation it has been deployed in Marine, RV, as well as off-grid applications across the world supporting battery technologies ranging from traditional lead-acid to modern LiFeP04 technologies.

Protect your Battery:

By carefully monitoring battery voltage, battery current, and battery temperature, the Alternator Regulator is able to closely follow manufactures recommendations for complete and safe recharging of your battery.  High precision voltage monitoring and regulation  – often to within 0.02v of manufactures targets assure no over-stressing of batteries.  Monitoring of battery acceptance current allow for accurate measurement of the battery's charge state (vs. time based estimates) to properly determine when to end charging and prevent chronic undercharging of batteries – perhaps the leading cause of early storage battery failures.  Combined with temperature compensation and a philosophy of Protect the Battery 1st the Alternator Regulator delivers  proper and safe charging of your battery.

Protect your Alternator:

High capacity storage battery banks combined with high-acceptance rate battery technologies (e.g., AGM, LiFeP04) can cause stresses to your alternator.  The Alternator Regulator is able to monitor the real-time operational status of your alternator and adjusts its output to assure long life while at the same time maximizing its output.  By actively regulating the alternators temperature (as opposed to simple pull-backs), the Alternator Regulator operates your alternator at its peak capacity while not over stressing it.

Optimize your system:

The Alternator Regulator is simple to install and use.  In the simplest installation only 4 wires are needed along with basic configuration via DIP switches.   Adding additional sensing wires (current shunt, temperature sensors, stator signals) each unlock additional capabilities of the Alternator Regulator.  3nd generation regulators introduce a CAN (Control Area Network) which may optionally utilize the industry proven method of Remote Instrumentation – allowing battery voltage, current, and temperature to be communicated and eliminating the need to route individual dedicated sensor wires all the way to the battery: simple install a BMS or Battery Monitor at the battery and click in a CAT-5 cable.

Able to support a wide range of engines, be it a dedicated engine as part of a DC generator, a large prime mover, or a small sail boat auxiliary engine, the Alternator Regulator is able to limit the maximum  alternator load to match the engine and drive belts capabilities – of critical importance when utilize  high-capacity alternators on engines of modest horse power.   A unique Adaptive Idle capability furthers adjusts the alternator load to match the engines power curve throughout its RPM range – assuring maximum alternator output while preventing engine stalling and/or sluggish performance at or near idle.

A full set of ASCII configuration commands allow detailed configuration beyond the simple DIP switches – providing complete control to fit YOUR exact installation needs.  Real time status and configuration is communicated via additional ASCII strings, allowing you to confirm configuration and monitor ongoing operation via simple apps on your phone, PC or tablet – or via available Signal-K providers.  Capable of supporting battery voltages from 12v to 48v with no hardware change (including hard to find 32v) and another unique capability to utilize an alternator field voltage different from the battery voltage, allowing use of 12v alternators to provide a low-cost high efficiency 24v or 48v battery charging heads.

Gen3 Alternator Regulator may optionally utilize the CAN to communication with other alternator regulators and charging sources as well as battery monitors and BMSes to deliver a well coordinated ‘systems’ approach of all charging sources:  each understanding the exact needs and status of the battery and delivering that in a well coordinated and prioritized ‘systems’ approach.  The CAN also allows for remote configuration and ongoing monitoring of the status as well as limited ‘NMEA2000 type’ status messages.

Designed for high reliability / efficiency, featuring transportation grade design practices and components, internal software logic self-checks as well as independent external fault / limit checking, fall-back / failover modes (both hardware and software) and more.  The Alternator Regulator takes seriously the task of Protecting your Battery, Alternator, while optimizing your System.  Learn more from the resource tables above, as well as the information blocks to the right.

  • Precision voltage regulations, often within 10mV  vs 100mV or more of many commercial regulators.
  • Monitoring of battery amperage to properly implement manufactures defined battery charge profiles, providing increased safety and less stress to batteries while truly fully charging them.
  • Ability to actively regulate alternator current 
    • Protecting batteries, alternators, and load placed to engine.
    • Providing a truly safe self adjusting ‘float’ mode for modern LeFeP04 batteries (0A in and out) while allowing the alternator to power ongoing electrical loads.
  • Support for 12v to 48v systems, including less common 32v or 36v,  with no hardware changes.
  • Battery voltage does not need to be same as field drive voltage:  Allows use of ‘12v’ alternator as a high efficiency 24v battery charging source.
  • Battery temperate monitoring to protect the battery from over/under temperature situations, as well as adjust voltage targets based on temperature.
  • Active regulation (vs. simple capping) of alternator temperature allows safe operation of alternators in high temperature / high load situations.
  • Alternator load capping, to prevent overloading engine as well as help save belts and increase their life.
  • Adaptive idle pullback to further reduce the load on engines while at low RPMs – allows use of modern efficient / high capacity alternators in engines of modest size
  • Support both P or N type alternators.
  • Multi chemistry, predefined charge profiles for traditional FLA, AGM, GEL, LiFeP04 batteries
  • Custom definable charge profiles allows complete tailoring beyond predefined profiles  to fully implement battery manufactures specifications
  • Flexible feature-in port:  One comm usage is to allow a BMS to signal "Stop-Charging" on LiFeP04 batteries.
  • Simple to upgrade firmware for future enhancements and bug fixes.
  • Participation in the OSEnergy CAN based fully integrated systems approach.  Bringing all its benefits of simplifying installation, increased reliability, and better battery / DC charging systems integration 
    • Also supports relevant NMEA-2000 type PGNs.
  • Simplified installation with industry proven Remote Instrumentation ability
  • High-reliability installation options, to allow for continued operation during component and/or wiring failures.
Last Revised March 1, 2017

Monday, February 19, 2018

News concerning the Alternator Regulator

5 years ago I split out the regulator portion from the DC Generator Controller and created this stand alone Alternator Regulator.   Sense then a few hundred have been send out, blank boards as well as fully assembled.  With the introduction of the 3rd Generation regulator I began to provide fully assembled units on a more consistent basis and interest has grown.  In fact, it has kind of caught me off-guard as the 2nd batch of 50x regulators are all but gone.  I have 5 units still here (If I scrounge).

It is time to do another build - with some improvements:  The layout will be modified to allow fitting into a Hammond “B” size project box.  Nice little plastic enclosures will provide a bit of dress up, protection, as well as a good way to mount the regulator.  If you still need a waterproof enclosure, those gray plastic electrical boxes are always an option.  Here is a 3D rendering of the new layout:

3D Rendering of Gen 3B regulator.
It will be known as Gen 3B (B, for BOX)

I am also going to simplify the manufacturing, ordering,  and shipping processes.  No more hand soldering connectors for me!  Over the next couple of months an ‘Order’ button will appear allowing folks to place an order directly  (though I am still here for Email).  I also will be using a land-based shipping service.  These changes will streamline ordering and delivery during the Spring / Summer / Fall when we are out cruising.  Plus it will free up my time to allow for continued development of other projects.  (It is amazing how much time it takes to box and ship these things)

And look for a ‘Brand’ name announcement soon.  With the increased interest is perhaps time to be a bit more professional. 

New layout, simplified manufacturing, and a more consistent ordering and shipping procedure.  All good changes I hope.  Sadly they also comes cost  (Fees, TAXes, supplies).  The new Gen 3B regulators will be available fully assembled for $125 each.  Included will be two temperature probes and support for 12v to 24v ‘batteries’.   (Higher voltages up to 48v available as an option).  In addition to being sized for a case, the 12/24v configuration will feature improved accuracy in the current shunt, and the FET drivers have been beefed up.  I am also looking into what will be involved to have some of the boxed pre-machined with cutouts.  And I am busy working on several other companion projects, more details as they get closer to being ready.

Now this has been planned this for some time – was looking at the Fall.  But the interest in the regulator has caught me off guard.  I am not expecting the next batch of regulators to be available until sometime in late April / early May.  As a small compensation for this inconvenience I am going to offer a special pre-paid price of $100 for the Gen 3B regulators.  This price will be valid until the regulators ship.  I also have a few of the current regulators left to send out  (Still $80 ea), and  there is a Floating Stash of 4 or so in the SW Pacific.  Contact me if you are interested in any of these.

I thank everyone who has supported this project.  It started out because I had a need, and thought I would share the solution with others.  The interest and feedback from folks has been great and I am looking forward for more to come.  

Wednesday, February 7, 2018

Config Tool!

Back in 2013 (yikes! - 5 years ago!!) when this project was conceived, there was the intention of a nice configuration / monitoring tool running on your PC, table, phone, refrigerator, etc.. that would simply advanced configuration of the Alternator Regulator.

Point and Click and be done!

The whole ASCII status / command set was developed to support communications between the regulator and this application, just happens that people can (with enough work) use the same API.  But it was primary intended for machine-to-machine communications, not machine-to-human.

That application was never developed, which made it fortunate that people could use the ASCII strings.

Well, flash forward a few years and Sailor Rick has taken up the task of an app!  Today he published the 1st Beta version, and you can download it here:

TO say I am tickled is an understatement.   As much capability as the Alternator Regulator has I have always felt a well designed application could bring as much, or more, value to this overall project.

Take a look, see what you think, pitch in!  This is just a start.
Thank you Rick!


Tuesday, January 30, 2018

Firmware version 1.2.0 released

Today I have posted up firmware 1.2.0 for the Alternator regulators.  This release includes many small adjustments / tuning as a result of feedback – thank you to all!  Mostly these changes are around the fall-back operational mode when a current shunt is not present (or has failed in some way), but there are two changes which may impact people:

The definition of the Battery Size DIP switches has been changed from a 500Ah per increment to 250Ah per step.  This is more in line with expected battery capacities.  Larger banks are still supported via the ASCII configuration commands and the internal representation of battery size is unchanged; only how the DIP switches are interpreted has been modified.

The ability to change the default 60 seconds warm-up delay has been added to SCV and SCA  ASCII status and commands.  See the revised Reference Guide for details.   One side effect of this change is that the internal storage space has to be changed, and as such any existing configuration information will be overwritten and lost.  If you do upgrade your regulator and have used ASCII commands to do detailed configurations you will need to reissue those.

Going forward I have added blank spaces to the internal storage arrays, so hopefully in the future as features are added a restructuring will not be needed.

The default CPE has been modified slightly to a bit more conservative values, specificity around the target voltage for CPE #8 (Li technologies) as well as max charging temperature for all batteries.   As we learn more about how specifically LiFeP04 technology is best deployed in house usages you can expect the default CPEs to be further refined.  Of course there is always to option to override the defaults via ASCII commands.

Finally the ability for the FEATURE-IN port to do a master-reset of the regulator has an additional condition which must be met:  The DIP switches must be set to select CPE#6 (reserved) with all other switches set = ON.  This is to reduce to possibility of accidental clearing of regulator, while still allowing for field master clear w/o needing to recompile the source code.

For a more complete list of changes, refer to the commit logs in  Github:

Those wishing to do a simple flash upgrade of their Gen 3 regulator may use the update tool located here:

And revised documentation may be found here:

Those looking at the code will notice many other formatting and naming changes:  There are mods associated with allowing common source code to be used with the DC Generator, and you can expect more changes along these lines down the road.

Thursday, January 11, 2018

Why all the code pushed up to GitHub?

Some folks may have noted a LOT of code pushed up to Github over the past few days. 

I am refreshing the DC Generator controller design, including bringing it up to a like level of OSEnergy support as the Alternator Regulator.

As I do the software porting / refresh there will be changes to the Alternator Regulator source code which is not directly related to the Alternator Regulator, but are being made to allow common source code / code reuse with the DC Generator controller.  Mostly it is naming, and use of #defines and include files.

Some of the edits include changes in the support libs RV-C, so make sure to bring down and update both the source and the libs directory on your local machine.

Monday, January 8, 2018

More robust USB connection, and a new CAN Dongle for Windows!

There has been increased interest in monitoring the Alternator Regulators, with some nodeJS scripts even in the works!   This however brings out the question:  What is the best way to attach to the regulators for long term monitoring?

My short answer: CAN

The CAN is designed for just this, the problem had been locating reasonably priced CAN adapters for PCs.  That has changed this past summer, as there is new a flood of low-cost CAN to USB adapters available for under $25.  One good source being:   Seed Studio is not the manufacture of this device, but they are well supporting it.  It is readily available from them, Ebay, Amazon (though at an insane price) and even Mouser and Digikey  (Hint, google the Seed Studio part number: 114991193  to see a few purchasing options).

To connect it up take a standard CAT-5 cable, cut one end off and connect the CAN-H and CAN-L wires.  If your PC does NOT already have some type of grounding back to the batteries negative terminal, also connect the CAN-GND wire.  That one will take some fiddling with.  Try it 1st without connecting the CAN-GND wire, if you start getting errors see if connecting the GND wire helps.  (We are hoping to avoid multiple ground paths back to the battery, aka a Ground Loop).

The RJ45 connector follows the CiA-303 spec for wiring, and when using standard CAT5 cables the wiring SHOULD be like this:

Regulator’s RJ45
CAT-5 color coding
EIA 568A
EIA 568B

Sorry, but there are two ‘common’ cable standards out there.  You will just have to look to see which one you have by the color of the wire in the 1st position.   For reference, here is the complete RJ45  pinout spec:

Once you have the pigtail on the CAN-USB done just plug it into one of the RJ45 connectors on the Alternator Regulator, does not matter which one.  Then follow the software driver instructions for the CAN-USB dongle and any app you wish to install.   If you have two regulators linked by an existing CAT5 cable, plug the CAN-USB pigtail into the open port on either regulator and remove the blue jumper on the TERM post for that regulator.  Then continue with driver/software install.  As a bonus, one of these CAN-USB dongles will provide access to BOTH regulators!

I have ordered one of these devices and have high hopes that with it and the work others in the community are doing we can get a simple and nice status display going.  Plus, this will be a great way to gain access for the configuration application being written as well!

Well, CAN is great – but if you want to use USB that is also an option.  I am a bit concerned about the long term reliability of the micro-USB connector on the regulators – it really is more for updating/configuration/diag then long term use.  And of course there is a distance limitation associated with USB (though active booster cables help).  One idea for a more robust USB connection is to install the 5-pin header into the PCB (just next to the existing USB micro connector) and use a cable to connect to that header.   The header pinout conforms to the standard PC 4 or 5 pin headers and there are several options out there, looking something like this:

The 5-pin header pinout spec is:

Note that some cables do not contain shielding, and hence are 4-pin.

Some ideas for sources include:

A ton of options out there - most all type ‘A’ in both male and female.  So, CAN is nice but if you are looking to do USB long term, consider connecting via a USB header.

Sunday, December 3, 2017

New batch of Fully Assembled Regulators are in!

The next batch of regulators have arrived and are ready to be sent out to anyone wishing one.

Same price, same shipping.   Oh, and also I have a bunch of the 10K NTC temperature sensors.   Nothing special, same thing you can get on Amazon or Ebay.  I just picked up a batch of 100x.   They are 3' (1m) long and have the JST plug already crimped on.   Passing them on @ $1 each if interested.

Saturday, September 30, 2017

Firmware v1.1.1 released

V1.1.1 release of the Alternator Regulator firmware has enhancements around CAN communications, improved temperature management, and has undergone internal code restructuring to reduce size.

Make sure to also download the latest quick-start and reference guide from the documentation folder.

A note: The libraries have changed with this release; specifically there is a customized NMEA2000 support file, NMEA2000-ALT.  This lib has had unused capabilities edited out to reduce code size.  Make sure to copy all the lib support files if you are looking to recompile the source.

 New Capabilities

  • Engine RPMs via CAN message: J1939 Engine Speed - PGN 61444 

Connecting the Alternator Regulators CAN port to an engine which supports J1939  will allow engine RPMs to be picked up via the CAN.   Such RPM messages will take precedence to RPMs determinations made via the Stator wire.

There is also a new compile option: `DISABLE_ON_J1939_RPMs` in `Config.h`  When selected the Alternator Regulator will monitor engine RPMs and place the regulator into a disabled mode when RPMs fall below 400 RPMs (or are not longer measurable either via the Stator or via a PGN 61444 message).  This compile option allows the regulator to be permanently powered on (Enable always powered) and use RPMs as a way to decide if the alternator needs to be running or not.

If you use this capability, make sure to set the ENGINE-ID vai the $CCN command to match the engine ID the alternator is attached to.

  • Engine RPMs reported out via NMEA2000^TM^ like CAN message: Engine parameters rapid  - 127488L

Connecting the Alternator Regulator's CAN port to an existing NMEA2000 network will allow for the transmission of engine RPMs via NMEA2000 like messages (note, the Alternator Regulator is not a certified NMEA2000 device, though some of its capabilities are equivalent).  RPMs will be reported independent of the source: Stator derived measurement, or the above mentioned J1939 Engine Speed CAN message.

  • Engine Instance ID

Partly in support of the above, a new capability to define the Engine ID has been added to the $CCN ASCII command.


  • Alternator temperature regulation logic has been enhanced.  The PID engine has been made more responsive to detecting an approaching over-temperature situation, and additional protection has been placed in the case of massive over temperature conditions overwhelming the capabilities of the PID engine.

With the advent of low-impedance batteries, most specifically LiFeP04 technologies, one needs to be very careful not to over-stress the alternator.  Careful temperature senor placement (on the rectifiers is recommended) is strongly suggested.  It is also suggested to enable Small-Alt mode on any alternator weighing less than 25 lbs.  Small mass alternators are especially susceptible to overheating and potential damage.  Once confidence has been established in the total install, one can look to increase output while carefully monitoring.

 Code Restructuring
There has been several edits / optimizations to the code to reduce code size, including some of the supporting libraries.   Code changes have also occurred in preparation to allow for reuse in other projects, specifically the CAN and ASCII subsystems.

The Source Code has been moved to the Github repository, look here for the latest release:

Sunday, September 17, 2017

Failure Analysis

I received a Gen 3 regulator from the field which had been working well, and then stopped providing any drive the Alternators field.  Over the past couple of days I have been assessing what  failed.  This is my findings:

The FET driver chip (U7).  It is able to properly create the needed gate voltage levels, but it is unable to support any load placed on it.

The FETs used are a massive overkill for this application, on purpose:  I wanted to offer good efficiency (less wasted heat) and to be able to support large frame alternators without any concern of the ability to carry current.  And I used two of them.  (The connector is actually the limiting factor - 18A rating).  These large FETs do come with a rather large input capacitance which has to be driven by the FET driver chip.  Calculations show the driver chip is able to meet the FET requirements, and measurements confirm it, though there is indeed little margin.   Even so my suspension is the driver chip is bring pushed a too hard - causing the failure.

As a corrective action I will be increasing the gate series resistors from 10 ohms to 27 ohms.  This will reduce gate current significantly (about half) with little impact to the turn-on time and power (a gain of 25nS, and 20uW or so per FET).  Changes are:

R26, R29:  Was 10 ohm →   27 ohm

All regulators shipped after today will be assembled with these modifications.  If anyone wishes to refit their existing regulator the above parts may be sourced locally  (resistors are SM0603  --  1%), or I can send you the components, or you can mail the regulator back to me and I will refit and return it to them.   Please Email me if you are interested in me sending out the parts or reworking your existing regulator.

An alternative field modification may also be made to gain margin:  Remove R29. Be carefully not to damage the PCB if you wish to do the above mod at a later time.  Removing R29  will disable the redundant FET and reduce the driver load.  The remaining single FET is able to support 100's of amps peak, and is more than sufficient for any alternator application.

Thursday, July 13, 2017

Firmware v1.1.0 posted

Today firmware v1.1.0 has been posted to both the google drives under the resource tabs above, and the github repository at:
There is Users Guide has also been revised:

v1.1.0 of the firmware contains one very significant change, the units used to represent temperatures.  The have been changed from degrees Fahrenheit to degrees Celsius.   This change was made to better align with worldwide temperature units, and in preparation for a potential configuration application which would support devices beyond the Alternator Regulator.

A side effect of this update is any existing configuration changes made via ASCII commands will need to be reissued as when upgrading to version 1.1.0 of  the firmware all configurations will be set to the default state.

There are several other changes in this firmware, including:
  • Addition of a Tach-mode override to the $SCT: command
  • Bug fix with CAN Terminal mode (ASCII wrapper)
  • Better support of small alternators with large battery banks 
  • Potential solution to dual-alternator self-balancing capability.

For those interested in the details, the GitHub repository will show all changes.

Note that some of the supporting libraries have changed as well, please make sure to download new copies of:  RVCMessges.cpp and RVCMessages.h as well as the avr_can.cpp files.