Flashing Turnigy Plush 18A SiLabs ESC with BLHeli Firmware
March 7, 2013 7 Comments
According to many multirotor flyers, BLHeli firmware for SiLabs based ESCs gives better control, more responsive handling, and better motor control over stock firmware. This is the process I used to flash the firmware of my Turnigy Plush 18A ESCs.
In case any of my links expire, here is a link to the BLHeli Master Folder
First, you’ll need an SiLabs Toolstick. I bought mine here: SiLabs Toolstick at Mouser
You’ll need to solder some wires to the toolstick in order to connect it to your ESC. The connections are covered in this document or see my pictures below.
Next, find your ESC in this document. Solder connections at the indicated spots. I used Servo connectors so that I had an easy connector to the Toolstick. I used a servo extension cable to solder onto the Toolstick. This way, the toolstick has a male end and the ESC has a female end.
Now that you have connectors on the Toolstick and the ESC, install SiLabs Flash Utility. Once installed, plug in your toolstick and fire up the Flash Utility. When open, go to the “Connect/Disconnect” tab and select your USB Debug Adapter. Power up your ESC and connect the toolstick to it. Next, click Connect.
You should see your device detected. If there is a prompt to update your toolstick, go ahead and click OK.
Click on the “Download Hex File/Go/Stop” tab and then browse to the hex file for your ESC. For this, I used Turnigy Plush 18A version 10 Multi. If this is for a multirotor, use the Multi version. Check the box for “Erase all Code Space before download”.
Once the hex file is selected, click on Download.
Click OK and the flash completes.
BLHeli is now on your ESC. Go back to the “Connect/Disconnect” tab and click Disconnect. Connect the toolstick to the next ESC and repeat the process for each ESC.
Once all your ESCs are programmed, You’ll need to calibrate the throttle. I use a KK2 board to control my tricopter, so I power up my copter/KK2 and instantly hold button 1 and 4. The screen will say “throttle passthrough” if successful. This will pass the throttle to all the output channels so the ESCs will all calibrate to the same throttle. Put your transmitter to full throttle until the ESCs make a few low to high tones. When high throttle is set, you’ll hear a few low to high tones, then it will then do a series of double beeps. Move the throttle to the lowest position. Once the ESCs beep high to low a few times, the throttle range is calibrated. Page 4 of this document covers this procedure or see the following picture.
If you want to adjust any settings manually, you can use BLHeli Setup to adjust settings, save settings, or load settings to your ESCs.
*Note – After flashing my ESCs, all motors spun the wrong way so I had to reverse a couple wires on each motor. Not sure why this is, and you can reverse the rotation using BLHeli Setup, but swapping the wires was easy enough for me.
So far, I notice that the stability of the tricopter is somewhat improved. I notice more that the motors are quieter and seem to run smoother. I’ll have more test data tomorrow once I get it in the air.