Design Review- Schematic

Jan 26 2026 Update :

The below revision replaces Vishay SIC450 with Linear Technologies (now Analog Devices) LT8705. Schematic is 95% done, and PCB layout is in progress.

Changes/Upgrades include:

  • Delete backup battery and realtime clock. The RTC thought was that it could help store “time since last charge” when the system lost power, which is helpful for some charging profiles (ie top off batteries only 1x per 24hrs). I later realized this was a bad idea to begin, as most batteries have other charging sources, like Solar. So in order to know the true S.O.C, the ESP32 (or at least the INA228) needs to stay “always On” and continously track current flow in/out of the battery bank. So, in this version, the ESP32 will stay on in a power-saving mode, drawing only a few mA, and the Ignition switch will enable WiFi, which is the main power draw, raising the system draw to ~130mA.
  • Replaced Vishay SIC450 with LT8705. The main reason is because Vishay’s application engineering is pathetic, only replying to about 1 in 5 emails. There’s no way to call them. Their demo board software is buggy and undocumented. The LT8705 is more expensive, and requires more external components + board space, but it has the advantages of massive input voltage range (up to 80V), and it’s a buck-boost converter instead of just buck. This means it can take a nearly empty battery bank (say at 8V), and boost the field up to 13V, which is required for fast re-charging rates when they’re needed most. The high input range has allowed the removal of the Transient Protection Network (although, because of this change, we did lose reverse polarity protection- working on a simple solution for that now…). Most interestingly, this chip is good for up to ~20 amps or ~500 watts, and many can be paralleled. Long term, this is alternator regulator could be the basis for a universal programmable voltage level converter/solar charge controller/ alternator regulator/etc. In theory, it will be able to charge any battery at any voltage level from any DC power source, and also act like a Power Over Ethernet system for high powered devices like bow thrusters, windlass, etc, to allow smaller wires and longer wire runs without voltage drop.
  • Changed most connectors to ethernet, replacing all the tiny screw terminals. This will make wiring harness(es) cheap and easy- any ethernet cable will work. Repairs are easy, parts available anywhere, take advantage of economies of scale.
  • Upgraded CAN connector to proper M12, 5 pin instead of the screw terminal that would have required wire cutting for most installations.
  • Upgraded precision of voltage divider resistors and passives for RPM measurement accuracy (just because- wasn’t really needed, and not yet shown on schematic)
  • Added an isolated USB-C connector for programming. Programming the prototype was painful, with many fried TTL converters and ESP32’s caused by unknown factors possibly related to ground loops. This should fix that problem and at the same get rid of the mechanical durability issues of the mini USB connectors that come with the ESPDuino.
  • Simplified warning buzzer circuit and battery over-voltage protection (hardware based, to account for software or microcontroller failure).
  • Added some LED’s and Test Points to make debugging easier.
  • From this premium version, a Bare Bones Version will be created by deleting CAN, VeDirect/Serial, OLED display, warning buzzer, physical switches (will have Wifi Control only), and a chip or two may be replaced with lower cost/lower resolution/less voltage and current range versions that still work fine.

September 1 Update: 1st Hardware has arrived

STEP file of board, June 8:

May 21 Design:

Some notes on changes:

Eliminated INA3221 because it does not really have 6 independent channels and was not going to work for both high voltages (battery up to 60+V) and mV voltages (current shunt). Replaced with INA228 which is the newest and most accurate chip in the series of BMS types, and goes to 85V.

Changed the hardware safety (worst case if microcontroller fails) to be as follows- A voltage > threshold measured by INA228 will disable SiC450, to turn field off directly.

Added optical isolation to all direct microcontroller inputs (UART, CAN, and digital inputs)

Changes display from I2C to SPI (for speed). It turns out the writing of the screen is a significant time cost to the microcontroller relative to the rest of the program.

Keeping screw terminals for this first prototype, but the first production version is planned to use RJ45 (ethernet) style connectors for all the low current signals, for convenience.

Arranged pinout to be appropriate for “ESPDuino”, since ESP32 has a lot of random restrictions on pin use.

Obsolete March Info below here

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Heya this iis kinda of off topic bbut I was wanting to kjow if blgs use WYSIWYG editors or if…

  2. Exactly what I and some fellow sailors are looking for, and I am sure many others are too. Please let…

Design Summary

This “regulator” is a Hat which sits on top of an ESP32 with Arduino Uno form factor. Under the enclosure, it will look something like this example from google images:

Note that in some of these images, I refer to “Standard Arduino” and “Arduino”. In all cases, they should be updated to say “ESP32”, as the standard Uno is not powerful enough for this task, especially when CAN communication is involved.

Power Flow

The regulator accepts up to 60V on the input. A passive protection network is followed by the LM5088, which outputs 12.XV (as long as VIn>12.XV), used for certain accessories and input to the SiC450 buck converter, which is the important one that regulates the alternator field. The TPS562202 further reduces voltage to 5.0 (or 3.3V) for the microcontroller and all lower voltage accessories.

Inputs and Outputs

The regulator makes use of two i2c Analog voltage input IC’s, the ADS1115 and the INA3221. The former plans to measure the 0-5V hall effect current sensor signal, and leave 3 extra channels. Extras could be used for thermistors, or anything else. The latter plans to measure battery voltage, a shunt resistor or two (if desired), and 1-2 extra channels.

Digital inputs are used to sense any control switch positions (example: on/off, safe mode, limp home mode, Hi/Low charge, force float), and digital temperature sensor outputs.

ISO1050 provides a CAN transceiver.

A 128×64 OLED screen mounted on the enclosure displays sensor readings, field output, and error messages. This screen is small, but the info available isn’t very interesting except during setup / debugging.

A 12V alarm sounds on any error condition.

A LM2907 provides the tachometer function. It will typically be connected to a stator terminal, but can measure the frequency of any AC or DC signal which has a peak to peak voltage > 25mV and a frequency less than 5.5khz. This is suitable for all alternators and engine speeds that I know of. If anyone prefers to use other tachometer methods, please let me know.

PCF8563 is a real time clock, so that the date and time can be referenced in any battery charging control algorithms.

Layout

All microcontroller pins are passed through, so any extra I/O not used by the Hat are available for customization.

All wiring connections are via screw terminal blocks (ignore size in below image, it’s only an example). The wiring harness is supplied by the customer.

Enclosure

I’m tired of plastic electronics enclosures, so am planning to offer a laser cut box of some kind, like the example below.

The top will slide away allowing access to the screw terminals. The user will need to glue the box together and paint/varnish to their liking. Perhaps someone else will design a 3D printed plastic or injection molded enclosure.

I’m not planning to conformally coat or pot the board, it seems too difficult/expensive for what I perceive to be not enough benefit. It’s not going to be waterproof, but will tolerate most “splash” sources, I think, if the design is labyrinth-like.

In my experience, the USB connector tends to be the first failure point, rather than corrosion of the board itself. I need advice on the subject of enclosure/waterproofing/durability while keeping it DIY, flexible, cheap, and ideally low on plastic.

Sensors

The regulator will be supplied with a 200 amp hall effect current sensor, and a digital temperature sensor or two. The temperature sensor will be glued (by the user) into a supplied copper electrical ring terminal, just like ring lug thermistors are made. A few different hole sizes will be included.

Basic Wiring Reference– (CAN, UART, digitial IO, etc. not shown)