Starting new ROV model


Hello Everyone, I’m new to the forum, and also new for this project stuff, as I’m an Electronics Technician and ROV Pilot, but had never projected anything.

I’m trying to idealize a ROV, viewing some prices and things I’ll need to buy. My primary project is to design a low cost ROV. I have already designed the housing and how I think it will look, but haven’t tested buoyancy as I’m in the “buying things” proccess, but I think I can master it. The point I think I will struggle is the controlling part, I’m seing Arduino as a good starting point for this kind of programming and I think it can be cost effective for my region prices, but I still don’t know how to do these things and I have much to learn before doing any controlling and telemetry tests. Anyway I’ll try to keep updating this topic as I make progress.
Sorry for any mistake on the english, I’m from Brazil

Thanks, I’m open for suggestions


Control over any robotics design is always the hardest part. I have done a lot of research into ready-built ROV control systems and there are only two I know currently on the market

  1. X3 Control This product was made by a guy in Germany, however his website now seems to be defunct and I haven’t seen any updates.

  2. The OpenROV control board with the BeagleBone Black. OpenROV dev kit. Honestly, I think this would be the place to start understanding the programming and Arduino side of ROV programming.


My idea for a way to make a low cost ROV is to use either a raspberry pi or a beaglebone black with an i2c controlled pwm hat/shield like adafruit’s to control servos and brushless motors. I am looking into adapting the OpenROV program to work with this configuration but will have to have someone else do the coding because of my lack of coding skills using nodes.js and or i2c.


I wrote some Arduino code that accepts serial input from a Beaglebone Black (BBB), and provides PWM control via an Adafruit motorshield. It really isn’t that complicated–but I haven’t developed the BBB end much yet, so that could get quite a bit more complicated. Anytime you have to deal with a full OS, things can get more complicated…compared to simply flashing some .hex code into an MCU via a bootloader.

I think I’ve decided to put my development on hold though, and go ahead and purchase an OpenROV kit. All my work thus far has been in C++ and I plan to continue using that language, as I am most comfortable with the C-family of languages. However the nice thing about the OpenROV product is that it has grown over the years, and is much more mature than anything I could develop at this point. So I figure I may as well get to know what I don’t know, and then work smart!