Home        Store        Docs        Blog

New to ROV Bluerobotics

(Ben) #1

Hello, I am a senior in mechanical engineering and a senior design project we have chosen to design a ROV with a camera mount which allows for the recording of a swimmers performance. First questions, when deciding on how to control the ROV (vertical and horizontal axis0), I am a bit confused on how to communicate the ESC to the microcontroller. My desire is to have the motors speed controllable my the operator via joysticks.

(Jacob) #2

The ESC varies the power to the motors based on a signal pulse from the microcontroller. The length of the pulse dictates the power sent to the motor. In the case of the BlueRobotics ESCs, a 1100 microsecond pulse is full reverse, a 1500 microsecond pulse is stopped, and a 1900 microsecond pulse is full forward. The Servo library for Arduino has a writeMicroseconds(int microseconds) function that will allow you to send these signals to the esc from an Arduino. I would suggest looking through some RC forums about how to control an esc, what pwm is and how to control servos (controlled the same way as esc).


(Ben) #3

Thanks Jacob, will take the advice. digging through some RC blogs as we speak.

(Richard) #4


Here is a simple joystick program I use with my Arduino controlled ROV:




(Ben) #5

What I have found: I am able to control the analog output from a potentiometer, joystick, switch, etc. to change the PWM output to the ESC which in return controls the RPM of the motor. I will be seeking the approach of controlling the thrusters with a joystick or a potentiometer.

(John) #6

Hello all,

I’m attaching a block diagram of my wiring concept and would appreciate some commentary…

John (aka Tribuilder


(John) #7

Hello all,

Also attaching thruster config … to make mixing more quadcopter-like and to increase vertical lift power to 4 thrusters…

John (aka Tribuilder


(John) #8

Hi all,

I’m attaching the conceptual topside equipment diagram for my approach…

This approach can be used without the topside PC or laptop once the APM/PX4 parms have been tuned… the arming logic code may be a small issue…and to use Jacob’s software, there may be more? I would like depth holding and heading holding features…


(Rusty) #9


That’s a clever use of the RS422 driver to send the PPM signal. I think that would work pretty well. The arming logic is an issue but could be resolved in the code pretty easily I think.

You can use the normal mode switch to activate depth hold.


(John) #10


I see that the 10$ spark fun RS485 breakout board gives direct pin access to the differential line driver and the differential line receiver and is cooperable at 5 vdc…

So I will try a pair of those to test the idea.