Jedi BMS controller board
I finished the design for the controller board. It uses the Waveshare ESP32-S3-ETH module with the POE power over ethernet module. This module has an Ethernet port that will be available on the outside for connecting it to our network switch. The POE converts to 5V power and the module has an onboard 3.3V converter as well and these are used for this circuit.
There are two relays and an optocoupler that connect to a RJ11 jack for the cable to the remote battery switch, for which we designed a module that integrates with this before.
A third relay is for controlling the active balancer, which will also use a RJ11 jack to connect here, plus it's normal balance wiring to the lithium cells.
Yet another RJ11 is for connecting to the cell boards that we designed before. Here we have a driver for the SYNC pulses for timing the cell boards. We use the same basic MOSFET that we use for driving the coils of the relays.
The serial data that the cell boards send is fed directly into a GPIO pin that we configure as a UART input. We use an external pull up resistor and decoupling to get a reliable signal.
There's also an 8-pin UI connector for a small cable going to a helper circuit board that holds the 128x64 OLED display and four push-button switches for some local user interface and status display. This will always never be used as the SensESP library we use creates a mini webserver that runs on the MCU for the configuration and all other data will be sent to SignalK where it can be used in pretty dashboards etc.

The components used on this circuit board are all jellybean and cheaper than the shipping fees, with the exception of the three quality Omron relays which are $5 each. Next I need to work on the PCB design which is a bit more work than for the small cell boards :-) I did have to create a custom part for the Waveshare module as apparently I am the first one putting it on a circuit board.