Using extra servo control to control a strafe thruster


Hi, I noticed that there’s a possibility of operating an extra servo on a 2.7. Is it possible to add an ESC and power another thruster. I need some sideways propulsion to get some steady video.

Any help appreciated, thanks again,


OpenROV adding motors
Controller Board Mod for 6 ESCs

Control wise, it will work as intended. I plugged in one of my thruster ESC connections to test.

Maybe @Walt_Holm can chime in, but I think you can install another ESC on top of the middle (vertical) one, have the motor outputs go to three of the AUX wires on the DB25 and have the control connector go to D9.

Maybe one of these modified control boards would be good for the experimental store?


Yeah, back in the spring I put together an experimental OpenROV on steroids. Heavier tube all around, bigger batteries, and a vertrans thruster configuration- there were two vertical thrusters, each mounted (IIRC) 25 degrees from vertical, that allowed for greater vertical thrust than the stock OpenROV, and a limited amount of lateral (strafing) motion. I’ll try to get some photos up on the forum today.

The vehicle came out pretty good, and was working okay until I imploded it on a deep dive at Lake Tahoe. Endcap failure at 212 meters. I’m going to make an improved version of the vehicle, with CNC endcaps, but that’s on hold until this fall.

The current controller board can handle a 4th thruster pretty well, but you’ll have to do the modification work yourself. Kevin and I are toying with a crazy scheme to mount 6 ESCs on the controller board, and do a full vectored-thrust implementation. This will take quite a bit more home surgery with the controller board.

I believe SW build 30.0.2 includes the files you need to do a 4-thruster vertrans ROV. If you want a 4th thruster for straight lateral control, you’ll need to create your own motor configuration file for that. It’s not hard if you’ve done some Arduino programming before.



Thanks for the response. I guess I am out of luck. I have absolutely no experience in programming.

Thanks anyway,


If you do end up mounting a lateral thruster, let me know and I can team up to add the software change for you


Appreciate the offer, very kind of you.
I’ll order up an extra ESC…but what do I order, and do I need a programming card? Here’s the major Australian suppliers link.

I have extra motors and props so i’ll get working on the mounting.

Thanks again,



Here are a couple of photos of the controller board that I modified for my vertrans ROV, by adding a fourth ESC.

The 4th ESC is an AFRO12, just like the other 3, and purchased from HobbyKing. You have to reprogram it to operate in forward and reverse, since from the factory it is set up to operate in forwards only.

The 4th ESC is mounted on top of the middle one, and the power wires (red and black) go into the spare pads located by the power pads for the center ESC. The outputs of the ESC go to the DB-25 pins TP23-TP25, but note that they are soldered directly to the DB-25 connector- the test point pads on the controller board cannot handle the current of an ESC. Here’s a picture of how I route the ESC output wiring:

I carefully enlarged some of the spare output pads with a drill, making sure that I didn’t short any board layers, and that the drill shavings didn’t short anything out. The ESC output wires go down through these holes, and connect to the appropriate leads directly on the DB-25 connector.

The fourth ESC is plugged into the servo connector marked D9. The OpenROV software now has a plugin for vertrans ROVs with a fourth ESC connected to D9.

With 3 spare wires left (TP20-TP22), I installed wiring for 2 sets of external lights. TP21 and TP22 were routed to PWM3- and PWM4-, to give PWM control of the 2 sets of lights. Ordinarily you would finish wiring the lights to PWM3+ and PWM4+, whose jumpers would be set up to provide battery voltage. In this case, both sets of external lights can draw off the same (+) battery voltage applied to TP20. But the traces and jumpers associated with the PWM channels are designed for 2A maximum, and two sets of lights could draw more than that. So I ran the wire from TP20 over to the polyfuse at the input of the 5V supply- this was an easy place to tap into a bus that had high-current battery voltage available.

Hope these ideas are useful for folks.



That’s a big help!
The thruster is mounted and my extra ESC just arrived, so I’ll get on that right away. Only thing left will be the programming.

Thanks again Walt and Brian, really appreciate it!




Any thoughts of something like this as a new/modified beefed up /customised board over at the Experimental Store?


Hi Walt and everyone,

Thanks very much for the insight into fitting the additional ESC. It was very useful, I’ve been looking to do this method and hadn’t picked up on the need to connect directly to the DB25 connector.


Hi Walt,
I finally wired the 4th ESC, I supplied it with DC from the 3rd ESC pads. I soldered the outputs from the TP-23-25 with jumpers so they wouldn’t impact the traces. I haven’t programmed anything yet, but I have encountered a few problems when I powered it up. Fully charged batteries.

  • the ROV beeps every few seconds.
  • if I disable the ESC no beeping.
  • the 4th ESC is not lit up, even if I plug the servo input to D9. I have tested input power, best I can tell it’s getting power.

Was wondering if its beeping because it can not provide enough power from the ESC 20a boundary? Any other ideas?

Thanks again,


Hi Owen:

It’s probably beeping because it’s not getting a valid servo signal on its input. If you want to check the behavior of the new ESC, plug it into one of the servo slots that’s already in use by one of the three existing ESCs, and then see whether it lights up and beeps properly.



Thanks for the quick reply Walt, I did plug it into the servo slot that controls the camera angle, I’ll change it to one that controls a thruster and see if that works.

I replaced the 3rd ESC with the new one and no lights…no action. Looks like I have defective ESC.

Thanks again,


While it might be a bad esc, it is also possible…

The ESCs need to be reprogrammed for our controller board. If you leave the new esc plugged in to one of the existing motor servo ports you can manually run the reprogram code.

ssh on to the ROV
Cd /opt/openrov/cockpit/Linux
sudo bash

The is not the right filename, but you can list the files in the folder with the ‘ls’ command. I am on my mobile right now so I am doing this be memory…

Using Afro 12A ESC to get reverse direction rotation of motor

Thanks for the reply.
I would love to say I know what you describing and how to deal with it, but unfortunately you are speaking another language. I have been trying to educate myself with the terminology and the procedures but it’s looking like this old man is a bit behind in that department.



Hi Owen:

If you buy an AFRO ESC from HobbyKing, it has to be reprogrammed to operate in forwards/reverse- the unit from the factory only goes forwards. If you haven’t done this step, the ESC will probably not arm properly in the ROV, since the stock ESC arms with a ~1 msec pulse width, and the reprogrammed one for the ROVs arms with a ~1.5 msec pulse width. So this might explain why nothing is happening.

You can reprogram the ESC before installation using the tool that is sold by Hobbyking, or, after installation, you can run the script that is in the OpenROV software.

Bottom line question: have you reprogrammed the 4th ESC that you mounted?



@BlueRoamer I’m a little hazy on the SSH procedures as well, so I ordered an Afro ESC Programming tool and I’m going to try it via the procedures @badevguru made up in his guide:


Hi Walt,
Sorry for the delay in response. I have been on a bit of a holiday. Back into it now though…
To answer, no I didn’t program the ESC, I just soldered it in.
After looking through all the links and suggestions I’m no further ahead. The flashing/SSH/MCU is all way over my head. I think I would have to go back to school for a bit to make any sense of it. I am going to try to find someone closer to home that can sit at my computer with the ROV and just get it done.

Thanks for all the help, really appreciated,



You guys must be giggling…
I have called on my computer buddies but no one knows anything about programming. I have spent another 2 hours trying to understand how this bloody thing works. Am I safe to say that you download the program/files on to a micro SD card then pop it in the board in the ROV and fire it up?

Thanks again,



You can think of SSH as just a way to run commands on the beaglebone, the stuff you type in gets sent to the beaglebone and its output is sent back to the terminal program. If you are running a windows computer, an easy way to do this is with a program called putty.

  1. Download and install Putty ( on your computer.
  2. Plug the new ESC into one of the existing motor servo ports
  3. Power up the ROV and make sure that you can connect to the dashboard
  4. Open up putty and create a new session:
    Set Host Name to
    Set Saved Session to OpenROV
    Click Save button
  5. You can now open up a terminal session with the beaglebone/ROV by double clicking on the OpenROV session in the list, you shoud see a black terminal window appear. It may take a few seconds but it will then ask for a username, then a password
    Enter rov as the username and OpenROV as the password
  6. Once you are logged in some information will be dislayed and you will get a prompt something like:
  7. In here type the following commands into putty:
    cd /opt/openrov/cockpit/linux (this command changes to the directory where scripts are kept on the BB)
    sudo bash (this will ask you for a password, use OpenROV again)
  8. Wait for it to do its thing, when it is finished you should see the prompt again
  9. Close the putty window (and click ok to close the session)

Using openrov system for other kind of ROVer/drone