Underwater Robot Control System


The RRX control receiver backplane board for ROVotron is based on a microcontroller. It receives serial data from the RS-485 signal pair in the tether and converts it into parallel data that are passed to the individual RSC motor driver boards. The RRX board also sends telemetry to the transmitter.

The receiver board is also the backplane for the RSC board stack. It is bolted to a pair of end plates with slots to receive the RSC cards. One end plate has large slots with mounting holes for the heat sinks, while the other has small slots for the RSC card edge. A bottom plate ties the end plates together and provides a mounting surface to the ROV electronics enclosure as well as a heat path to the water.

The RRX receiver board has the following items on it:

The board has the following connectors:

Refer to the schematics Receiver page 1 and Receiver page 2 to follow along with the text below.


The tether has two cables, power and signal. The power cable carries 48V to the ROV over 16 AWG speaker cable. The signal cable carries four balanced pairs, one bidirectional serial data, 48V power and and two analog uplinks, over a Cat 5e Ethernet cable.

The microcontroller's USART is used to pass serial data to/from the tether. The electrical protocol is RS-485. The ROV end is in receive mode by default. When a reply is to be sent, the transmitter driver is enabled, the string is sent, and the driver is disabled again. The data format is described in the Software document.

The tether has a fused 48V power output to the transmitter box. This is done to eliminate ground loops that would occur if the transmitter was powered from the battery box directly.

The tether has two analog signal pairs for audio, video or whatever is needed. The two pairs have identical electrical characteristics, so they may be used for a stereo vision suystem. The input voltage range is -2.5 to +2.5V. The video bandwidth is over 10 MHz. DC coupling is used. The DC offset at the receiving end is <10mV.

Each analog pair has a single-ended to balanced driver IC, the AD8131. The common-mode voltage is connected to 0V, and the driver has -5V provided by a LM2663M charge pump.

The analog lines are source series-terminated with 0.1% 49.9 ohm resistors to maintain optimal balance for ultimate noise rejection.

PWM Timing

There is a timing signal to synchronize the PWM generators. This signal has a frequency twice that of the PWM period of 31.5 kHz. It is used to alternately enable different PWM circuits, so that four motors share one PWM period without overlapping their ON times.

A PWM clock provides the CPLD with its timing source. It is 16.384 MHz which divides evenly down to TV line rate of 15750 Hz. (We all know that the NTSC line rate is really 15734 Hz, but the 60 Hz power line frequency matches 15750 Hz.)

PWM pulse rate is 2 * 15750 Hz or 31.5 kHz to synchronize with video

Four sectors per PWM pulse period

128 PWM clocks plus 2 dead clocks per PWM sector

31500 Hz * 4 * 130 = 16.38 MHz ~= 16.384 MHz


There is a power-on reset chip that also will reset the system if the processor doesn't twiddle the watchdog line in 1.6 seconds, indicating that the code has crashed.

The code will enter a "safe mode" if no command message is received within a timeout period of 0.5 seconds. The safe mode is exited upon receipt of a command message. Safe mode turns off power to all motors and deactivates all switches.


The power circuit is a buck converter to 12V and a linear regulator to 5V.

The 48V power from the battery is sent back up the signal tether cable to power the transmitter. This is done to eliminate the potential ground loop between the transmitter and receiver that would exist if the 48V supply powered the transmitter then the ROV.

LEDs and Video Camera

The four 3 Watt camera LEDs are powered from a special-purpose buck converter from 48V. This device creates a constant current of 750mA to feed a series string of up to 8 LEDs. It is always powered on.

The LED string and the video camera are connected to the backplane by a 7-pin Molex connector. A standard surveillance camera is used. The camera video signal is NTSC analog video. The audio is standard line-level (1V level). The camera power is 12VDC.

The pinout is:



The servo outputs provide PWM pulses and 5V power to up to four standard 3-pin R/C servos.

The pinout for each servo is:


Analog inputs

The board has three 4-pin headers to connect up to six analog inputs. Each four-pin connector accepts two input signals and provides 5V power to operate sensors.

CAUTION: Do not drive the analog inputs with a voltage higher than 3.3V

The software that operates the motors can be programmed to respect a limit control input for each motor direction; each limit may be programmed to be active when high (>2V) or low(<0.8V).

The pinout for each analog input pair is:

3Input 1
4Input 2


The motor controller boards plug into a backplane to eliminate signal and power wires. The board connector is a Samtec PCT2 right-angle header, with a PST2 socket on the backplane. These connectors feature four 0.2" pitch 15 amp power pins and 26 2mm pitch signal pins. The pinout is:


Load\ is a decoded board select pulse that loads the channel and data registers and initiates action. There is one Load\ signal per RSC board, to simplify the RSC hardware.

Channel is transmitted over Data0-7 on the falling edge of Load\ and have a 0 ns setup time and 200 ns hold time requirement. Channel bit 0 selects one of two motor channels or switches. Channel bit 7 is 0 for motors or 1 for switches.

Data0-7 are valid on the rising edge of Load\ and have a 0 ns setup time and 200 ns hold time requirement. The RSC board reads the data at that time and begins generating PWM pulses or switching the switches accordingly.

For the motors, Data0-7 indicate motor speed: 0x00 is full reverse, 0x80 is stopped, and 0xff is full forward. For the switches, an active output is specified by data equal to ASCII 'A,' while any other combination of bits sets the output to inactive.

Reset\ disables the motor drivers and the digital outputs. It's a safety feature. Reset is active for 100 millseconds on powerup, or if communication with the host is lost for a second or more via the watchdog timer.

Clk is a 16.384 MHz clock for PWM generation.

Phase is for interleaving the PWM pulses into four phases to minimize power line noise. It is a square wave of 130 clock cycles on, 130 clock cycles off. There are a total of four PWM phases used. The RSC operates each PWM channel on alternate instances of Phase active.

Slot specifies whether to operate on the high or low state of Phase. This way, each PWM output is on for 1/4 of the total time, giving the 25% duty cycle needed for a 12V motor on a 48V supply. Slot is grounded in every other slot. A pullup resistor on the RSC completes the circuit.