Ja, das ist wirklich das richtige Vorgehen. Normalerweise ist auf einem Microcontroller nur der kompilierte Code gespeichert der sich ohne weiteres nicht mehr so einfach in den Quellcode zurück übersetzen lässt. Gerade bei kommerziellen Anwendungen ist der Quellcode oft ein Firmengeheimnis und es ist gar nicht erwünscht, dass dieser vom Anwender oder der Konkurrenz ausgelesen und dekompiliert werden kann. Daher wird der Code oft noch verschlüsselt und der Controller hat einen integrierten Schutz gegen das auslesen.
Im Falle von UIFlow läuft aber auf dem Controller ein Python Interpreter und der "Quellcode" ist ein Python Script. Das kannst du im Prinzip per serieller Konsole auslesen und sogar editieren aber es macht eigentlich keinen Sinn. Dein Vorgehen mit dem speichern vor dem Hochladen ist der korrekte Weg. Organisiere dir den Speiherplatz aber etwas sinnvoll so, dass du nicht bald den Überblick über die Versionen deiner Programme verlierst. Es macht ausserdem Sinn die Version von UIFlow mit der du ein Programm erstellt hast zu notieren.
L