Protecting inputs and outputs from over voltage etc

I'm thinking of eventually using a few of my arduinos to interface with other equipment (vintage synths, drum machines, modular synths etc) and it struck me that it might be a good idea to protect the inputs and outputs from wrong voltage, wrong polarity etc if I inadvertently plugged something in that I shouldn't have.

So, I'm thinking probably the ideal way would be to use buffers perhaps using transistors/cmos/opamp type on the outputs, and possibly zener diodes on the inputs, but I'm wondering if any of you guys have done similar, and if you have any recommendations or tips for the easiest to implement and effective "in most cases" solutions (i.e I won't be doing anything REALLY dumb) , I'm aware that there are little logic level converter boards out there, and if I'm honest I'd rather not get into making PCBs for this type of thing, so are there any shields or other ready made solutions out there? Mostly the kinds of voltages I'm talking about are often within the 0-5v range, but some of the gear has -10v to +10v, or upto +14v for some outputs, I'm pretty careful but occasionally I might do something silly and I wouldn't want to damage my arduinos or other gear. I have also seen these poly fuses mentioned, anyone got any experience with those?

Oh yeah, I have just found the ABC document, bloody awesome BTW.

http://ruggedcircuits.com/html/ruggeduino.html
http://ruggedcircuits.com/html/mb324p.html

Those look pretty tough, though I already have 4 arduinos so I was looking into adding to those rather than replacing them, however that first board is on my want list, looks almost military spec!

The handy schematic for protection using 220r resistor and 5.1v zener on that page is I guess what you were pointing me at?

Thanks

For doing it yourself Rugged Circuits has graciously provided a detailed description of various potential failures with fixes...

And Grumpy_Mike also has some things of interest...
http://www.thebox.myzen.co.uk/Tutorial/Protection.html

Awesome, and thanks again :wink: