Your problem is that the static is being conducted into the micro via the I/O lines from the control panel. I have seen this on many applications...
The classic is the standard 2-Line LCD displays. They have a metal bezel around them. If this bezel is not deliberately grounded when someone touches it or a spark jumps thru an overlay to it they always crash the CPU running them by conducting the pulse thru the data lines to the CPU's I/O.
This problem has nothing to do with your power supply or any caps associated with it.
You need to deal with that conducted charge.
The best method is to have the controls be either insulated or directly grounded. Barring this possibility you need to limit the voltage spikes from getting to the CPU. This is likely not possible via add on stuff but should be part of the I/O board/hardware.
You you put a healthy ground plane everywhere you can on the board.
Use a semiconductor transient voltage suppression(TVS) protection device like a SIDACtor or Thyristor, Transorb, MOVs, zeners or voltage suppressors from the circuits leading from the offending control appendages to your ground plane. (my favorite = bidirectional Transorb)
Look in a Digikey Catalog.
As previously mentioned (by felixc) you run resistors of
some value between these controls and the CPU on all lines except the grounds.
It is best if you can also put
some resistance between the aforementioned appendages and the suppression devices as that gives the suppression devices a huge boost in protection ability.
You may be able to retro some of these solutions to your existing boards but it won't be pretty.
Keith Cress
Flamin Systems, Inc.-