Anleitung: BLHeli ESCs mit Arduino flashen (1-Wire-Interface)

Publiziert von Nils Waldmann

am

War es vor knapp einem Jahr noch der De-Facto-Standard seine ESCs mithilfe eines Programmers flashen zu müssen, ist die Konfiguration vieler Regler heute geradezu einfach. BLHeli Suite heißt das Stichwort.

In dieser kurzen Anleitung wird beschrieben, wie man einen Arduino Uno ganz einfach als 1-Wire-Interace verwendet, um ESCs zu upgraden oder einzustellen.

Die BLHeliSuite ist ein Entwicklungsprojekt, welches all die Möglichkeiten, die die BLHeli ESC Firmware mit sich bringt, mit einem einfachen Nutzer-Interface verschmilzt. Musste man vormals spezielle Tools für Regler mit Atmel oder SiLabs CPUs verwenden, lässt sich die gesamte Arbeit nun mit nur einem einzigen Tool erledigen.

Die aktuellste BLHeliSuite Version kann direkt von der Projekthomepage heruntergeladen werden.

Warnung: Wie immer gilt: PROPELLER DEMONTIEREN bevor ihr auch nur irgendetwas an eurem Copter macht!

Ausgangssituation

Die Ausgangssituation, in der sich die meisten Piloten / Bastler befinden dürfte allgemein recht ähnlich sein: Man hat seine Regler vor sich liegen, weiß Bescheid, um welche Marke und welches Modell es sich handelt, besitzt aber keinen speziellen Programmieradapter*, um die BLHeli Suite zu verwenden.

Abhilfe schafft ein einfacher Arduino – in welcher Form und Farbe auch immer. Uns soll der wohl am weitesten verbreitete Arduino Uno* als Beispiel dienen. In Sachen BLHeliSuite basiert diese Anleitung auf Version 14.4.0.1.

Als Test-ESC kommen die beliebten DYS BL20A* zum Einsatz. Den gleichen Regler gibt es auch unter dem Namen SN20A – hier nur mit SimonK Firmware ausgeliefert, ansonsten identisch.

Arduino Uno Board kaufen!*

Vorbereitung

Bevor es los geht sind nur wenige Schritte zu erledigen:

  • BLHeliSuite installieren und ausführen
  • Sicherstellen, dass der Arduino (Uno)* richtig im Gerätemanager erkannt wird und es keine Treiberprobleme gibt.
  • Falls ihr ESCs ohne angeschlossene Motoren flashen wollt, unbedingt die Motorzuleitungen isolieren. Ein Kurzschluss zerstört den Regler mitunter umgehend.
  • Eine Spannungsversorgung für den Regler bereitstellen (LiPo oder Netzteil)

Arduino als BLHeli Flash Interface

Damit der Arduino* weiß, dass er gleich ESCs* mit neuer Software bespielen soll, muss zunächst der richtige Sketch (Arduino-Programmcode) auf den Mikroprozessor überspielt werden. Dazu wechselt man am oberen Rand der BLHeliSuite auf den zweiten Reiter „Make interfaces“.

1) In der rechten Spalte wählen wir nun ganz oben „Uno w/ARmega328“ aus. (Anmerkung: Verwendet ihr einen anderen Arduino – nano, ProMini, etc. – hier entsprechend den richtigen Controller wählen.)

2) Die Baud-Rate wird automatisch von der BLHeliSuite entsprechend des gewählten Arduino festgelegt.

3) Im unteren Bereich muss nun noch der korrekte COM-Port ausgewählt werden. Die Nummer des Ports variiert mitunter für jeden Rechner. Der Arduino* sollte sich aber normalerweise mit seinem Namen hinter der Portnummer identifizieren und erleichtert so die Auswahl, sollten mehrere COM-Schnittstelle bereitstehen.

BLHeliSuite - Make Interface on Arduino UNO

4) Im finalen Schritt wählen wir nun „ArduinoUSBLinker (SK Bootloader)“ aus. Die nachfolgende Abfrage wird mit Ja bestätigt. Danach beginnt das Flashen. Ein Fenster bestätigt den erfolgreichen Vorgang.

Arduino Uno Board kaufen!*

Anmerkung: Der Arduino* wird mit einem neuen Sketch beschrieben. Die Software, die er mitunter bis dahin ausgeführt hat, wird überschrieben.

5) Nun nur noch der BLHeliSuite mitgeteilt werden, welche Art von Interface zum Einsatz kommen soll, um mit den ESCs zu kommunizieren. Dazu im Menü unter „Select ATMEL / SILABS Interface“ im blauen Bereich die Option 4 „ATMEL SK Bootloader (ArduinoUSBLinker)“ auswählen.Das Interface ist nun einsatzbereit.

BLHeliSuite - Interface Auswahl

BLHeli auf Regler flashen

Im letzten Schritt folgt das eigentliche Flashen der Regler mit BLHeli. Dazu wechseln wir wieder in den Hauptreiter „Atmel ESC Setup“. Am unteren Rand zuerst den COM-Port kontrollieren! Die Baud-Rate bei 19200 belassen.

BL Heli ATMEL ESC Konfiguration

BLHeli ESC mit Arduino verbinden

Bevor es tatsächlich losgehen kann, fehlt natürlich noch die Verbindung zwischen ESC* und Arduino. Beim Arduino UNO* erfolgt diese über nur zwei Kabel – Signal und Masse (GND). Verbunden wird der ESC über den Servostecker – also dort, wo sonst die Flightcontrol dranhängt.

Arduino 1-Wire Interface BLHeli

Das Signalkabel* vom ESC wird dabei mit dem E/A-Pin D2 am Arduino verbunden. GND am Regler wird an eine der GND-Schnittstellen des Arduinos* verbunden. Jetzt noch den Regler mit Spannung versorgen – fertig!

AnschlussArduino UNOESC
VCC-Lipo / Netzteil VCC - Pluspol
GND-Lipo / Netzteil GND - Minuspol
GND – ServosteckerGNDGND am Servostecker
SignalD2Singal am Servostecker

In der Software genügt nun ein Klick auf „Connect“ am unteren Rand. Sobald die Verbindung steht wird der Button „Read Setup“ geklickt und die aktuellen Daten – samt aktueller FW-Version – werden oben in der Mitte angezeigt.

BLHeliSuite - Firmware auswählen

Hier lassen sich nun alle Einstellungen nach Belieben verändern. Man sollte aber wissen was man tut, aber das gilt in diesem Hobby wohl allgemein. ;)

BLHeliSuite - Flashen bestätigen

BLHeli ESCs auf Amazon bestellen!*

Sollen die ESCs* auf die neuste FW-Version von BLHeli aktualisiert werden, reicht ein Klick auf „Flash BLHeli“ am unteren Rand und ein Fenster zur Auswahl der Firmware öffnet sich. Da bereits BLHeli auf dem Regler* läuft, sollte die Suite direkt die richtige Auswahl treffen. Noch einmal prüfen, ob „MULTI“ ausgewählt ist und los geht’s. Im darauffolgenden Dialog noch einmal bestätigen und kurz abwarten. Schon ist die neuste Version von BLHeli drauf.

BLHeliSuite - Flash Vorgang

Die Suite fragt jetzt noch, ob die alten Einstellungen (aus der vorherigen FW-Version) übernommen werden soll. Hier sollte man vorsichtig sein, je nachdem, was sich innerhalb der Versionen verändert hat. Ich konfiguriere jeden ESC* immer von Grund an neu und lehne diese Option daher ab.

BLHeliSuite - Load old values to new firmware

Das war’s. Noch 3 / 5 / 7 ESCs vor euch. Je nachdem, wie viele Latten euer Fluggerät hat. :)

BLHeli ESCs auf Amazon bestellen!*

Kompatiblen Non-BLHeli-Regler flashen

Sollte es sich um einen ESC handeln, der noch kein BLHeli installiert hat (z.B. SimonK ESC*), fragt die BLHeliSuite direkt nach, ob BLHeli auf den Regler gespielt werden soll. Bestätigt man, so öffnet sich ein Fenster mit allen unterstützen ESCs. Für unseren Fall können wir in der mittleren Spalte den Filter auf „MULTI“ setzten. Die erste Spalte erlaubt die direkte Auswahl des ESC Modells*. Ist der Regler hier nicht gelistet, ist er höchstwahrscheinlich nicht mit BLHeli kompatibel.

Zu empfehlen ist auch die Liste kompatibler ATMEL ESCs, um zu prüfen, ob die eigenen Regler mit BLHeli „flashbar“ sind. Wer seine KISS ESC* updaten möchte, für den haben wir eine extra Anleitung zusammengestellt.

Bleibt in Kontakt!

Wenn ihr über die neuesten Drohnen-News, Drohnen-Leaks, Drohnen-Gerüchte, Drohnen-Guides und Drohnen-Testberichte auf dem Laufenden bleiben möchtet, dann folgt uns gerne auf unseren Social-Media-Kanälen!

Außerdem freuen wir uns natürlich über eure Nachrichten oder Fragen in den Kommentaren!


Hinweis: Mit Sternchen (*) markierte Links sind Affiliate-Links / Partnerlinks. Mit einem Kauf über diesen Link erhalten wir als Seitenbetreiber eine Verkaufsprovision. So kannst du Drone-Zone.de ganz einfach unterstützen. Bitte beachtet, dass es sich bei Drone-Zone um eine reine Website zur Information und keinen Online-Shop handelt. Ihr könnt über unsere Seite keine Kaufverträge über die dargestellten Artikel abschließen und auch keine persönliche Beratung hierzu in Anspruch nehmen. Mehr Informationen dazu findest du hier.

Avatar-Foto

Nils Waldmann

Hi, ich bin Nils! Ich bin leidenschaftlicher Modellbauer, Hobby-Fotograf, Akku-Liebhaber und RC-Pilot. Ich berichte hier über die neusten Entwicklungen in der Drohnen-Branche und kümmere mich um detaillierte Anleitungen, Guides und Testberichte.

Schon gesehen?

USA: LAANC für Freizeitpiloten verfügbar. DJI empfiehlt Kittyhawk App.

Wie angekündigt, hat die FAA das LAANC System gestern am 23. Juli 2019 auch für Freizeitpiloten freigegeben. Ab sofort steht so wieder eine Möglichkeit für Drohnenpiloten bereit, auch im kontrollierten ... jetzt lesen!

Liftoff auf Mac mit PS3 Controller zocken

Anleitung: Liftoff FPV-Simulator mit PlayStation 3 Controller am Mac

Der Drone Racing Simulator Liftoff erfreut sich nach wie vor großer Beliebtheit. Wie du den FPV-Simulator ganz einfach mit einem PlayStation 3 Controller steuern kannst, erfährst du in der folgenden ... jetzt lesen!

Missionsplanung in der SkyGrid Flight Control

SkyGrid bringt neuen Drohnen-App für iOS auf den Markt

Für Drohnenpiloten gibt es ab sofort eine interessante Alternative zur Planung von automatischen Flugmissionen. Der US-Anbieter SkyGrid hat seine gleichnamige SkyGrid Flight Control nun auch für iOS-Geräte verfügbar gemach und ... jetzt lesen!

MultiWii Bluetooth Adapter

MultiWii Bluetooth Modul/Adapter konfigurieren

Normalerweise wird ein MultiWii Multicopter ganz konventionell per Kabel mit Informationenn versorgt – das es auch anders geht zeigen MultiWii Bluetooth Modul, die für wenige Dollar zu kaufen sind. Ich ... jetzt lesen!

8 Gedanken zu „Anleitung: BLHeli ESCs mit Arduino flashen (1-Wire-Interface)“

  1. Avatar-Foto

    Hallihallo
    Ich habe ein kleines Problem mit dieser Anleitung.
    Und zwar, ich habe alles so gemacht wie beschrieben bis zum Schritt wo man dann den Arduino mit dem ESC „Connected“, wenn ich es versuche heisst es jedes mal „Stk500v2 connection to ESC at COM3 failed! (Error: „CMD_SIGN_ON: read => Timeout(no answer)“) Please check usb/serial Port- und power- connections to thee ESC!

    Ich habe auch diese Verbindungen getestet und diese sollten Funktionieren. Ich weiss nicht mehr weiter. hat jemand eine Idee an was es liegen Könnte?

    Danke im voraus
    LG Fabrice

    Antworten
  2. Avatar-Foto

    Hallo,

    ich habe einen DJI F450 mit einer Naza V1 auf v2 geflasht im Betrieb und endlich die lauten DJI Regler ersetzt (DJI 450 – Serie – sehr lautes Reglerpiepen).

    Aus Geiz habe ich mich für FuriBee BlHeli S 30A entschieden und direkt bei Gearbest bestellt. Das sind meine ersten „modernen“ Regler (hatte noch nichts mit SimonK oder BlHeli) und da ich auch keine passende Schnittstelle habe, habe ich mir einen Arduino Uno besorgt (auch mein erster) und entsprechend
    drone-zone.de/anleitung-blheli…flashen-1-wire-interface/

    angeschlossen und programmiert.

    Leider bekomme ich keinerlei Verbindung mit den Reglern zustande. Weder als ATMEL noch als Silabs.

    Dann habe ich sie an die Naza gehängt und wollte einen Motortest über die Software machen – Fehlanzeige. Nichts dreht.

    Nur wenn ich den Kopter ohne Propeller „starte“ drehen die Motoren – grundsätzlich funktieren die Regler also.

    Was kann ich tun, damit der Motortest auch funktioniert (nicht so wichtig) und ich die Regler über BlHeli richtig einstellen kann?
    Ich vermute, dass ich entweder in der Naza oder eher im Regler noch irgendwelche Min/Max Wege programmieren muss, was vielleicht die Ursache für den fehlgeschlagenen Motortest ist?

    Vielen Dank
    Gruß
    Bernd

    Antworten
    • Avatar-Foto

      Hallo Bernd, das Problem ist leider aus der Ferne schwierig zu diagnostizieren. :( Ich würde definitiv prüfen, ob du am Arduino den richtigen Port erwischt hast. Ich denke die Regler sollten auf jeden Fall einen SiLab-Chip haben. Probier mal, nachdem du den Arduino als Flasher eingerichtet hast, alle möglichen SiLab-Optionen bei den Programmieradaptern durch. Außerdem darauf achten, dass du unten in der BlHeli Suite den richtigen COM-Port erwischt hast.

      Zu dem Problem mit der Naza: Ja, das werden aus Sicht der FC „falsche“ Endpunkte sein. Diese lassen sich über die BLHeli-Suite einstellen. Ich würde versuchen zu erste die Verbindung zwischen Arduino und ESC hinzubekommen, danach kannst du das Problem mit dem Motortest denke ich relativ einfach lösen.

      Viele Grüße
      Nils

      Antworten
  3. Avatar-Foto

    Hallo Nils,
    danke für die schnelle Antwort.
    Ich habe den Arduino genau nach Anleitung angeschlossen (http://up.picr.de/33297762vt.jpg). Richtigen Com-Port habe ich auch, und auch alle Varianten durchprobiert, wobei ja nur Silab und Atmel USB/Com Sinn machen.
    Werde nächste Woche mal einen Kollegen fragen, womit er programmiert bzw. ob er mir einen Regler zum Testen leihen kann.
    Danke
    Gruß
    Bernd

    Antworten
    • Avatar-Foto

      Gerne! Wäre nett, wenn du hier kurz berichtest, was der Fehler bzw. das Problem war. Das hilft dann wieder vielen anderen Piloten weiter :)

      Grüße
      Nils

      Antworten
  4. Avatar-Foto

    Zu diesem Fehler:
    „Stk500v2 connection to ESC at COM# failed! (Error: „CMD_SIGN_ON: read => Timeout(no answer)“) Please check usb/serial Port- und power- connections to thee ESC!

    Mit den Arduino UNO kam durchgehend diese Fehlermeldung, ich habe zwei Stück durchprobiert.
    Erfolgreich ging es mit einem Arduino NANO (Dabei Masse und D3). Dann klappte Alles.
    Wieso es zu dem Fehler kommt kann ich nicht erklären, das war meine Lösung zu dem Problem.

    Viele Grüße und viel Erfolg!
    Ion

    Antworten
    • Avatar-Foto

      Hallo Ion,

      danke für deine Einblicke. Vielleicht hilft das auch Bernd.

      Grüße
      Nils

      Antworten
  5. Avatar-Foto

    Echt super ! Hat mir sehr geholfen um einen BULL TEC Multicopter Brushless Regler 30A 2S – 6S Lipo OPTO BLHeli von Premium-Modellbau zu flashen und zu konfigurieren. Mit den vorhandenen Turnigy und frsky-Stöpsel hat es nicht geklappt. Den Arduino Uno hatte ich von einem anderen Projekt zufällig in Griffweite.

    Antworten

Schreibe einen Kommentar