Ill edit this more just wanted to write a few things down as a starter
Requirements for discussion
The first thing I notice is that you appear to be proposing/designing/manufacturing/supporting an industrial device.
Next, if you go with a 24-pin box you may be fairly limited to the number of I/Os and what types. You will need at 2 pins for power and ground. 2 pins for a CAN interface, which leaves you with 20 pins to assign. You may want 2 pins for power and 2 pins for ground if you want "high power" outputs. Danfoss gets around the types of available pins by selling several different controllers. Some are heavy on digital inputs, some on digital outputs, some on analog inputs. You have to decide up front what you want to connect, then select a controller that comes close to what you want. Later if you need one more input or one more out, then you are screwed.
Adding adequate input/output buffering can take up a lot of board space. So keep that in mind.
Danfoss has documentation online. Here is an overview: https://www.danfoss.com/en/products/dps/electronic-controls/controllers/plus1-controllers This PDF defines input and output specs. (oh, I can't fond it. I'll track it down.) There seems to be an inadequate chart telling which controller have how many inputs and outputs. I once saw a real nice chart show your input/output options, but I can't find it.
They also have I/O expansion boxes which don't have programmable controllers built it. Which are probably their controller that is preprogrammed to be I/O only. So you send it "set pin 3" or "read pin 5" commands.
I think was the PDF I referred to: https://www.danfoss-hydraulik.de/fileadmin/user_upload/PDFs/PLUS_1_Controller_Family_SD.pdf
But is always good to look at other products to get ideas.
Thanks. The control box connector comes in lots of different options. There is also a similar ones by other manufacturers. On thing I've found with industrial controllers like IFM, DSE is that programming in codesys provides a very easy way to get up and running with canbus messages. One issue with those controllers though is they are expensive in qty1. If we decide to make a common board then there could probably be some connector options and possibilities to not populate parts to get started at a low cost.
If anyone can post their IO wishlists then it would be appreciated. I need to review the lawn tractor spreadsheet that al was showing earlier to see what IO has commonly been used/required.
*Thread Reply:* In the meeting the other day it seemed like there were a lot of lawn tractor hardware differences to accomplish similar interfaces. So I figured I would roll a pcb/box that had enough IO to work with both my tractors and post the project/Gerber/etc. on github and maybe even provide blank pcb at cost via tinde or something. Just so if someone wanted a jump off point they would have one. This would hopefully allow community members a way to get started and focus more on the ROS application than the tractor interface. Well see where it goes. If the weekend goes well then I will try to show something at the next weekly meeting.