Mit dem Quellcode kann ich dir leider nicht helfen.

Zum Layout: Ich habe mich jetzt nicht so sehr damit befasst und einen Hardwarefehler zu finden,
Aber am Layout an sich könnte man noch schrauben.
Da sind verdamt viele Verbindungen auf dem Top Layer, die über irgendwelche Bauteile drüber gehen.
Also Stiftleisten und ICs. Das ließe sich bestimmt noch besser machen.
Die Pads solltest du auch noch etwas vergrößern.
Und Vielleicht Masefläche.