I was interested in the EEZ Bench Box
https://www.crowdsupply.com/envox/eez-bb3 but it's a bit out of my price range. It's also not designed as a data acquisition system, it's just a modular power supply
It looks like ZGoode and I are quite far apart in what we want to build. Mayor goals for me are low cost and as universal as possible, while ZGoode is more geared towards easy to use modules with more specific uses in mind.
I don't like putting an EUR10 connector in the thing, It's probably a good connector, but data is low current and does not need 6A. I rather have a higher density connector, and then parallel connections only when needed. 40 pin headers are < EUR3 from digikey and pennies and cents from aliexpress. The cheap ones have bad plating, that may be acceptable for low insertion counts or prototypes or just hobby experiments. for more "professional" applications, better quality is probably worth it.
I wonder about the problems you had with CAN. Shitty wiring or a missing termination resistor can wreck such a bus. Faulty setup for CAN controllers in a uC or a defective node can also create plenty of headaches.
I started with UART and RS485 drivers long (15+ years) ago, and it works pretty well, but you have no collision detection. As soon as there is more then a few meter of cable in between nodes, then each node read's it's own data without faults, even when sending at the same time.
My main turnoff for CAN is it's weird addressing scheme, and it's very short data payload. But apart from that there are a bunch of advantages of using CAN transceivers with a UART.
- No need for data direction control.
- Dominant and recessive states allow for collision detection.
- CAN transceivers with built in galvanic isolation are readily available.
Galvanic isolation can be done with some optocouplers, or digital isolators such as in the ADUM series. Or at least with CAN, integrated into the transceiver itself.
The "cheapest" galvanic isolation is with optocouplers on an Uart, combined with passive pullups on the bus side. Such a simple setup is probably pretty limited in bitrate. But if you want galvanic isolation, you also need to isolate the power and that is also going to cost a bit.
Ethernet is indeed also an option, and for things like that, I concluded to make it as an "open frame". Wiring for Ethernet, USB or a separate isolated power supply can then be routed to specific nodes. I like it to keep options open like that.