Warum ich von STM32 zu CircuitPython für mein Drohnen-Telemetrie-Projekt gewechselt habe
Build, Create & Learn — A Maker’s Journey Episode 4. Ich freue mich, in meiner neuen Podcast-Episode die neuesten Updates zu meinen Projekten zu teilen.
Hinweis: Der Podcast ist ausschließlich auf Englisch verfügbar.
Nach zwei Wochen mit kleinen Erfolgen, großen Frustrationen und viel Reflexion habe ich eine mutige Entscheidung für mein Drone-Telemetrie-Projekt getroffen. Wenn du bisher mitverfolgt hast, weißt du: Mein Ziel ist es, GPS-Daten und Umweltdaten während des Fluges zu loggen. Der GPS-Parser lief wunderbar — aber das SD-Karten-Shield? Das wurde zu einer nicht endenden Geschichte, aus dem ich nicht mehr herauskam.
Als die SD-Karte gewann
Mein STM32-Setup wollte einfach nicht mit dem Seeed Studio SD-Karten-Shield zusammen funktionieren. Ich habe alles versucht: von SPI1 auf SPI2 umstellen, Peripherie isolieren, den Code auf ein Minimum reduzieren. Nichts hat funktioniert. Je tiefer ich in Verdrahtungsprobleme, Takt-Mismatches und 3,3V- vs. 5V-Logiklevel einstieg, desto klarer wurde mir: Ich lernte nichts Neues mehr — ich drehte mich nur noch im Kreis.
Das war mein Wendepunkt.
Warum CircuitPython Sinn ergibt
Ich kenne Python. Ich habe Django-Apps, APIs und Daten-Pipelines damit gebaut. Ich kann es debuggen. Ich kann darüber nachdenken. Und als ich sah, wie ausgereift das CircuitPython-Ökosystem inzwischen ist — mit sofort einsatzbereiten Bibliotheken für GPS-Module, BME280-Sensoren und SD-Karten-Logging — machte es Klick.
Es ging nicht darum, den “einfachen Weg” zu gehen. Es ging darum, das richtige Werkzeug für meinen Maker-Workflow zu wählen.
Ich baue keine produktionsreife Firmware, bei der jedes Byte RAM zählt. Ich prototypisiere, experimentiere und versuche, Projekte tatsächlich fertigzustellen. CircuitPython ermöglicht mir Fortschritt, statt festzustecken.
Der Hardware-Pivot
Mit dem Wechsel der Sprache kam auch ein Hardware-Wechsel. Ich habe mir das Adafruit Feather RP2040 bestellt, ein kleines, Python-freundliches Board mit guter Dokumentation. Noch besser: Adafruit bietet eine „Adalogger“-Version mit eingebauter SD-Unterstützung (derzeit leider ausverkauft), die im Prinzip genau für meinen Anwendungsfall gedacht ist: Sensordaten sammeln und auf eine SD-Karte loggen.
Für Stabilität muss ich über Breadboards hinausgehen. Ich schwanke noch zwischen dem Löten auf eine Lochrasterplatine oder dem direkten Einstieg ins PCB-Design. So oder so, das Ziel bleibt dasselbe: eine flugfertige Telemetrie-Einheit, die echte Testflüge auf einer Drohne übersteht.
Lessons Learned
Rückblickend hat mich dieses Projekt an etwas Wichtiges erinnert:
Das richtige Werkzeug für dich zu wählen, ist keine Abkürzung — es ist der Unterschied zwischen einem abgeschlossenen Projekt und einem, das im Regal verstaubt.
Ja, ich hätte weiter mit STM32 und C kämpfen können, aber ich kenne mich selbst. Mein Regal voller „fast fertiger“ Projekte ist schon zu voll. Dieses Mal will ich einen funktionierenden Prototyp, auch wenn das bedeutet, den Tech-Stack zu wechseln.
Wie geht es weiter
Meine unmittelbaren Ziele:
- CircuitPython auf dem RP2040 einrichten
- GPS- und BME280-Sensor wieder anschließen
- SD-Logging erneut mit einem zuverlässigen Adafruit-Breakout ausprobieren
Wenn alles gut läuft, habe ich endlich eine stabile Basis, um mein Telemetrie-System unter echten Flugbedingungen zu testen.
🎧 Die ganze Geschichte — inklusive meines GPS-Parser-Setups, der Tests mit externer Antenne und meiner Gedanken hinter diesem Pivot — hörst du in Podcast Episode 4: When the SD Card Won… and Why I’m Switching to CircuitPython for My Drone Telemetry.
Hast du schon einmal einen harten Pivot in deinen Projekten machen müssen — Werkzeuge, Sprachen oder Hardware wechseln? Schreib es mir in die Kommentare, ich würde deine Geschichte gerne hören.
Lasst uns weiter bauen, erschaffen und lernen — gemeinsam.