Home        Store        Docs        Blog

Adding New Controls to the BlueROV2


We’re a small college student team working on adding additional hardware that will be controlled by the ROV.

What are some recommended ways for us to add additional controls to the ROV? (These custom commands would control hardware we added to the ROV).

We’ve considered flashing the Pixhawk with new controls, but we’re currently still figuring out how to do that without screwing up the initial configuration. We’ve also thought about either using the existing Raspberry Pi or adding an Arduino.

What all of you recommend? (Feel free to ask questions, this is the first time I’ve used this forum).

1 Like

You can use an SSC32U servo controller to control servos and lights via an I2C connection to the Raspberry Pi in the ROV. I only use the pixhawk as a ‘flight’ controller to control the thrusters. Fill your servos with mineral oil to keep the water out, and coat cheap led lights with epoxy resin to waterproof them, no need for a housing.
Mount your leds as far from your camera as possible to prevent backscatter/reflection from particulate matter which would reduce visibility. I use servos to pull bicycle cables to pan/tilt my leds as my camera pans/tilts, so the lights are always pointing where the camera is pointing.

For a great interface topside, you can use an arduino to build your own joystick or control console. https://github.com/MMjoy/mmjoy_en/wiki

3D printable joystick grip

Through-hole 5-way switch

Components & switches
Micro analog joystick

Hey Darrell,

I’m also a part of a college team currently working with the BlueROV, would you be able to elaborate a little more on how you’re able to link the raspberry pi with the arduino? Do you have examples / direction you could give me for the code used to control the arduino?

We need to be able to control several (2 - 6, not sure yet) additional relays that we are adding on to the BlueROV; preferably we’d like to be able to switch these relays on/off using the qgroundcontrol software, would this be possible using the raspberry pi or the pixhawk, or would we need a separate program running on the raspberry pi that we have a separate controller and interface for?