Ok, some new updates:
I spent parts of yesterday testing the CANbus interface which is brought out on the 8-pin Molex Micro-Fit connector along with power. I of course did the "obvious" thing and just plugged two DCBuddy's I was using for testing together ... and that didn't go well. The CAN transceiver decided to loudly blow a bit out of its top and then drag down the 3.3V rail, stopping the ESP32.
Why? Well, its multi-faceted, and sometimes topology eludes us. First lets look at the cable pinout - the cables from Molex are wired "straight through". So, for example, a hypothetical two pin cable (we were using 8, 4 per row).
1 -------- 1
2 -------- 2
Great, except, what happens when the pinout on the connector is the same on two units? Lets twist the cable down and make an example:
------- Cable 1 Port 1
| |--- Cable 2 Port 2
| |
| | --- Cable 2 Port 1
---------Cable 1 Port 2
Oops. And a dumb mistake. The type of mistake I'm bound to make
This is problem one - three of the pairs on the 8 pin were power/ground, and two were CANH/CANL. This meant I shoved 24V/GND across CANH/CANL on both ends.
Problem two is the fault tolerance of the CAN transceiver. They often are designed to survive this variety of mess up - worse things happen all the time in automotive. However, the part used only could survive to about +14V. And I powered right up at 24V. It did not survive. Worse it killed things downstream.
Problem three is even if the CAN transceiver would survive, its not going to work with this cable. This means you need different flavors of cables or each end of the unit needs a swapped polarity. This is a nightmare to deal with two sets of ports or cables or vice versa. Mistakes will be made and thats not cool. If a cable fits, people will plug it in. And a loud pop as your transceiver ejects a small part of its case is not a good response to that failure.
So, what do we do?
Step 1 is move to a symmetrical cable layout, which requires either going to 6 pin or 10 pin - the left/right handedness of the center pins is always the same, as is the top/bottom polarity. I opted for the 10 pin (more amps, more better). So now the pinout is Ground on the bottom, +V on the top row, and the center two pins are CANH/CANL. Now all the cables are polarity independent!
Step 2 is move to a hardier CAN transceiver. Easy swap, the pinouts are all the same.
So, what does this mean for the project?
I'm going to use the existing units I have for further testing and general abuse,
but order another set with the 10 pin connector (and other small revisions I already hand-applied to the stable of units). This also changes the case slightly (I have to move a screw boss and a wider cutout, nothing huge).
This also means a +1-2 week delay on the first units being available. My apologies, its for the best. This doesn't change the timeline for the Split or the 32V input (though I need to order a new adapter board).
Also, you may ask, why is there a CAN transceiver in the first place? For automation, especially with a battery backup. The DCBuddy needs "on-battery" information in order to switch different ports on and enact different policies. And more controller functionality could be built on top of it. And when you have no power, its also likely using the WiFi connection to orchestrate that is not going to work, so you need a reliable path.