ESC

This article is an archive from 2019

Archive: Flashing BLHeli S ESCs to work bidirectional

E/Xplorer uses brushless motors, which require ESCs (Electronic Speed Controllers). Most ESCs are designed for aerial applications such as drones and RC aircraft, where the motor only needs to rotate in one direction—aircraft don't need to fly in reverse. Fortunately, there are some reasonably priced ESCs that also allow reverse rotation. For the E/Xplorer AUV, we use BLHeli-type ESCs, which are the most widespread, affordable, and super reliable. This article is a short guide on how to flash them for so-called bidirectional operation.

What we need:

  1. Windows computer
  2. Arduino UNO, NANO, MEGA are best.
  3. BlHeli_S type ESC
  4. USB cable
  5. wires 2x
  6. LiPo Battery
  7. BlHeli Suite Software

As mentioned, you will not need a USB linker to interface your computer with the ESC. If you don't already own one, don't buy it—we're going to make our own using an ordinary Arduino.

1. Install BLHeli Suite

For a long time, BLHeli Suite was available only for Windows computers. So I managed to get an old Windows notebook for the job. Versions for MacOS and Linux—my favorite operating systems—did appear, but unfortunately I couldn't get them to run on my Ubuntu Desktop 18 and MacOS El Capitan in the early releases. I will try them again in the future and see if I make progress. Therefore, this guide shows the Windows setup.

https://blhelisuite.wordpress.com/ - No longer available

For the S-type ESCs suggested here, which do not have a 32-bit architecture, choose BLHeli_Suite, not BLHeli_32. Unzip the file and run the .exe.

explorer

2. Install Arduino IDE

If you have not already installed the Arduino IDE, do it. It will help activate needed ports without a headache.

3. Make Arduino Bootloader

First of all we need an interface. Connect Arduino Uno or Nano to the computer via USB cable. Start BLHeliSuite software and navigate to the "Make interface" tab:

explorer

Choose Arduino 4way-interface

explorer

After the flash you should see this.

4. Connect ESC with Arduino and computer

For ESC 1 (single) connect the signal wire of the ESC with digital pin 11 on Arduino UNO / NANO. Ground to ground. ESC must be powered by a LiPo battery.

5. Choose the right driver

explorer

Choose the D-marked item from the dropdown menu - SILABS BLHeli Bootloader (4way-if)

6. Connect the ESC and get ESC settings

explorer

Choose the right (available) COM port (usually the same as you use with Arduino IDE) and click the CONNECT button. If the ESC becomes connected, click READ SETUP.

7. Set up settings for flashing ESC

In MOTOR DIRECTION choose BIDIRECTIONAL. You can change whatever other settings you want, but if you change the range of throttle for example, you should address it in the settings of the Arduino Dolphin sketches then.

8. Flash ESC

explorer

Flash ESC preferably with the Write setup button. This way the ESC's setup will be readable next time when you load settings again. You can flash it without writing settings by clicking Flash BLHeli as well. In the pop-up dialog choose what best suits you (and you have drivers for). I use the default settings which are shown in the image.

explorer

You should see this and when you click OK, you should see and click YES here:

explorer

Links:

BlHeli at Github | https://github.com/bitdump/BLHeli/

BlHeli_32 configurator for MAC OS | BETA | Not tested by me | https://github.com/bitdump/BLHeli/files/3065289/BLHeliSuite32xLinux64_Beta_0903.zip

BlHeli_32 configurator for LINUX | Not tested by me | https://github.com/bitdump/BLHeli/files/3065289/BLHeliSuite32xLinux64_Beta_0903.zip

Tutorials I followed without success, but still contain useful information.

HOW TO FLASH BLHELI_S ESC FIRMWARE | https://oscarliang.com/flash-blheli-s-esc-firmware-fc-pass-through/