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 :
There are other modifiers for pins :
|o||set pin to open drain|
|^||set pin to pull up|
|v||set pin to pull down|
|-||to set no pullup|
|@||to set repeater mode|