External USB compass (preferably with GPS)


We are building a ROV based much on Blue robotics components, but stumbled into a problem with the compasses used on navigator.
We have limited space and are dependent on having a large power supply near the computer.
The power generates too much magnetic activity to be able to use the onboard compasses.
We have also stuffed the navigator with tree Ping sonars, and some other equipment making an alternative USB compass the best choice (We have one extra USB availably on the RPI).

Are there any external compasses that are tested and proven to work with the BlueOS?
If a GPS and compass can be combined wit a USB interface it would be best, since we until now have skipped the GPS also, in order to fit all the equipment we need.

Hans Petter

Hi Hans -
Is the GPS you seek to be used when the ROV is at the surface? Cerulean sonar has this unit, but it does not include an IMU (inertial measurement unit aka. compass.) It would give you course over ground if moving, but not much help when stationary.

As for using an external USB motion sensor … while you may be able to find these on Amazon or Tindie, getting them integrated into Ardusub may require customizing and compiling your own version to support the hardware. This is a tricky and involved process, and you don’t have the guarantee that it will eliminate your interference issue!

Therefore, I’d strongly recommend seeing what you can do in your design to avoid any wires carrying high currents from passing close the Pixhawk or Navigator you may be using.

It sounds like you have quite an interesting project! Remember that when using multiple ping sonars, you will need to time their pulses so they don’t interfere with each other. Good luck!

Yes the project is very interesting, and fun to do work on :slight_smile:

We will use GPS to get position whenever the sub is at surface, and track it with Gyro in between the surface GPS inputs.
We will also attach a 3D scanner camera to generate 3DModel while moving along surfaces.
With the input from all tree in live feed We hope we will end up with a autonomous robot, or at least a robot that is easy to navigate and use for an operator.
Since GPS is not a vital part of the navigation we have skipped it in the first prototype, but we will introduce it later if needed.

Maybe the easiest way to solve this is to remove the compass from the board and make a custom daughter board with the sensor.
I think i will be able to lengthen the I2C up to about 1 meter without timing issues…but if i can swap to a USB compass espesially if i can add GPS at the same time, it would be better.

Does anyone know if there are seperate I2C buses between the sensors on board and external sensors? If i can connect it to one of the I2C connectors its pretty easy to move it.
(It might be an SPI sensor…i have not checked)

Hans Petter

Hi Hans!
I think you will struggle to route an I2C signal in a noisy environment an entire meter! Maybe if you used some differential signal I2C extenders?

This DVL has an external IMU, and may provide much of the navigation you need?