Electronic – arduino – Electrostatic causing interrupt trigger

arduinoelectrostaticinterrupts

I am using Atmega328P in sleep mode and for wakeup I am triggering interrupt with push buttons. Circuit working completely fine. PCB is surrounded by aluminum cylindrical body.

Problem is when someone touches the outer body it generates the interrupt (Maybe due to static electric charge), causing the LED to glow which is indication for interrupt call. Even slight metal contact sometimes generate the interrupt.

What is the most optimal solution for this ? And what is the temporary solution( without any changes in circuit) ?

I guess providing ground to the outer body will work(not sure), But I am using RF communication in circuit with PCB antenna. Surrounding antenna with ground is not a good idea I guess. Any other solution in that case ?

Well my schematic is very simple, I am attaching it. I have used internal pull up to avoid floating value. Logic behind this circuitry can be found Here.

schematic

simulate this circuit – Schematic created using CircuitLab

Best Answer

My guess (and it's wild since no schematics are provided) is that your pushbutton line input to the MCU is floating when the button is not pressed and is picking up ambient variations.

Adding a pulldown resistor (or pullup depending on where your button is connected to) solves the issue if it is the case.