Cleanflight oder Betaflight mit Arduino auf CC3D flashen

Auf einem CC3D FC ist normalerweise der OpenPilot-Bootloader installiert, da das Board für OpenPilot entwickelt wurde. Aufgrund meiner Historie gehe ich nicht weiter auf OpenPilot ein.

Sofern der OpenPilot-Bootloader installiert ist, kann Cleanflight/Betaflight mittels GCS mit einem dediziert für das CC3D-Board erstelltem BIN-File geflasht werden. Es gibt aber Gründe, weswegen ich das HEX-File stattdessen empfehle.

Warum sollte man anstatt das BIN-File das HEX-File nehmen?

1. Mit dem OpenPilot-Bootloader bestehen einige (zeitraubende) Probleme, wenn ein Reboot (u.a. bei einigen Grundeinstellungen sowie beim Beenden der CLI) erforderlich ist. Bei einem Reboot muss eine exakte Reihenfolge eingehalten werden, bis sich das Board wieder mit dem Cleanflight Configurator verbinden lässt:

  1. Trennen der Stromverbindung (LiPo / Netzteil)
  2. Trennen der USB-Verbindung
  3. Anbinden der Stromverbindung
  4. Anbinden der USB-Verbindung

Der PowerCycle mit externer Stromquelle ist erforderlich, da ansonsten der Cleanflight-Configurator das Board nicht findet. Wenn man also nur die USB-Verbindung wiederherstellt, ist das Board nicht erreichbar.

2. Das Flashen von Cleanflight mit OpenPilot-Bootloader wurde seit v1.11.0 eingestellt und nicht weiter supportet. Betaflight bietet weiterhin BIN-Files an.

Dadurch möchte ich hier eine kurze Anleitung schreiben, wie ihr direkt das HEX-File verwenden könnt.


Hierfür benötigt ihr neben dem CC3D-Board:

Schaltbild CC3D und ArduinoInfo: Strom bekommt das CC3D-Board über den USB-Port des Arduino.

1. Um die Firmware zu flashen, muss das Board zuerst in den Bootloader-Mode versetzt werden. Hierfür wird SBL mit 3.3V während des Starts des CC3D verbunden. Um auf der sicheren Seite zu sein, empfehle ich, die beiden Ports kurz mittels Lötbrücke zu verbinden. (Ob das Board im Bootloader-Mode startet sieht man daran, dass nur die gelbe LED leuchtet und nicht die blaue. Manche berichten davon, dass deren LEDs auch im Bootloader-Mode leuchten, daher ist diese Aussage nur in Klammern)

2. Schliesst das mitgelieferte Kabel für den MainPort eurer CC3D wie abgebildet an das Arduino Nano-Board an (5V, GND, RX, TX).

3. Der Jumper wird auf RST und GND gesteckt. So agiert der Arduino Nano als reiner FTDI-Adapter.

4. Installiert nun den STM Flash Demonstrator und ladet euch die aktuellste Cleanflight/Betaflight Version herunter.
Startet dem STM Demonstrator und folgt jetzt jeden einzelnen Schritt hier eins-zu-eins:

CC3D_1CC3D_2CC3D_3CC3D_4CC3D_5 CC3D_6

Nachdem der Lösch-Vorgang durchgeführt wurde, klickt auf 'Back' und wählt nun das HEX-File von Cleanflight/Betaflight aus und bestätigt das Flashen mit 'Next'.

CC3D_7CC3D_8

Das wars, nun ist das Board geflasht. Zieht das Board wieder vom USB und entfernt die Lötbrücke vom Bootoader-Mode.
Nun schliesst das Board ohne externe Stromversorgung an euren USB-Port an und verbindet euch mit dem Cleanflight-Configurator.

Ab hier könnt ihr nun jede Änderung der Konfiguration, welche eine Reboot erfordert, durchführen und euch sofort wieder verbinden ohne das die externe Stromversorgung gekappt und neu verbunden werden muss.

3 thoughts on “Cleanflight oder Betaflight mit Arduino auf CC3D flashen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.