Hallo Ihr alle,
ich bin in den letzten Wochen kaum zum Mitlesen gekommen, daher schalte ich mich erst jetzt ein.

Die INTs der I2C Bausteine finde ich wirklich wichtig!
Aber ich würde sie weder einzeln auf den Controller schalten, noch parallel auf einen Pin, sondern einen weiteren PCF8574(A) oder einen PCA9555 als INT-Sammler verwenden und dessen INT mit einem Pin des Controllers verbinden. Wenn sich jetzt irgendwo in der Peripherie etwas ändert, setzt der betroffene Port-Expander seinen INT, was dann eine Portänderung am INT-Sammler bewirkt, wodurch dessen INT gesetzt wird. Jetzt kann beim Controller eine Interrupt-Routine auslösen, welche zuerst den INT-Sammler befragt, um dann gezielt den entsprechenden Port-Expander aufzurufen. Mit zwei gezielten Abfragen kann also jede Änderung erfasst werden. Solange es in der Peripherie ruhig ist, hat der Controller seine volle Rechenleistung für andere Aufgaben zur Verfügung und muss nicht ständig sämtliche Port-Expander pollen.

Ansonsten würde ich vorschlagen bei Eurem Projekt separate 5V und Masse Leitungen für analoge Komponenten (Operationsverstärker, analoge Sensoren und AD-Wandler) vorzusehen, welche nur an einer Stelle direkt hinter dem Spannungsregler über Drosselspulen mit den 5V und Masse Leitungen für digitale Komponenten und Aktoren verbunden sind. Hinter den Drosselspulen noch einen fetten Elko platzieren und die analogen Versorgungsleitungen möglichst Sternförmig führen. Durch diese Maßnahme hat man weniger Rauschen bei der Verarbeitung von analogen Signalen und somit eine höhere Genauigkeit der Messergebnisse. Bei den Steckverbindern für entsprechende Komponenten sind dann natürlich auch analoge Versorgungsleitungen zu berücksichtigen.