A “pin” is an input or output on the Smoothieboard.

In a lot of cases ( step/direction for external stepper motors, button inputs ), you can use any pin for any use.

If other cases, a given pin is tied to a given peripheral on the board.

See Pinout to learn about which pins are where.

You can have a pin's output inverted by adding a “!” after this pin's number in the config line, example :

my_pin_name                      19!

There are other modifiers for pins :

All options

! invert pin
o set pin to open drain
^ set pin to pull up (Default on most pins)
v set pin to pull down
- to set no pullup
@ to set repeater mode