Converting BlueROV2 to AUV

Hello guys.

I am currently doing a school project that requires the conversion of the BlueROV2 into an AUV but I am very new to MavLink, DroneKit, ROS, Mavros and ArduSub and don’t know how they can be connected together and even if they are actually the libraries and frameworks that I should use to program and test an AUV. I also will be running OpenCV to know about the AUV’s surroundings.

I am using the BlueROV2 electronics kit that comes with a raspberry pi and a pixhawk and have experience in programming in languages C++ and Python as well.

Can someone direct me to a tutorial or give me a map or some sort??? I’m currently very clueless and don’t know where to start.

All help will be appreciated thanks :')

Hi @ashleykoh24, If you want to use mavros/mavlink/ardusub for your AUV, you should start here:

When I run this code in the terminal

import pymavlink

after during the installation process. It does not give me the expected return

Python MAVLink library - see

only Called is returned.

I’ve made sure pymavlink (2.2.21) is installed using pip freeze.

Should it still be working?

What do you expect to return, and where did you find this information? Perhaps the instructions you found are outdated.

I recommend to go by the instructions and GitHub - ArduPilot/pymavlink: python MAVLink interface and utilities

I expect it to return:

Python MAVLink library - see

I found it on Pymavlink · GitBook under Test Installation

Thank you @ashleykoh24. We will fix the document if necessary. Your installation is probably ok. Are you using python2 or python3? Can you please try to continue with the instructions and see if everything else is ok?

Okay I am running Python2 and will get back to you if there is any more problems with the other instructions.

Can you provide me a python script that I can run on the boot up of the RPI 3 that will allow me to arm/disarm and move the BlueRov2 without its tether? This is my current aim at this point of time and I don’t know how to achieve it.


Hello, I recommend that you continue reading the ardusub, pymavlink, and mavproxy documentation.

We have example scripts for pymavlink on that will help you to achieve your goal.

I think you should get more familiar with the system (especially failsafes) before you start arming and running motors automatically. The BlueROV2 is a powerful machine, and it could get out of your control and dangerous quickly.


Just to make sure, did you run it directly via the interactive shell or with a .py file ?
This instructions should run fine in any operating system with both python2 and 3 if you are doing a fresh install.

If you are running this command with a .py file, you should use pymavlink.__doc__ with print. print(pymavlink.__doc__).

Hello, sorry for the late reply,

I ran it in a .py file and yes it is working.

Thank you