Ik bestelde bij Banggood de standaard EMAX ESC’s met SimonK firmware maar de tjinees die mijn order heeft ingepakt heeft voor het gemak maar BLHeli’s in de package gestopt. Fadoz wees mij er op en gaf aan dat die geschikt zijn om de BLHeli firmware te draaien.
De BLheli firmware is opensource en wordt op GitHub bijgehouden. Zie bitdump voor de sources en handleidingen.
Dit artikel gaat puur in op het flashen van de BLHeli 12A ESC’s met BLHeli 13.1 firmware via een Arduino 2560 Mega. De standaard handleidingen die geleverd worden gaan uit van een Arduino nano en andere toolies maar die heb ik niet liggen.
Het programmeren van de ESC’s bestaat uit twee fase’s:
- Het laden van een nieuwe firmware;
- Het doen van instellingen via een software tool.
Wat heb ik nodig?
- Arduino Mega 2560 met USB aansluitkabel;
- 3 breadboard kabeltjes (rood, wit en zwart);
- PC met Arduino software geïnstalleerd;
- Firmware bestanden voor jouw ESC’s;
- Software om de configuratie aan te passen.
Fase I :: Programmeren van de nieuwe firmware
Stap 1:: is het klaarmaken van de ESC om geprogrammeerd te worden:
Op elke ESC zitten 4 punten waarmee ze vanuit de fabriek zijn voorzien van een firmware. Drie van deze pinnen gaan we gebruiken. Wat ik gedaan heb is die 3/4 pinnen standaard voorzien van een servo kabel zodat ik later de ESC’s kan bijwerken. Mijn ESC’s hebben een chip van SiLabs dus met alles wat ik doe moet ik rekening houden met stappen die nodig zijn voor SiLabs. De andere variant is Atmel.
De initiële flash wordt gedaan over de zogenaamde “C2” interface.
Deze heeft drie aansluitingen nodig. Deze zijn gemarkeerd als:
- Zwart voor aarde;
- Rood voor signaal;
- Wit voor signaal.
Let op! Dat je de rode ader niet gebruikt op de +5V kabel. Dan blaas je de ESC namelijk op.
Kijk in de handleiding van supported ESC’s voor het juiste aansluit schema. In de foto zie je mijn aansluitingen. Er zit hotglue op om het losraken van de kabels te voorkomen tijdens trillingen tijdens vliegen.
Stap 2 :: Arduino Mega voorbereiden op flashen: Voordat we de ESC aansluiten gaan we de Arduino laden met de juiste code. Dat doen we door de BLHeliSuite software te downloaden. Download de laatste versie hier. Ik heb de software draaien op een Windows 8 virtuele machine onder VMWare Fusion (Mac OSX versie). Zorg ervoor dat je de USB poort van de MAC doorzet naar de Virtuele machine door het vinkje aan te zetten in de USB opties. | ![]() |
Start dan BLHeliSuite.exe en selecteerd het tweede tabblad ‘make interface’. | ![]() |
Klik linksonderin op COM ports en selecteer daar de juiste COM poort waar de Arduino aan zit. In mijn geval is dat COM3. (Mocht je geen extra poort zien, controleer dan in device manager of je een unknow device ziet. In dat geval, installeer de Arduino software) | ![]() ![]() |
Selecteer aan de rechterkant de type Arduino die je gebruikt. In dit geval is het een Arduino Mega 2560. | ![]() |
Klik op de knop ‘Make Arduino general’ om de Arduino Mega te programmeren. | ![]() |
Bevestig deze melding ook met ‘OK’. | ![]() |
Selecteer nu de juiste bootloader code. | ![]() |
Bevestig de melding en de Mega wordt voorzien van een nieuwe bootloader. Bevestig naderhand het rapport. | ![]() |
Selecteer nu uit het menu ‘Select ATMEL / SILABS interface’ de juiste Bootloader methode. We hebben een Arduino general interface gemaakt. We kiezen dan ook B methode ‘SILABS C2 (4w-if)’. | ![]() |
Stap 3 :: Aansluiten van de Arduino Mega aan de EMAX 12A ESC:
Nu de Arduino Mega 2560 voorzien is van een bootloader gaan we de Arduino aansluiten aan de ESC.
Stap 4 :: ESC voorzien van BLHeli firmware:
Fase II :: Configureren van instellingen
Nu we klaar zijn met het flashen van de juiste firmware kunnen we de verbonden ESC configureren. Afhankelijk van je ESC kun je bepaalde zaken wel of niet instellen. Welke instellingen je moet gebruiken is deels persoonlijk en deels afhankelijk van de mogelijkheden van de ESC. Daar gaan we in dit artikel verder niet op in. Ik toon mijn instellingen die ik gedaan heb op mijn 12A ESC’s:

Wel nog enkele tips:
- Zet in elke ESC een naam en een nummer. Daarmee identificeer je makkelijker je juiste ESC;
- Sla de config op in een ini file via het menu. Zo kun je elke ESC met deze ene ini file voorzien van dezelfde config. (Pas daarna wel de ESC ID aan en druk op save).
Dag,
Ik wilde graag mijn SimonK 12A op deze manier flashen, maar ik kom tot de stap connect en dan connect hij. Maar daarna zou ik toch op read kunnen klikken, en dan zou die de esc moeten uitlezen?
Ook zeg je in de beschrijving dat ik pin 50 en 51 moet gebruiken, maar volgens het plaatje is dat geen 50 en 51.
Ik krijg dus geen connectie met de ESC #1.
Wat doe ik verkeerd?
met vriendelijke groet,
Fandy Backers
Hallo Fandy,
Weet je zeker dat jouw SimonK ESC’s te flashen zijn met BLHeli?
Ik heb zelf heel lang lopen proberen om die ESC’s verbonden te krijgen. Ik heb heel veel verschillende pogingen gedaan. Het grootste probleem zat hem in het goed krijgen van mijn Arduino. Alle handleidingen in het EN gaan over de Arduino Nano en ik wilde het perse met een Mega doen. Het wordt hierboven heel simpel uitgelegd maar het was een enorm gedoe. Het lukte me daarom alleen via een virtuele machine. Ik heb de Arduino meerdere keren voorzien van een bootloader maar daarna lukte het niet om de flashen. De combinatie zoals hier beschreven was voor mij de juiste. Kan zijn dat voor jouw ESC’s je een andere combi nodig hebt.
Alleen connecten en op read klikken heeft geen zin. De SimonK kan niet gelezen worden met de BLHeli suite software. Je moet dus eerst flashen naar BLHeli.
Pin 50 en 51 is een goeie van je. Dat staat fout in de handleiding. Ik heb het aangepast aan wat het moet zijn. Zie het artikel.