I like using Afro ESCs for my DIY multirotor projects because they are inexpensive and for me have been working well. However as of late I’ve been motivated to research other options after a second model started showing what seem to be random sync issues.
Now, the issue with my 250 combined with my discouraging earlier experience with 690Kv motors was something I could not ignore. For me it’s clear now that SimonK’s firmware, while good for many – including myself with some of my mid-sized builds, one of which made a cameo at the video above – really has issues recovering sync for motors in the “slow pancake” and “very fast” spectrum.
Of course, your experience will vary but for me, reflashing the Afro ESCs with BLHeli latest stable release has been a welcome game changer.
My 690Kv motors now spin up properly and don’t stall as they used to with SimonK. My 250 went from a fatal motor stall on average every one or three battery packs, to flying 30+ batteries with absolutely no motor stalls, even under very aggressive flying.
My advice would be then to try your ESCs with the supplied firmware – if you find any strange behavior, simply reflash them with BLHeli. The process is really very simple. Also, the GUI configuration tool is really handy and helps make the process straightforward.
While I’ve seen – as probably have you – sources claiming other almost magical improvements when switching firmwares, I have to say that besides fixing the sync / stall issues, I’ve observed no other change. Motor response seems equally crisp and fast, motor noise feels pretty much the same, power consumption is indistinguishable from one another.
Hooking Up Your Programmer
Since I have the “official” Afro ESC programmer, this is what I used. However I tend to wire my ESCs in a non-standard way, as shown below. Normally, this would be a matter of connecting the programmer to the signal/BEC output of the ESC, but in my case this is a little different because I like to remove as many ground loops as possible.
I hooked the signal wires from all the ESCs into a single 4 position connector. This ensures that the ESCs will always be connected to the right pins – note that you won’t get too far if you miswire your ESCs and this is a solid way to prevent that from ever happening. The ground and 5V leads from the ESCs were cut to reduce weight, as I don’t like to use the BECs in the ESCs.
This all works because ground is internally connected in the ESC itself, so as long as they are connected to the common ground it all works perfectly (and with no ground loops!)
The programming tool however needs ground, and this is where the brown jumper comes to play… Just connect the programmer’s ground pin to the ground rail and proceed with your programming. In this setup I used the LiPo in the quad to power the ESCs while programming them. I just needed to swap the signal leads – the yellow wires in the picture above – to one by one, reflash all my ESCs.
Tutorials About Flashing BLHeli
There’s very little to flashing BLHeli, really. Essentially just make sure your machine has the drivers to talk to the programming tool, download the BLHeli GUI flasher, connect your Afro ESC to it and accept when the flasher utility offers to reflash the ESC for you. Then make sure you choose the option for a multi-rotor.
If you want more detailed instructions, there’s a forum discussion with more step - by - step instructions and pointers to download the software. It’s worth giving it a good read or three.
Notes on Settings
The are many settings you can use to customize the response of your ESCs, however I made very minimal modifications for my 250 quad:
Disabled the Programming by TX setting, because I don’t want to change parameters accidentally in the field. BLHeli allows you to reconfigure many parameters by using simple stick sequences, which kind of make me nervous.
Set the Beep Strength and Beacon Strength to maximum values, which should help in case of a fly away.
Adjusted the Min Throttle and Max Throttle to match my custom MultiWii configuration.
I fiddled with other parameters such as Motor Timing and Demag Compensation but generally the motors were rock solid, so I opted for leaving these at their defaults.
That said, be prepared to make changes and test. Do write notes of what values you’re changing and change only one value at a time so that you can isolate the effects quickly.
Finally, it’s very likely that you’ll need to adjust your PIDs as the ESCs will respond differently to the sudden changes of throttle that your flight controller sends.