Wenn es zuweilen funktioniert scheint es kein SW-Fehler zu sein.
Beim Tastendruck lädst du über die Taste den 330n Kondensator auf, da kann durch den kurzen Spannungseinbruch den Kontroller schon mal ein Reset machen. Das wird auch in diversen Threads kritisiert.
Ich habe bei meinem Board die Tasten geändert so das sie nach GND schalten und aktiviere bei bedarf die internen PullUp.