Thanks. Isolation the inputs sounds logical. I'm looking at some available breakout boards now, and some feature the charge pump as some form of safety. How to the breakout boards implement this? Is this meant to be detected by the software?

Also, regarding the use of more limit and home switches than available inputs, what's the most common solution? I saw the documentation on LinuxCNC which suggests connecting the switches in series. This doesn't seem to make much sense especially if the machine starts in a completely unknown state.