So this is what I’ve come up with for the core controller.
There’s provisions for two versions on this board, one with an ATTiny861 which does high-speed (250kHz) PWM and can drive a buck, boost or buck-boost DC-DC converter. It features differential I²C interfaces for the input and output INA219 boards, and LVDS for controlling the MOSFET boards.
The other version is built around the ATTiny24A, and just features the ability to turn on and off MOSFETs. It can drive two statically, or PWM one (at a much lower speed), with the user supplying the driver logic. Due to the the fact that this device does not do high-speed switching, I’ve forgone the LVDS control over a simple current loop. The I²C is still differential though as that could be some distance away and is still somewhat high frequency.
The layout of the board is a small 5×5cm 4-layer PCB.
I had to go 4-layer as I needed to route signals both sides and didn’t want to interrupt the power planes. The two inner layers are VCC and GND. There’s de-coupling capacitors galore, although the two power planes will probably function as a decent capacitor in their own right. ICSP is via the interface header at the bottom.