Overvoltage protection for 74HC165 shift register pins?

If I am interfacing external signals to pins of the arduino I usually use shottky diodes connected to +5 and GND rails to protect from overvoltage. My input signals can range from +/-12V.

However in a current application I am reading external logic signals into a 74HC165. From reading the datasheet it seems like there is already built in overvoltage clamping. Is this correct or am I misunderstanding? Do I need any protection on the input pins? (maybe just a 1k current limiting resistor?)

A diode connected to +5V will not protect from continuous overvoltage. If your input signals has a low enough output resistance it can raise the +5V rail to dangerous (for the IC's, not for humans) voltages and possibly destroy everything on the Arduino.

1k current limiting resistors would be a good idea. I would also recommend a 5.1V zener on the input pin.

The "overvoltage clamping" built in to the 74HC165 is designed for transient overvoltages (like ESD) not someone hooking up 12V to a pin and leaving it there.

-- The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected

I was using two schottky diodes as per this guide:


It suggests that this method is more ideal due to not having to rely on the zener having a steep slope.

Details, details, it's all about the details :)

Read further down in your guide:

If you have an input that you know regularly goes outside the supply limits then make the series resistor higher. Something like 100R to 200R should be sufficient to keep the current down.

The author recognizes that the diode to +5V is only effective against CONTINUOUS overvoltage if there is not enough current behind it to actually raise the +5V rail. That's why I suggested you leave the 1k resistor in there.

Suppose you apply a 12V source with very low source impedance (like a bench power supply or battery). With no resistor in series and a diode to +5V, then the diode drops you 0.7V and all of a sudden your +5V rail looks like 11.3V!!!

With a 1k series resistor the +12V source supplies at most (12-5)/1000 = 7mA towards the 5V power supply, and the "normal" power source (USB or DC power jack) supplies 7mA less, and everyone is happy.

With a 5.1V zener you can use a lower value resistor (we use 220 ohms on our Ruggeduino) which gives you higher current handling when/if the pin is made an output. If you never make the pin an output, it makes sense to use a higher resistor value.

-- The Rugged Circuits Yellowjacket: 802.11 WiFi module with ATmega328P microcontroller, only 1.6" x 1.2", bootloader

If it's just Logic, you can use one of these: