Ganz so meine ich es nicht
Was ich meine ist folgendes:

Wieso soll ich für jeden Ausgang hardwareseitig einen Pullup-Widerstand einsetzen wenn ich ihn auch einfach softwaremäßig aktivieren kann?

Baue ich ihn hardwareseitig ein braucht er erst mal Platz und Aufwand, er muss eingelötet werden und ist danach fest. Das heist wenn ich etwas am Konzept des Roboters ändern will kann ich das nicht nur allein dadurch dass ich ein anderes Programm aufspiele sondern komme nicht darum herum den Lötkolben zu zücken und an der Platine zu basteln. Und dadurch wird die Platine sicher auch nicht schöner wenn man das ein paar mal zu "Schaltungstestzwecken" (die ohne den hardwareseitigen Pullup nur Minuten bräuchten) macht.

Ich verzichte also dadurch dass ich keine Pullups einbaue nicht auf die Sicherheit meines Systems. Keineswegs, denn die Pullups sind ja schon in meinem AVR drin, wieso dann ein 2. mal?