Pullup Rise Time On AVR External Interrupt
A late response here and it looks like you found a solution however if i could mention the issue of rise time with the Arduino interrupt pin problem. Yes there is a minimum rise time, we recently discovered this while making a beginners video for our electronics group. Its mentioned here (at around 25 minutes) https://www.youtube.com/watch?v=xMgHEHCSKPU&amp;t=1979s
Basically, we measured it to be around a minimum of 9uS/V while using a 16Mhz clock. If the rise time is slower than than, you get multiple triggers of the ISR and so errors occur. It even occurs under DC state conditions where the interrupt voltage is held somewhere in between hi and low, triggering continuously. Its a strange undocumented problem and i do not know if this applies to other MPUs out there but it certainly appears in the Atmel 328p. I hope this is useful for anyone else finding this issue. Its not necessarily a filtering issue with noise although of course in some cases that may be true, but here the issue is one of rise time.