Read up on the standards used for transient testing.
They all generally start with a capacitor charged to a specified voltage, then discharge that into your circuit through a specified network, either a straight resistance, or an RLC shunt network to slow the risetime and control peak current.
HBM (human body model; casual static shock) uses 100pF and 1500 ohms. So a 2kV HBM test reaches a peak of 1.33A and discharges (99%) in about half a microsecond. Others such as CDM (charged device model), system discharge or lightning have different combinations of R, C and rise/fall time pulse shaping.
Even for lower voltage tests (like 2kV HBM or 500V CDM), the voltage supply is so far in excess of your circuit's capacity that it can be assumed to be a current source. A rather large, very fast one. Take this for example:
http://www.onsemi.com/pub_link/Collateral/TND410-D.PDFComparing HBM to IEC 61000-4-2 system level tests.
Even after the clamping device, as mentioned, expect a clamping voltage easily twice the rated breakdown voltage. This is worse for devices with high ESR (MOVs in particular, but worth mentioning schottky diodes too), and can be dramatically worse for slow devices during the turn-on transient. Two level clamping can be very useful.
Clearly, whatever it is you're doing needs to:
1. Filter the sharp bits if possible (this makes high bandwidth connections to the outside world, like USB or HDMI, difficult to construct and protect!)
2. Clamp the current with a fast device with unlimited* current capacity
3. Series resistors to distance the clamp node (which might have peaks up to, say, +/-50V) from your low level circuitry
4. Additional protection at the device if deemed necessary (e.g., schottky clamp diodes, analog or digital buffers, etc.).
*For example, diode forward bias, or reverse (avalanche) breakdown, but not like, a zener-strapped BJT or MOSFET (both of which have significant equivalent resistance or go into current limiting).
Only schottky diodes and breakdown are instantaneous; junction diodes, and latching devices like GDTs or SIDACs, take some time to respond, which lets through more of the leading edge of that spark. This is on the order of a few ns for junction diodes and GDTs, to 100s of ns for SIDACs I think.
For a low bandwidth (i.e., under 1MHz or so) analog or digital signal, I would consider "gilding the lily" as:
1. Nice hearty ferrite bead in series with the pin (also helps EMC)
1a. If this is an input, or an output that doesn't need to source much current, then a series resistor as well (say 22-10k)** (above 500 ohms or so, the ferrite bead can be dropped, as the resistor is doing more on its own)
2. Capacitor to GND (100p-0.1u)
3. Clamp device. Can absorb it directly (breakdown), or divert to supply/GND (the supply then needs a TVS to prevent the voltage from rising too high; local bypass capacitors will help too).
4. RCR filter to further reduce peak current and attenuate spikiness (say, 10-5k and 100p-0.1u)
5. Clamp diodes at the device
6. One more series resistor (10-5k)
7. TVS on relevant supply/ies
You can take or leave any of these except #3, and I would recommend at least #6 with it.
** Note that an SMT chip resistor probably won't save you from ESD strikes. Even if the material it's made of does not break down, the voltage will simply arc over it. (There are HV rated chip resistors that must be sealed in potting, if you have a situation where that's applicable.) If you have the space to spare, a longer resistor (1812 or 2512 chip, or axial THT) will help with this.
The general plan is:
- Clamp that massive current so we don't see it in the rest of the circuit,
- The resulting voltage now looks like a constant voltage source, so add current-limiting series resistance,
- and assist the device's internal clamp diodes (if present, and if desired)
Note that #5 can use the device's internal clamp diodes (if present), but be careful, and expect less robustness as a result. You should calculate the series resistor so it delivers less than fault current (compare to the device's HBM spec, for example) at the clamp's peak voltage. That way, you aren't spending excess capacity on the clamp and all, trying to protect something that's damned anyway (at a given level of transient).
There are lots of options for the clamp -- choose based on your circuit requirements and protection level.
- Junction diodes (clamp to supply): low capacitance, low leakage, higher voltage drop, slow response (~ns).
- Schottky diodes (clamp to supply): medium to low capacitance (generally unsuitable for 100Mbit+ signals), medium leakage (unsuitable for sensitive analog inputs)
- TVS (avalanche / zener diode): medium to low leakage, high capacitance (generally unsuitable for >1Mbit signals, though often usable on medium speed, low impedance buses, e.g. RS-485); good for protecting low voltage supplies, where the high peak current capacity helps
- MOV: medium leakage, very high capacitance, fairly high ESR: good for lightning protection on higher voltage power lines (over 50V or so), where the energy capacity is required. May need additional protection, due to the relatively high peak voltage.
- GDT (gas discharge tube): response depends on voltage rate-of-change; always breaks down at a high voltage, then clamps to a low voltage. Extremely low leakage and capacitance, high current handling. Good for high impedance wide range inputs (e.g. scope probes!) or lightning protection (e.g. telecom).
- SIDAC: Initially turns on like a zener, but keeps turning on (like a GDT does, but at SCR speeds). Good for lightning protection on slow circuits, but probably needs additional protection following it due to the response time.
As for the present case, I would never, ever put naked logic pins on the outside world. That's just asking for trouble. At the very least, clamp diodes (e.g. BAT54S) and a series resistor (since we're talking CMOS GPIOs for the most part, maybe 22-100 ohms). The supply will need good bypass and a TVS, hopefully a low voltage one (however, they don't usually make them under 6V because the zener effect is too sloppy; I don't think there is a solution for very low voltages).
If you can define inputs and outputs, and signal types, you can improve things further. Logic outputs can be buffered (e.g., 74HC245s), and inputs can be filtered (say, 1k + 100p). The buffer chip might be a socketed DIP if you're really concerned about reliability and support, but you should probably have some protection on it anyway (your worst enemy will be the buffer turning into an all-way short under transient conditions, putting some moderate fraction of the transient on all pins -- reducing but not eliminating the hazard to your MCU).
As for what you're protecting against, examples of faults include not just casual static electricity, but residual voltage on cables -- and wires within the cable -- due to handling, atmospheric pickup, previous connections and so on. Isolated equipment can pick up a charge. CRT monitors aren't so common anymore these days, but I remember when you could gather quite a lovely charge off a TV and discharge that into whatever you please.
There are more esoteric approaches as well. Consider Ethernet: they avoid transients -- and ground loop hazards -- altogether by isolating the signal with a transformer. (Not perfectly of course; a differential mode transient will still be coupled by the transformer, but the transformer will saturate quickly and limit the amount of energy delivered, so it's still helpful even in the worst case.) This can only be done with AC signals, and requires careful design for high speeds (controlled impedances). Okay, so you can do RS-422/485 this way too, or anything else, but it requires an isolated transceiver and logic isolators; big hassle. (The hassle with Ethernet is all rolled into the PHY, which comes on a single chip, so you don't have to worry about it externally.)
Tim