To properly buffer and isolate the input and output pins on the Arduino boards, I am using these great I/O boards from Industrologic. I have been using these for years on my HS2 system, and in broadcast automation systems I have designed for work. They are made in the USA, are very rugged and probably much cheaper than you could build them yourself!
For input isolation, this 8 channel opto-isolated board works extremely well; http://industrologic.com/uob8desc.htm
For outputs, this 8 channel relay board does a fine job, and even has status LEDS for each output;
http://industrologic.com/rio8desc.htm
For input isolation, this 8 channel opto-isolated board works extremely well; http://industrologic.com/uob8desc.htm
For outputs, this 8 channel relay board does a fine job, and even has status LEDS for each output;
http://industrologic.com/rio8desc.htm