@gera229, 7 limit switches might be a little overzealous, imho. I'd use at most 5:
-2 for X (home & far end)
-2 for Y (home & far end)
-1 for Z (high travel only)
A simpler way to do it is to use three switches:
-one for the X axis home (whichever corner of the bed you designate as zero)
-one for the Y axis home (whichever corner of the bed you designate as zero)
-one for the Z axis home (the highest travel the Z axis can go)
This will let you set up a homing routine, so that when you start up the machine it will find its home location. If you use EMC2 (and some other software packages), you can set software limits relative to your home positions. So if you have 12" of travel in X, for instance, the machine will only go that distance away from the home position.
To set the Z position, we do it manually. You can jog each axis independently, and set an offset home position in software which essentially 'zeroes out' each axis.
Also does this board have step and direction signal filtering and buffering?
afaik it does not, but with this setup you shouldn't need it. The HobbyCNC board uses a DB25 parallel port connection which allows the PC to provide essentially real-time signalling to the board/motors. I believe buffering would apply to boards using USB, since their serial connections can't do the same real-time signalling & thus need a buffer to correct signal timing.