I think regular TTL over CAT5 twisted pair would probably be a good MVP but now I am growing attached to this idea of debugging the separate parts with a legit COM port.
Here’s the I/O expansion port:
And it got crowded trying to avoid the hole for the standoff, so I put the SMD components on the bottom. I would think that wouldn’t change manufacturability/cost as long as SMD parts aren’t on both sides:
And then the pendant side looks like this:
Instead of a five-pin header for the joystick, I have three single row headers for +V, analog in, and GND for five analog inputs (H3, H4, H5). Three for joystick and two more for knobs. If one of the axes has the wrong polarity you can flip the plug, provided analog is in the middle.
Then the rotary switch to change modes from handwheel X, Y, Z, and Joystick is on H6, wired to digital inputs instead of using resistors to convert to analog.
Then I have a 3.3v supply to enable an OLED display on H2.
Encoder wheel goes on H7.
Then for other functions I have 8 buttons that are read in with a parallel-to-serial shift register.
The power is interesting. I realized that when the Pro Micro has USB connected, it puts out the USB voltage on the “raw” pin (connected to “+5”) and the “raw” power can also accept input power when no USB is connected. So a single jumper (H1) connects pin 4 (DTR) to use the power from the expansion port, and when using in isolation, you can remove the jumper from H1 and USB power will power everything.
If you forget to remove the jumper and have power from both the USB and DTR pin, then the supplies might fight each other and that could be bad. It’s a possible sharp edge but for regular use it won’t need to be changed, so I think it’s okay if it’s not completely safe.
The board looks like this with a socket for the Pro Micro
Could maybe be a bit smaller if need be, but this is already pretty compact at 60 x 40 mm. Looking at it now, I’m seeing there are no mounting holes. I’ll have to add that.
Thanks again @jono035 for your input so far. I feel like I’m learning a lot.