My ROV for college project



I am building an ROV for my graded unit at college.

The specs/features I would like on the ROV are;

29m tether
Raspberry Pi Noir infra red control camera to surface
Dazzne P3 HD action cam
3 Rule bilge pumps with props
Laptop displaying video feed from Pi Noir
Homemade lithium ion battery pack
Depth indicator
Adafruit 3 axis accelerometer
110mm soil pipe with screw in cap for electrical items
Relay system for controlling
Laptop running the PI through SSH

I started this project years ago, but didn,t understand much about electricity so it went in the loft. Now i,m studying a degree in electrical engineering and I would like to finish this as my project. The ROV will be used to explore flooded mine workings, this will be used for my hobby (mine exploring).

I have lots of questions to ask, mainly regarding the drive system.

The Pi NOir has its own IR lights built in, I was thinking of also fitting a seperate IR light from a security light to provide additional light whilst underground, would this help visibility?

Thats all the questions I have… for now :sunglasses:

Any info greatly appreciated!



IR will not help visibility as it is absorbed quite rapidly by water. The external lights in the OpenROV store have a colour temperature of 4000K which will be much more useful in illuminating a dark environment. You will also get a lot of glare from the lights mounted close to your camera.

Here are some threads on this subject, I hope it helps:

Good luck with your build :slight_smile:


Hi Brendan, thanks for your reply! I,ll read up on the lights. At the moment I just need it to function electrically for my graded unit at college. I would like to have the ROV built by the end of the month, leaving time to write code to get the Pi working with all the sensors.



Small update on my ROV.

Plans to use the Pi are out the window, I just don,t have time to learn/write loads of code, so I opted for a BBB with an OpenROV 2.7 controller board and an OpenROV depth sensor. this will make my life much easier!

I have added vertical supports to the frame so I can mount the thrusters
Machined some prop adapters to fit 4mm props to my bilge pump motors
Added skids, which have M12 threaded rod inside. I will use washers to adjust buoyancy
Added the grill to mount the relay box and vertical thruster
Started soldering the relays

Still a long way to go, but only 6 weeks until the ROV needs to be complete, and all faults ironed out. Seems like a long time, but I still have 5 other subjects to study and write reports for.

I have decided to use the Logitech C920 camera as it seems popular on here. I might try to remove the speakers from it to get it closer to the window of the ROV camera enclosure. Has anyone done this before?

Jobs left to do include;

Get the OpenROV software working with the camera, sensor and laptop
Build the tether
Spray frame and enclosure again
Sort out weights for the skids
Build a battery for it from 18650 cells
Buy camera
Solder relays
Buy and solder connections to an 8 way joystick
Mount the nozzles to the thrusters

Here are some pics!








@mdavthorn Looking good!

Regarding the Logitech C920, I’ve used it before with good results and is very much “plug and play” with the OpenROV Setup. Here’s one of my test videos with the C920:

A few notes:

  1. I have since moved on to the Logitech C930e to give me a wider field of view. 90 degrees over 78 degrees on C920.
  2. You can remove the base (directions around the internet for disassembly), but you will have to keep the outer case with the speakers on. There is a weird watermark I have observed when you use the naked camera. Save yourself the money and just keep the case on.
  3. You will have an autofocus that you can’t disable right now. It’s not a huge issue to me because I like the tradeoff of the faster frame rates over the F100.


Quick update.

I turned down some nylon on a lathe to make the props sit better in the nozzles. The thrusters are now fitted to the frame.

I have been ordering lots of parts for the build, such as rope for the tether, cat6, logitec c920, joystick, another light and some epoxy for the sensor.

I still have a fair bit to do, but at least I have most of the parts now.

I shall be messing about with the BBB and controller board, trying to get them to work with the camera and sensor.



Quick update.

I built a 12V power supply to test the ROV and got communication between the ROV and my laptop.

I read that the IMU depth sensor would require a firmware update, so I followed the instructions from this site.

I got the image onto the card and everything went fine until I tried to upload the firmware to the BBB using the ROV cockpit.

I,ve tried a few times but keep getting the following error. Can anyone help with this please?


undefinedstaging: build dir is /tmp/tmp.90QxYVZgbc
staged src in to build folder

staging plugins
mv: cannot stat ‘/tmp/tmp.90QxYVZgbc/src/Device.cpp’: No such file or directory
sed: can’t read /tmp/tmp.90QxYVZgbc/src/Device.cpp.template: No such file or directory
rm: cannot remove ‘/tmp/tmp.90QxYVZgbc/src/Device.cpp.template’: No such file or directory
Searching for Arduino lib version file (version.txt) … /usr/share/arduino/lib/version.txt
Detecting Arduino software version … 1.0.5 (1.0.5)
Scanning dependencies of src
Scanning dependencies of arduino
Scanning dependencies of EEPROM
Scanning dependencies of SPI
src/CControllerBoard.cpp:29:18: error: ‘A8’ was not declared in this scope
int temppin = A8;
.build/uno/Makefile:296: recipe for target ‘.build/uno/src/CControllerBoard.o’ failed
make: *** [.build/uno/src/CControllerBoard.o] Error 1
Searching for Board description file (boards.txt) … /usr/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) … /usr/share/arduino/lib/version.txt
Detecting Arduino software version … 1.0.5 (1.0.5)
Searching for Arduino core library … /usr/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino variants directory … /usr/share/arduino/hardware/arduino/variants
Searching for Arduino standard libraries … /usr/share/arduino/libraries
Searching for make … /usr/share/arduino/hardware/tools/avr/bin/make
Searching for avr-gcc … /usr/share/arduino/hardware/tools/avr/bin/avr-gcc
Searching for avr-g++ … /usr/share/arduino/hardware/tools/avr/bin/avr-g++
Searching for avr-ar … /usr/share/arduino/hardware/tools/avr/bin/avr-ar
Searching for avr-objcopy … /usr/share/arduino/hardware/tools/avr/bin/avr-objcopy
Make failed with code 2 : Compile of the Arduino image failed. Building Firmware Failed! Aborting


The error you are seeing means the BBB does not recognize the controller board.

As we talked about in a PM conversation, did you burn the bootloader onto the controller board (in order to set the fuses on the chips and configure everything)? Since the board you have does not have ESCs and did not go through the testing process, you need to manually do this.

SSH in and run the script:

sudo bash /opt/openrov/cockpit/linux/

Once this is done, the firmware upload should work.

Good luck and let us know how it goes.


Hey Brian! I wasn,t sure of which order to do it in. I,ll give it a go in the morning and let you know how I get on!



The bootloader should go on first, then the firmware. Let us know how it goes.


how did he get that controller board?