Hi,
while the choice of pull-up or pull-down is determined by your hardware its not true that you can set it at will.
Most breakout boards have jumpers that cause a number of inputs to be pulled high (or low), so that the choice you make affects
multiple inputs. If you want one input pulled high but another pulled low, more often than not it can't be done.
I'd recommend that your choice, at least for the outputs, be determined by safety reasons. In particular what happens when when the machine
is powering up, or in the period of time when the machine is powered but Mach is not yet running? What you do not want to happen is the
spindle start up or the machine move.
I presume that you have a relay to turn the spindle ON/OFF?. Then you need to be assured that the relay is inactive, ie spindle off while the machine
and BoB are powering up. Likewise I would suggest that the stepper drives NOT be enabled UNTIL the machine is powered up AND Mach is running.
That is likely to require that the stepper drive Enable signal from the BoB is pulled low, so that at no time are the steppers energised and enabled
WITHOUT Mach being in control.
These safety considerations are likely to determine whether you have a pull-up or a pull-down resistor on your outputs. It may well be that for convienence
that you want a pull-up on a given output to make a pump work correctly say, but for spindle safety that is not possible, the output must have a pull-down.
Bad luck. Thus for your pump to work as intended you must supply a signal inversion.
Inputs are somewhat less critical.
I posted a picture of my own BoB. I elected to design and build it so that all the inputs (31 of them) are ALL pulled high. Another way of saying tis is that
they are 'sourcing' inputs. That means that the pull-up resistor on each input sources a small current. For the input to be active the switch or whatever
must pull the input low and sink that current. My BoB is all 24V, and it has a 4.7kOhm pull-up resistor on each input, thus the input sources 5mA to each
input circuit. Therefore ALL my input switches must be low. For example each Limit switch is Normally Closed and switched to 0V. Only if the switch opens,
ie the machine goes out of bounds, does the input go high, thereby indicating a Limit event.
I suppose it is easily possible to have some inputs pulled up (sourcing) while have other pulled low (sinking) but to date I've suffered no problems
with having sourcing inputs only.
Craig