ROV

Inspired by the original OpenRov, using a mixture of COTS1 parts, and 3D printed components, I am designing a small Class I, Observation ROV2.

A Render of Philip McGaw's ROV
A Render of Philip McGaw’s ROV

I am going to be using a Raspberry Pi, an Arduino, and RC components to build up the onboard control system. the data will be sent back to the control PC via ethernet.

Code and Project files can be found in my GitHub Repo: github.com/PhilipMcGaw/rov.

  • Using NGINX to proxy flask and camera
    In my previous posts, I have managed to get webcam feeds and Flask serving a webpage. Now I want to use NGINX (pronounced “engine x”) to bring everything together and run it all on port 80 (HTTP). I have moved the ports around for Flask and the cameras to rationalise them a bit. I have not moved Mosquitto as that service is not being proxied by the web server. Installing NGINX To get this all to work, we need to install the NGINX web server. We are going to configure it to serve the static assets directly, so that Flask… Read more: Using NGINX to proxy flask and camera
  • Camera on a Raspberry Pi
    In my post about getting Flask running as a service, I included a screenshot with a large dark area as the background. In this post, I will work on filling it with an image from a web camera, which will run on the same Raspberry Pi. I will cover the guages in a later post. The software I am using is called Motion and is available for download from the project GitHub. The two cameras I am using are: Getting Motion onto the Pi with a USB Cam SSH onto the Raspberry Pi and log in. The following are run… Read more: Camera on a Raspberry Pi
  • Running Flask as a Service
    On my ROV, I am running the Python web server Flask. I want it to start automatically when the Raspberry Pi starts. For this, I need to make it into a Service. Flask displays the following warning on startup. Stating that you should not use it in a production environment, as it is not a development server. However, since I am not doing that, I should be fine. Running a Flask Application as a Service with Systemd Linux has this thing called Systemd that manages most services for us. Systemd’s configuration files are composed of sections called ‘units’. There are… Read more: Running Flask as a Service
  • Adeept Robot HAT for Raspberry Pi
    Subsequently to the Serial interface issues, I bought an Adeept Robot HAT from Amazon. I have been keeping an eye on it for a while. The schematics and example code for the Robot Hat are available to download, which means that I can work on utilising the designs in my own hardware solutions. A basic overview of its peripherals includes: Running the Example Code for the Adeept Robot HAT The example code is available from Adeept’s repository. Since it is Python, my wife, Tamarisk, is a professional Python programmer, so I take her advice on how best to work with… Read more: Adeept Robot HAT for Raspberry Pi
  • Serial issues with the Arduino Pro Micro
    The Arduino Compatible Pro Micro and the Arduino Leonardo both use the ATmega32u4, which has built-in USB communications. While this eliminates the need for a secondary processor or UART chip, it allows the Leonardo to appear to a connected computer as a USB device, such as a mouse or keyboard, in addition to the virtual (CDC) serial/COM port. While this sounds really useful, I was having a weird issue using a Pro Micro as a serial device with my ROV hardware, where, despite explicitly stating the baud rate and being able to turn on and off outputs while manually connected… Read more: Serial issues with the Arduino Pro Micro
  • Passwordless Sudo
    At home, I have a Raspberry Pi that I use to develop my ROV and K-9 software. Raspbian seems to have passwordless sudo, meaning you don’t have to enter the user’s password to run a command as root. I share this development machine with my wife, Tamarisk. In the interest of getting some more of the code written, at the expense of having a development machine available for some of the work while I am not at home, I have installed Ubuntu Server on a VirtualBox Virtual machine. The default setup is that to run a command as ‘sudo’, you… Read more: Passwordless Sudo
  • Programming an Arduino from the command line
    As part of my K9 and ROV projects, I am using at least one Arduino to control components such as the K9’s ears. Since the Arduinos will be fixed to the robots, I will program them via the Raspberry Pi. The version of Raspbian I am running is Raspberry Pi OS Lite, which does not have a Graphical User Interface, so we will need to install the Arduino command-line tools. Configure Arduino command-line IDE After a fairly default install, you will still need to install the specific parts for working with the Arduino. So log into the Raspberry Pi Linux… Read more: Programming an Arduino from the command line
  • Setting up BlueOS for a Remote Operated Robot
    BlueOS is Blue Robotics Raspberry Pi software to control ROVs, it combines the functionality required to control robots and low-cost hardware
  • How to use 80/20 (2020 T-Slot) and other extrusions in Fusion 360
    I have started designing assembles in Fusion 360 using T-Slot, a lot of head scratching on how to make use of it at arbitrary lengths in my designs… I started by making a 20mm length of T-Slot as its own model in Fusion 360; This is model has all of its materials and properties defined, as well as dimension origins added in additional sensible locations. If you download either the T-Slot model or the 8mm stainless rod model, you can treat them them the same once they are imported. I have put together a quick video showing you how to… Read more: How to use 80/20 (2020 T-Slot) and other extrusions in Fusion 360
  • Another ROV for sale
    Over on Facebook, Ed Vergalen is looking to sell a VideoRay Pro 4 Plus BASE ROV System for £29,950. Videoray Pro 4 Blueview sonar C130 Manipulator Hull Crawler Kit Lynn enhancing package Extended Tether Deployment System (TDS). Approximately 305 m (1,000 ft) Extra 300m Neutral Tether on reel Repair kit Total of 5 Pelican cases Complete with all manuals and documentation It a complete system with 22 running hours and is in an excellent condition. Ship worldwide I think this is different to the ROV that I saw for sale last time.
  • MyOpenLab – macOS Catalina
    After my last attempt at getting MyOpenLab to work on macOS, I posted my question on the MyOpenLab Facebook group, where I was given the following response: Hello, what version of MyOpenLab, Java and OSX are you testing? You could test the most recent development version: https://myopenlab.org/…/distribution_macosx_3.12.1.zip The fail could be access permissions to the libRXTX library files or the library files version, I have found a library file that works well on MAC OSX but if the files does not work on your system try to find and replace the library files with other versions until finding the correct… Read more: MyOpenLab – macOS Catalina
  • Battery sledge for my ROV
    A beautiful print using my roll of Filamentive grey filament, this is the battery and electronics sledge for my 3d Printed ROV. I am doing my design in fusion360, and printing the parts on our Prusa MK3s. Thanks to Ravi Toor of Filamentive for getting me the filament to play with 😀
  • Assembling the battery sledge
    After the success of printing the sledge for my DIY ROV in the last post, It is now time to try and wire it up, I am using two of these Youmile 3S Battery Protection Board Modules, they claim to be capable of managing 10A, which I feel is pushing the truth somewhat, however as a BMS (Battery Management System) they should be ok, at protecting my cells from being overcharged, over-discharge and excess current being requested. I am using two banks of 21700s in a 2P3S configuration, each of the banks has its own BMS. 21700s are slightly larger… Read more: Assembling the battery sledge
  • Transparent ROV frame
    I have been working on my DIY underwater ROV (remotely operated vehicle) for a fair while. It is going to be an underwater robot, sometimes people call them remote controlled submarines. I have moved some of the development to my Professional site: In the interim, I am going to have a 6 mm Acrylic Facsimile of the HDPE frame (High Density Polyethylene) produced by my friend Bob Clough. This clear frame is made up of dimensionally identical parts, (other than 10 mm vs 6 mm thick material) the internal volume and mounting hole locations will be representative of the final… Read more: Transparent ROV frame
  • ROV Pressure Vessel end cap and feed-throughs
    In my previous two posts, Pressure Vessel and the Viewport, I talked about using the software “Under Pressure” by Deepsea to work out the performance of the Pressure Vessel tube, and the Viewport for my ROV. it’s now time to work out the performance of the end cap which holds the feed-throughs. The endcap is a simple bit of flat stock that interfaces with the flange and has several penetrations to allow the feed-throughs to carry wires from the pressure vessel to the free-flooded area. There are 10 holes sized for M10 bolts. End Cap Material Choices Since a flat… Read more: ROV Pressure Vessel end cap and feed-throughs
  • ROV Viewport Dome
    Further to my last post, where I was using “Under Pressure” by Deepsea to work out the performance of materials for the main pressure vessel of my ROV. I am going to look at the performance of the Viewport Dome. Since the viewport needs to be optically clear this discounts metals like steel or aluminium. Glass is not a material that I really like the idea of using, this leaves clear plastic. 100 mm diameter acrylic domes are available on eBay. I already have one, and it’s about 3mm thick clear acrylic. I have already drilled the 20 M4 (4.2… Read more: ROV Viewport Dome
  • Pressure Vessel
    Since the electronics on my Remote Control ROV will be underwater, they need to be isolated from the water, and the subsequent water pressure, for this I am going to use a pressure vessel. There is a commercial product the “SEAWOLF Ocean Master” that looks like it has a transparent acrylic pressure vessel. The basic design for my pressure vessel is to be a tube of about 100 mm in diameter, the length of which is determined by the length of the side pieces of my ROV, in this instance it is 400 mm. The minimum internal diameter is constrained… Read more: Pressure Vessel
  • DIY underwater ROV
    I can’t quite remember how long I have been interested in seeing what is under the water, I have been writing my thoughts about building an ROV on my old site for a while. I picked up a copy of the book, “The ROV Manual – A user guide for observation class remotely operated vehicles” by Robert D. Christ and Robert L. Wernli Sr. The book gives a lot of background about the different types of commercial ROVs, From this, it is obvious that I am going to be working on building an Observation class ROV. Since starting looking at… Read more: DIY underwater ROV
  1. Common of the Shelf
  2. These vehicles are small vehicles fitted with camera(s) and lights. They are primarily intended for pure observation, although they may be able to handle one additional sensor or a small actuator.