Flashing BLHeli to Emax 20A ESC… by David HK November 2016

Flashing BLHeli to Emax 20A ESC… by David HK November 2016


4 months ago I bought these Emax 20A ESCs (together with a Naze32 Rev6) as a replacement for the fried AIO FC board in my Emax Nighthawk 280 Pro. I only realized after I received them that these ESCs are too heavy and too big for a race quad, but I am going to make good use of them anyway.  Hence this flashing BLHeli.  I having heard how good BLHeli will do to your ESCs, so now I decided to flash the latest BLHeli firmware.

I bought this cheap & cheerful Arduino Nano from Banggood,



First I need to make the Nano into a BLHeli flasher adapter, by using the same BLHeli UI (you can download everything to do with BLHeli from here https://blhelisuite.wordpress.com/, which is a zip file, you just unzip it into a folder, no need to do any windows installation).

Steps:
1.       Connect the Nano into your windows PC, wait until the USB driver is auto installed, then in your Computer Property->Device Manager, under the port, there will be a new port called USB-SERIAL.


2.       Now open up the BLHeli UI, at the bottom of the screen, the Port field will auto select the same SUB-SERIAL port as you need in the device manager.  If not, manually select it.
3.       in the BLHeli UI, at the top click the Make Interfaces tab
4.       in the right column, it should auto selected ‘Nano w/ ATmega328’ board, and 57600 Baud rate, if not, select them manually.
5.       Now further down in the same column, click the last button called ‘Arduino 4way-interface’ to start programming your Nano into a BLHeli flasher.



6.       A reconfirm screen pops up, click OK
  
7.       A Hex file selection screen pops up, select the 4wArduino_Nano_16_PD3PD2v16400.hex file, and click open.



8.       A reconfirm screen pops up, click ok
9.       A flashing screen pops up, with writing and lots of trace messages, wait until it says “done. Thank You”




Now you’ve a BLHeli flasher adapter ready to flash your ESCs…

According to the ‘BLHeli supported SiLabs ESCs.pdf’ under the Manual folder in the downloaded zip, for the Emax 20A ESC, I need to get access to these 3 pins, marked in black, red and white.

Also note that the 1-wire BLHeli interface via cleanflight/betaflight will not work even after you flashed the ESC per this blog, unless you also remove the 2 resistors as circled in blue in below. 


These 3 pins (in fact there are 4 pins in a row, but we are only using 3 of them for flashing) are at the back of the ESC, where you can see some lumps created by diodes or resistors components at the bottom edge of the ESC, the 3 pins are just above the middle large lump.  


So I used a cutting knife to start drawing a line ~4mm above the large lump, and used the knife as a saw to start sawing for an inch of opening, be careful and take it gently not to break any circuitry until the knife has cut through the original heat shrink which is quite thick.  Once you have an opening, you can use a scissor to create a small opening window of around 1” x 0.5”, like below.


On the Nano, the black, white and red pins (note that the white/red pins are in swapped position as in the ESC) are GND, D2, & D3 respectively.



I used three servo wires (black, brown and red) to connect to the Nano pins, this is straight forward.  

As for the ESC pins, one can solder the 3 wires, but is not easy as the pins are very close together, and whether you want to leave the 3 wires there permanently there. 

After watching this video by Remus Eserblom, URL: https://www.youtube.com/watch?v=cH-wWne3YVY
I decided to build a similar servo wire peg instead of soldering the pins, and here it is. 



Note that you may not get good contact when using the wire peg, improvement can be made by firstly scraping the pins with a cutting knife, and give a little push force when attaching the wire peg to the pins.

Now actual flashing:
1.       Start up the BLHeli UI
2.       Connected the Nano to PC, with the servo wires, connected the wire peg to the ESC pins, and connect power to the ESC (eg connect batter to the quad).  You should get red night in both the Nano and the ESC.
3.       At the bottom the BLHeli UI screen, the Port field should auto set to the COM port where the Nano is connected.  If not, manually set the correct COM port.
4.       Click Connect
5.       You may get error message that the pins signal are LOW, if so, try to readjust the wire peg, give it a little push, sometime you need to manually hold the peg in a more upright position, then retry with Disconnect then Connect.
6.       Once it is connected without error message, click Read Setup.  This will read the original firmware in the ESC. 
7.       Once read is completed, it will ask if you want to flash to the latest version of BLHeli firmware, answer Yes
8.       A list of possible Emax 20A firmware hex files are listed, select the “Emax 20A MULTI… “ hex file.  This is the firmware for multicopters setup.
9.       Once flashed successful, you will see the below screen;




I changed the below parameters (the rest I kept from default) based on Joshua Bardwell’s BLHeli – 100% Explained video (https://www.youtube.com/watch?v=0Bi1XcdpnQI):
1.       PPM Max Throttle = 1980
2.       PPM Min Throttle = 1020
3.       PPM Centre Throttle = 1500 (because this is what I see in my CF Receiver tab)
4.       Beacon Delay = Infinite (I’ve a FC buzzer that I can turned on / off, I don’t want the ESC to sound beacon to waste battery while I am looking for a lost quad)
5.       PWM Output Dither = 15
6.       Temperature Protection = off (I don’t want my quad to drop out of the sky when it is hot, if the ESC is too hot caught fire, so be it, it means the ESC is not suitable for my setup)
7.       Unchecked the ‘Programming by TX’ as I don’t want to accidentally change any setting with my radio.
8.       Note that the DampedLight is selected by default.

Now click the Write Setup, 


after write successful, there is a Write OK status.


Do the same for the other 3 ESCs…

Lasrly, in cleanflight, need to turn on the Oneshot feature, otherwise the motor will not spin!

Initial LOS test flight feedback: after flashing to the latest BLHeli (v14.8), with damped light and oneshot enabled, the quad feels more smooth and fluid, and the motors are slightly quieter.
So it's worth the efforts.

Comments